From 89023a59c4ee2288c21647fd76bbe0d07abe8617 Mon Sep 17 00:00:00 2001 From: skyinr <2587135207@qq.com> Date: Sun, 30 Oct 2022 18:12:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9D=E7=9F=B3=E8=83=A1=E8=90=9D=E5=8D=9C?= =?UTF-8?q?=E7=9A=84=E7=A7=8D=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tt432/kitchenkarrot/Kitchenkarrot.java | 5 --- .../kitchenkarrot/block/GemCarrotCrop.java | 26 +++++++++++++ .../tt432/kitchenkarrot/block/ModBlocks.java | 5 +++ .../kitchenkarrot/datagen/DataGenerators.java | 2 + .../loottable/ModBlockLootProvider.java | 21 +++++++++++ .../loottable/ModLootTableProvider.java | 37 +++++++++++++++++++ .../kitchenkarrot/item/ModBlockItems.java | 2 + .../tt432/kitchenkarrot/item/ModItems.java | 1 - .../assets/kitchenkarrot/lang/en_us.json | 2 +- .../assets/kitchenkarrot/lang/zh_cn.json | 4 +- 10 files changed, 96 insertions(+), 9 deletions(-) create mode 100644 src/main/java/io/github/tt432/kitchenkarrot/block/GemCarrotCrop.java create mode 100644 src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModBlockLootProvider.java create mode 100644 src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModLootTableProvider.java diff --git a/src/main/java/io/github/tt432/kitchenkarrot/Kitchenkarrot.java b/src/main/java/io/github/tt432/kitchenkarrot/Kitchenkarrot.java index 6a09bced..16b7048f 100644 --- a/src/main/java/io/github/tt432/kitchenkarrot/Kitchenkarrot.java +++ b/src/main/java/io/github/tt432/kitchenkarrot/Kitchenkarrot.java @@ -20,13 +20,8 @@ @Mod(Kitchenkarrot.MOD_ID) public class Kitchenkarrot { public static final String MOD_ID = "kitchenkarrot"; - public static boolean farmersdelightLoaded; - public static boolean neapolitanLoaded; public Kitchenkarrot() { - farmersdelightLoaded = ModList.get().isLoaded("farmersdelight"); - neapolitanLoaded = ModList.get().isLoaded("neapolitan"); - IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); ModBlocks.BLOCKS.register(bus); diff --git a/src/main/java/io/github/tt432/kitchenkarrot/block/GemCarrotCrop.java b/src/main/java/io/github/tt432/kitchenkarrot/block/GemCarrotCrop.java new file mode 100644 index 00000000..190e938f --- /dev/null +++ b/src/main/java/io/github/tt432/kitchenkarrot/block/GemCarrotCrop.java @@ -0,0 +1,26 @@ +package io.github.tt432.kitchenkarrot.block; + +import io.github.tt432.kitchenkarrot.item.ModBlockItems; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.CropBlock; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.Material; +import org.jetbrains.annotations.NotNull; + +public class GemCarrotCrop extends CropBlock { + public GemCarrotCrop() { + super(BlockBehaviour.Properties + .of(Material.PLANT) + .sound(SoundType.CROP) + .randomTicks() + .noCollission() + .instabreak()); + } + + @Override + @NotNull + protected ItemLike getBaseSeedId() { + return ModBlockItems.GEM_CARROT.get(); + } +} diff --git a/src/main/java/io/github/tt432/kitchenkarrot/block/ModBlocks.java b/src/main/java/io/github/tt432/kitchenkarrot/block/ModBlocks.java index bcd86235..0daa97d1 100644 --- a/src/main/java/io/github/tt432/kitchenkarrot/block/ModBlocks.java +++ b/src/main/java/io/github/tt432/kitchenkarrot/block/ModBlocks.java @@ -4,6 +4,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Material; @@ -13,6 +14,7 @@ import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; +import org.jetbrains.annotations.NotNull; import javax.annotation.ParametersAreNonnullByDefault; @@ -41,12 +43,14 @@ public class ModBlocks { public static final RegistryObject COASTER = BLOCKS.register("coaster", () -> new CoasterBlock(BlockBehaviour.Properties.of(Material.STONE).strength(2.0F, 2.0F))); public static final RegistryObject PLATE = BLOCKS.register("plate", () -> new PlateBlock(BlockBehaviour.Properties.of(Material.STONE).strength(2.0F, 2.0F))); + public static final RegistryObject GEM_CARROT = BLOCKS.register("gem_carrot", GemCarrotCrop::new); private static RegistryObject oil(String name) { return BLOCKS.register(name, () -> new Block(BlockBehaviour.Properties.of(Material.STONE) .noOcclusion() .strength(2.0f, 2.0f)) { @Override + @NotNull @SuppressWarnings("deprecation") public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { return OIL; @@ -59,6 +63,7 @@ private static RegistryObject salt(String name) { .noOcclusion() .strength(2.0f, 2.0f)) { @Override + @NotNull @SuppressWarnings("deprecation") public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { return SALT; diff --git a/src/main/java/io/github/tt432/kitchenkarrot/datagen/DataGenerators.java b/src/main/java/io/github/tt432/kitchenkarrot/datagen/DataGenerators.java index b23d8dd0..3316e390 100644 --- a/src/main/java/io/github/tt432/kitchenkarrot/datagen/DataGenerators.java +++ b/src/main/java/io/github/tt432/kitchenkarrot/datagen/DataGenerators.java @@ -1,6 +1,7 @@ package io.github.tt432.kitchenkarrot.datagen; import io.github.tt432.kitchenkarrot.Kitchenkarrot; +import io.github.tt432.kitchenkarrot.datagen.loottable.ModLootTableProvider; import net.minecraft.data.DataGenerator; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -23,6 +24,7 @@ public static void gatherData(GatherDataEvent event) { } if (event.includeServer()) { + event.getGenerator().addProvider(new ModLootTableProvider(event.getGenerator())); var blockTag = new TutBlockTags(generator, file); generator.addProvider(blockTag); generator.addProvider(new TutItemTags(generator, blockTag, event.getExistingFileHelper())); diff --git a/src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModBlockLootProvider.java b/src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModBlockLootProvider.java new file mode 100644 index 00000000..d6179b55 --- /dev/null +++ b/src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModBlockLootProvider.java @@ -0,0 +1,21 @@ +package io.github.tt432.kitchenkarrot.datagen.loottable; + +import io.github.tt432.kitchenkarrot.block.ModBlocks; +import io.github.tt432.kitchenkarrot.item.ModBlockItems; +import net.minecraft.advancements.critereon.StatePropertiesPredicate; +import net.minecraft.data.loot.BlockLoot; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.CropBlock; +import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition; + +public class ModBlockLootProvider extends BlockLoot { + + @Override + protected void addTables() { + createCropDrops(ModBlocks.GEM_CARROT.get(), ModBlockItems.GEM_CARROT.get(), ModBlockItems.GEM_CARROT.get(), + LootItemBlockStatePropertyCondition + .hasBlockStateProperties(Blocks.WHEAT) + .setProperties(StatePropertiesPredicate.Builder.properties() + .hasProperty(CropBlock.AGE, 7))); + } +} diff --git a/src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModLootTableProvider.java b/src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModLootTableProvider.java new file mode 100644 index 00000000..7bb957fd --- /dev/null +++ b/src/main/java/io/github/tt432/kitchenkarrot/datagen/loottable/ModLootTableProvider.java @@ -0,0 +1,37 @@ +package io.github.tt432.kitchenkarrot.datagen.loottable; + +import com.google.common.collect.ImmutableList; +import com.mojang.datafixers.util.Pair; +import io.github.tt432.kitchenkarrot.Kitchenkarrot; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSet; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; +import org.jetbrains.annotations.NotNull; + +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Supplier; + +public class ModLootTableProvider extends LootTableProvider { + public ModLootTableProvider(DataGenerator pGenerator) { + super(pGenerator); + } + + @Override + @NotNull + public String getName() { + return super.getName() + ":" + Kitchenkarrot.MOD_ID; + } + + @Override + @NotNull + protected List>>, LootContextParamSet>> getTables() { + ImmutableList.Builder>>, LootContextParamSet>> builder = new ImmutableList.Builder<>(); + builder.add(Pair.of(ModBlockLootProvider::new, LootContextParamSets.BLOCK)); + return builder.build(); + } +} diff --git a/src/main/java/io/github/tt432/kitchenkarrot/item/ModBlockItems.java b/src/main/java/io/github/tt432/kitchenkarrot/item/ModBlockItems.java index c9460e1b..9d8176e4 100644 --- a/src/main/java/io/github/tt432/kitchenkarrot/item/ModBlockItems.java +++ b/src/main/java/io/github/tt432/kitchenkarrot/item/ModBlockItems.java @@ -1,6 +1,7 @@ package io.github.tt432.kitchenkarrot.item; import io.github.tt432.kitchenkarrot.block.ModBlocks; +import io.github.tt432.kitchenkarrot.item.food.FoodUtil; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraftforge.registries.DeferredRegister; @@ -23,4 +24,5 @@ public class ModBlockItems { public static final RegistryObject ROCK_SALT = BLOCK_ITEMS.register("rock_salt", () -> new BlockItem(ModBlocks.ROCK_SALT.get(), defaultProperties())); public static final RegistryObject FINE_SALT = BLOCK_ITEMS.register("fine_salt", () -> new BlockItem(ModBlocks.FINE_SALT.get(), defaultProperties())); public static final RegistryObject SEA_SALT = BLOCK_ITEMS.register("sea_salt", () -> new BlockItem(ModBlocks.SEA_SALT.get(), defaultProperties())); + public static final RegistryObject GEM_CARROT = BLOCK_ITEMS.register("gem_carrot", () -> new BlockItem(ModBlocks.GEM_CARROT.get(),FoodUtil.food(defaultProperties(), 6, 8))); } diff --git a/src/main/java/io/github/tt432/kitchenkarrot/item/ModItems.java b/src/main/java/io/github/tt432/kitchenkarrot/item/ModItems.java index 7aaa0b3a..9e288f7f 100644 --- a/src/main/java/io/github/tt432/kitchenkarrot/item/ModItems.java +++ b/src/main/java/io/github/tt432/kitchenkarrot/item/ModItems.java @@ -161,7 +161,6 @@ public int getUseDuration(ItemStack pStack) { public static final RegistryObject ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(defaultProperties())); public static final RegistryObject CARROT_SPICES = ITEMS.register("carrot_spices", () -> new Item(defaultProperties())); public static final RegistryObject ACORN = ITEMS.register("acorn", () -> new Item(FoodUtil.food(defaultProperties(), 2, 1F))); - public static final RegistryObject GEM_CARROT = ITEMS.register("gem_carrot", () -> new Item(FoodUtil.food(defaultProperties(), 6, 8))); public static final RegistryObject RAW_BEEF_IN_DRIPLEAF = ITEMS.register("raw_beef_in_dripleaf", () -> new Item(defaultProperties())); public static final RegistryObject DUNGEON_PIZZA = ITEMS.register("dungeon_pizza", () -> new Item(defaultProperties())); public static final RegistryObject FEAST_PIZZA = ITEMS.register("feast_pizza", () -> new Item(defaultProperties())); diff --git a/src/main/resources/assets/kitchenkarrot/lang/en_us.json b/src/main/resources/assets/kitchenkarrot/lang/en_us.json index 0565c3fb..89790b10 100644 --- a/src/main/resources/assets/kitchenkarrot/lang/en_us.json +++ b/src/main/resources/assets/kitchenkarrot/lang/en_us.json @@ -11,7 +11,6 @@ "item.kitchenkarrot.sweet_loaf":"Sweet Loaf", "item.kitchenkarrot.acorn":"Acorn", "item.kitchenkarrot.birch_sap":"Birch Sap", - "item.kitchenkarrot.gem_carrot":"Gem Carrot", "item.kitchenkarrot.bamboo_potato":"Bamboo Potato", "item.kitchenkarrot.sweet_loaf_slice":"Sweet Loaf Slice", "item.kitchenkarrot.pickled_sea_pickles":"Pickled Sea Pickles", @@ -102,6 +101,7 @@ "item.kitchenkarrot.lava_brulee":"Lava Brulee", "item.kitchenkarrot.hi_nrg_brulee":"High Energy Brulee", + "block.kitchenkarrot.gem_carrot":"Gem Carrot", "block.kitchenkarrot.sunflower_oil":"Sunflower Oil", "block.kitchenkarrot.chorus_oil":"Chorus Oil", "block.kitchenkarrot.acorn_oil":"Acorn Oil", diff --git a/src/main/resources/assets/kitchenkarrot/lang/zh_cn.json b/src/main/resources/assets/kitchenkarrot/lang/zh_cn.json index 1b047258..4ad7efab 100644 --- a/src/main/resources/assets/kitchenkarrot/lang/zh_cn.json +++ b/src/main/resources/assets/kitchenkarrot/lang/zh_cn.json @@ -11,7 +11,6 @@ "item.kitchenkarrot.sweet_loaf":"糖霜面包", "item.kitchenkarrot.acorn":"橡果", "item.kitchenkarrot.birch_sap":"桦树汁", - "item.kitchenkarrot.gem_carrot":"宝石胡萝卜", "item.kitchenkarrot.bamboo_potato":"竹片土豆", "item.kitchenkarrot.sweet_loaf_slice":"糖霜面包", "item.kitchenkarrot.pickled_sea_pickles":"腌制海泡菜", @@ -101,7 +100,8 @@ "item.kitchenkarrot.honey_brulee":"蜂蜜布蕾", "item.kitchenkarrot.lava_brulee":"熔岩布蕾", "item.kitchenkarrot.hi_nrg_brulee":"高能布蕾", - + + "block.kitchenkarrot.gem_carrot":"宝石胡萝卜", "block.kitchenkarrot.sunflower_oil":"瓜子油", "block.kitchenkarrot.chorus_oil":"紫颂油", "block.kitchenkarrot.acorn_oil":"橡子油",