diff --git a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd index f3d7bef9..b3207d84 100644 --- a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd +++ b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd @@ -1,4 +1,4 @@ -// 1.20.1 2024-01-25T14:16:46.2347562 ModKit Item Models for mod 'exdeorum' +// 1.20.1 2024-02-15T19:28:58.9458068 ModKit Item Models for mod 'exdeorum' 4ba3bb2c6174ac3728a4b85e34681f118ec8eb34 assets/exdeorum/models/item/acacia_barrel.json c03ce41f7c071498fcbd5f5225e91dcb2f365fbb assets/exdeorum/models/item/acacia_crucible.json 3b4f1d45c0d9c4cd1d9a5cdf6ddc8d2c9791bca5 assets/exdeorum/models/item/acacia_sieve.json @@ -76,6 +76,7 @@ a117ad0a6e1d193ee65c0a2af1a88f7f5be444fd assets/exdeorum/models/item/green_archw b0d0d1ec41f465872243ea5b59a22caeadc1b81a assets/exdeorum/models/item/hellbark_barrel.json 4de47af7d2a66a6e18ce93c9e3a1582b33073a6b assets/exdeorum/models/item/hellbark_crucible.json c3a5bdc2c3e8b12b41e9c3aae44839a331a5d238 assets/exdeorum/models/item/hellbark_sieve.json +53eb28442e7df2970b24a79fe0830c41c2388487 assets/exdeorum/models/item/infested_leaves.json abd9901aa00893690461a6c6e276bb6bc96a60bb assets/exdeorum/models/item/iridium_ore_chunk.json b91a19335ff248805cf0861cae82b93d71a9e805 assets/exdeorum/models/item/iron_hammer.json 3398985db718bd990d9f7cfdf4bacf67a858b906 assets/exdeorum/models/item/iron_mesh.json diff --git a/src/generated/resources/assets/exdeorum/models/item/infested_leaves.json b/src/generated/resources/assets/exdeorum/models/item/infested_leaves.json new file mode 100644 index 00000000..3d93d0b0 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/infested_leaves.json @@ -0,0 +1,3 @@ +{ + "parent": "exdeorum:block/infested_leaves" +} \ No newline at end of file diff --git a/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java b/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java index 14adb076..2eb570f3 100644 --- a/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java +++ b/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java @@ -21,8 +21,10 @@ package thedarkcolour.exdeorum.block; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -56,6 +58,23 @@ public class InfestedLeavesBlock extends LeavesBlock implements EntityBlock { builder.add(FULLY_INFESTED); } + @Override + public BlockState getStateForPlacement(BlockPlaceContext ctx) { + if (ctx.getPlayer() != null) { + return defaultBlockState().setValue(FULLY_INFESTED, true); + } + return super.getStateForPlacement(ctx); + } + + @Override + public void setPlacedBy(Level level, BlockPos pos, BlockState pState, @Nullable LivingEntity player, ItemStack pStack) { + if (player != null) { + if (!level.isClientSide && level.getBlockEntity(pos) instanceof InfestedLeavesBlockEntity leaves) { + leaves.setProgress(1.0f); + } + } + } + @Nullable @Override public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/InfestedLeavesBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/InfestedLeavesBlockEntity.java index 1acf4748..afc51ce0 100644 --- a/src/main/java/thedarkcolour/exdeorum/blockentity/InfestedLeavesBlockEntity.java +++ b/src/main/java/thedarkcolour/exdeorum/blockentity/InfestedLeavesBlockEntity.java @@ -119,6 +119,10 @@ public class InfestedLeavesBlockEntity extends EBlockEntity { return this.progress; } + public void setProgress(float progress) { + this.progress = progress; + } + public BlockState getMimic() { return this.mimic; } diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java index 41a4602a..15735402 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java @@ -143,7 +143,7 @@ public class ExDeorumJeiPlugin implements IModPlugin { @Override public void registerRecipes(IRecipeRegistration registration) { - registration.addItemStackInfo(new ItemStack(EItems.SILK_WORM.get()), Component.translatable(TranslationKeys.SILK_WORM_JEI_INFO)); + registration.addItemStackInfo(List.of(new ItemStack(EItems.INFESTED_LEAVES.get()), new ItemStack(EItems.SILK_WORM.get())), Component.translatable(TranslationKeys.SILK_WORM_JEI_INFO)); registration.addItemStackInfo(List.of(new ItemStack(EBlocks.OAK_SIEVE.get()), new ItemStack(EBlocks.SPRUCE_SIEVE.get()), new ItemStack(EBlocks.BIRCH_SIEVE.get()), new ItemStack(EBlocks.JUNGLE_SIEVE.get()), new ItemStack(EBlocks.ACACIA_SIEVE.get()), new ItemStack(EBlocks.DARK_OAK_SIEVE.get()), new ItemStack(EBlocks.MANGROVE_SIEVE.get()), new ItemStack(EBlocks.CHERRY_SIEVE.get()), new ItemStack(EBlocks.BAMBOO_SIEVE.get()), new ItemStack(EBlocks.CRIMSON_SIEVE.get()), new ItemStack(EBlocks.WARPED_SIEVE.get())), Component.translatable(TranslationKeys.SIEVE_JEI_INFO)); registration.addItemStackInfo(List.of(new ItemStack(EItems.STRING_MESH.get()), new ItemStack(EItems.STRING_MESH.get()), new ItemStack(EItems.FLINT_MESH.get()), new ItemStack(EItems.IRON_MESH.get()), new ItemStack(EItems.GOLDEN_MESH.get()), new ItemStack(EItems.DIAMOND_MESH.get()), new ItemStack(EItems.NETHERITE_MESH.get())), Component.translatable(TranslationKeys.SIEVE_MESH_JEI_INFO)); registration.addItemStackInfo(List.of(WateringCanItem.getFull(EItems.WOODEN_WATERING_CAN), WateringCanItem.getFull(EItems.STONE_WATERING_CAN), WateringCanItem.getFull(EItems.IRON_WATERING_CAN), WateringCanItem.getFull(EItems.GOLDEN_WATERING_CAN), WateringCanItem.getFull(EItems.DIAMOND_WATERING_CAN), WateringCanItem.getFull(EItems.NETHERITE_WATERING_CAN)), Component.translatable(TranslationKeys.WATERING_CAN_JEI_INFO)); diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java index 778ec879..8f9e52cd 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java @@ -275,6 +275,8 @@ public class EItems { public static final RegistryObject MAPLE_CRUCIBLE = registerItemBlock(EBlocks.MAPLE_CRUCIBLE); public static final RegistryObject END_CAKE = registerItemBlock(EBlocks.END_CAKE); + public static final RegistryObject INFESTED_LEAVES = registerItemBlock(EBlocks.INFESTED_LEAVES); + public static void addItemsToMainTab(CreativeModeTab.Output output) { boolean biomesOPlenty = ModList.get().isLoaded(ModIds.BIOMES_O_PLENTY);