From f52290d25f119613d8ecf7684bf2c4845469c33f Mon Sep 17 00:00:00 2001 From: Jingy <69827559+Jiingy@users.noreply.github.com> Date: Fri, 14 Apr 2023 22:47:27 -0500 Subject: [PATCH 1/6] General class touch-ups Signed-off-by: Jingy <69827559+Jiingy@users.noreply.github.com> --- .../jingy/jineric/block/JinericBlocks.java | 47 ++------ .../jineric/block/enums/JinericChestType.java | 104 ----------------- .../render/JinericTextureRenderLayers.java | 6 +- .../java/jingy/jineric/item/JinericItems.java | 106 +++++++++--------- .../registry/JinericBlockEntityRenderer.java | 1 - .../registry/JinericBlockEntityType.java | 1 - .../registry/JinericBlockMaterials.java | 6 +- .../registry/JinericEntityModelLayers.java | 3 - .../jineric/registry/JinericEntityModels.java | 2 - .../registry/JinericEntityRenderers.java | 1 - .../registry/JinericScreenHandlerTypes.java | 1 - .../screen/JinericScreenHandlerType.java | 3 - .../jineric/screen/RefineryScreenHandler.java | 1 - .../jineric/world/biome/JinericBiomes.java | 3 - 14 files changed, 69 insertions(+), 216 deletions(-) delete mode 100644 src/main/java/jingy/jineric/block/enums/JinericChestType.java diff --git a/src/main/java/jingy/jineric/block/JinericBlocks.java b/src/main/java/jingy/jineric/block/JinericBlocks.java index fe816162..c7e08769 100644 --- a/src/main/java/jingy/jineric/block/JinericBlocks.java +++ b/src/main/java/jingy/jineric/block/JinericBlocks.java @@ -80,7 +80,7 @@ public class JinericBlocks { public static final Block STONE_TILE_SLAB = register("stone_tile_slab", new SlabBlock(FabricBlockSettings.copy(STONE_TILES))); public static final Block STONE_TILE_WALL = register("stone_tile_wall", new WallBlock(FabricBlockSettings.copy(STONE_TILES))); - //DEEPSLATE +//DEEPSLATE public static final Block CRACKED_DEEPSLATE_BRICK_STAIRS = register("cracked_deepslate_brick_stairs", new StairsBlock(CRACKED_DEEPSLATE_BRICKS.getDefaultState(), FabricBlockSettings.copy(CRACKED_DEEPSLATE_BRICKS))); public static final Block CRACKED_DEEPSLATE_BRICK_SLAB = register("cracked_deepslate_brick_slab", new SlabBlock(FabricBlockSettings.copy(CRACKED_DEEPSLATE_BRICKS))); public static final Block CRACKED_DEEPSLATE_BRICK_WALL = register("cracked_deepslate_brick_wall", new WallBlock(FabricBlockSettings.copy(CRACKED_DEEPSLATE_BRICKS))); @@ -92,7 +92,7 @@ public class JinericBlocks { public static final Block SMOOTH_DEEPSLATE_SLAB = register("smooth_deepslate_slab", new SlabBlock(FabricBlockSettings.copy(SMOOTH_DEEPSLATE))); public static final Block SMOOTH_DEEPSLATE_WALL = register("smooth_deepslate_wall", new WallBlock(FabricBlockSettings.copy(SMOOTH_DEEPSLATE))); - //DIORITE, GRANITE, ANDESITE BLOCKS +//DIORITE, GRANITE, ANDESITE public static final Block POLISHED_GRANITE_WALL = register("polished_granite_wall", new WallBlock(FabricBlockSettings.copy(POLISHED_GRANITE))); public static final Block POLISHED_DIORITE_WALL = register("polished_diorite_wall", new WallBlock(FabricBlockSettings.copy(POLISHED_DIORITE))); public static final Block POLISHED_ANDESITE_WALL = register("polished_andesite_wall", new WallBlock(FabricBlockSettings.copy(POLISHED_ANDESITE))); @@ -177,12 +177,12 @@ public class JinericBlocks { public static final Block CHISELED_DRIPSTONE = register("chiseled_dripstone", new Block(FabricBlockSettings.copy(DRIPSTONE_BRICKS))); public static final Block DRIPSTONE_PILLAR = register("dripstone_pillar", new PillarBlock(FabricBlockSettings.copy(DRIPSTONE_BLOCK))); - //OBSIDIAN +//OBSIDIAN public static final Block OBSIDIAN_STAIRS = register("obsidian_stairs", new StairsBlock(OBSIDIAN.getDefaultState(), JinericBlockSettings.obsidianSettings().nonOpaque())); public static final Block OBSIDIAN_SLAB = register("obsidian_slab", new SlabBlock(JinericBlockSettings.obsidianSettings().nonOpaque())); public static final Block OBSIDIAN_WALL = register("obsidian_wall", new WallBlock(JinericBlockSettings.obsidianSettings().nonOpaque())); - //NETHER +//NETHER public static final Block QUARTZ_WALL = register("quartz_wall", new WallBlock(FabricBlockSettings.copy(QUARTZ_BLOCK))); public static final Block SMOOTH_QUARTZ_WALL = register("smooth_quartz_wall", new WallBlock(FabricBlockSettings.copy(SMOOTH_QUARTZ))); public static final Block QUARTZ_BRICK_SLAB = register("quartz_brick_slab", new SlabBlock(FabricBlockSettings.copy(QUARTZ_BRICKS))); @@ -199,7 +199,7 @@ public class JinericBlocks { public static final Block CRACKED_NETHER_BRICK_STAIRS = register("cracked_nether_brick_stairs", new StairsBlock(CRACKED_NETHER_BRICKS.getDefaultState(), Block.Settings.copy(CRACKED_NETHER_BRICKS))); public static final Block CRACKED_NETHER_BRICK_WALL = register("cracked_nether_brick_wall", new WallBlock(Block.Settings.copy(CRACKED_NETHER_BRICKS))); - //END +//END public static final Block PURPUR_WALL = register("purpur_wall", new WallBlock(FabricBlockSettings.copy(PURPUR_BLOCK))); //RHYOLITE @@ -209,18 +209,10 @@ public class JinericBlocks { // public static final Block RHYOLITE_WALL = register("rhyolite_wall", new WallBlock(FabricBlockSettings.copy(RHYOLITE))); //COBBLED -// public static final Block COBBLED_RHYOLITE = register( -// "cobbled_rhyolite", new Block(FabricBlockSettings.copy(RHYOLITE)) -// ); -// public static final Block COBBLED_RHYOLITE_STAIRS = register( -// "cobbled_rhyolite_stairs", new StairsBlock(RHYOLITE.getDefaultState(), FabricBlockSettings.copy(RHYOLITE)) -// ); -// public static final Block COBBLED_RHYOLITE_SLAB = register( -// "cobbled_rhyolite_slab", new SlabBlock(FabricBlockSettings.copy(RHYOLITE)) -// ); -// public static final Block COBBLED_RHYOLITE_WALL = register( -// "cobbled_rhyolite_wall", new WallBlock(FabricBlockSettings.copy(RHYOLITE)) -// ); +// public static final Block COBBLED_RHYOLITE = register("cobbled_rhyolite", new Block(FabricBlockSettings.copy(RHYOLITE))); +// public static final Block COBBLED_RHYOLITE_STAIRS = register("cobbled_rhyolite_stairs", new StairsBlock(RHYOLITE.getDefaultState(), FabricBlockSettings.copy(RHYOLITE))); +// public static final Block COBBLED_RHYOLITE_SLAB = register("cobbled_rhyolite_slab", new SlabBlock(FabricBlockSettings.copy(RHYOLITE))); +// public static final Block COBBLED_RHYOLITE_WALL = register("cobbled_rhyolite_wall", new WallBlock(FabricBlockSettings.copy(RHYOLITE))); // public static final Block SMOOTH_RHYOLITE = register("smooth_rhyolite", new Block(FabricBlockSettings.copy(RHYOLITE))); // public static final Block SMOOTH_RHYOLITE_STAIRS = register("smooth_rhyolite_stairs", new StairsBlock(SMOOTH_RHYOLITE.getDefaultState(), FabricBlockSettings.copy(SMOOTH_RHYOLITE))); // public static final Block SMOOTH_RHYOLITE_SLAB = register("smooth_rhyolite_slab", new SlabBlock(FabricBlockSettings.copy(SMOOTH_RHYOLITE))); @@ -336,27 +328,6 @@ public class JinericBlocks { public static final Block WARPED_LADDER = register("warped_ladder", new LadderBlock(FabricBlockSettings.copy(LADDER))); public static final Block CRIMSON_LADDER = register("crimson_ladder", new LadderBlock(FabricBlockSettings.copy(LADDER))); - /* - //DRIED BAMBOO - public static final Block DRIED_BAMBOO_WOOD = register("dried_bamboo_wood", new PillarBlock(FabricBlockSettings.copy(OAK_WOOD))); - public static final Block DRIED_BAMBOO_LOG = register("dried_bamboo_log", new PillarBlock(FabricBlockSettings.copy(OAK_LOG))); - public static final Block STRIPPED_DRIED_BAMBOO_WOOD = register("stripped_dried_bamboo_wood", new PillarBlock(FabricBlockSettings.copy(OAK_WOOD))); - public static final Block STRIPPED_DRIED_BAMBOO_LOG = register("stripped_dried_bamboo_log", new PillarBlock(FabricBlockSettings.copy(OAK_LOG))); - public static final Block DRIED_BAMBOO_PLANKS = register("dried_bamboo_planks", new Block(FabricBlockSettings.copy(OAK_PLANKS))); - public static final Block DRIED_BAMBOO_STAIRS = register("dried_bamboo_stairs", new StairsBlock(OAK_STAIRS.getDefaultState(), FabricBlockSettings.copy(OAK_STAIRS))); - public static final Block DRIED_BAMBOO_SLAB = register("dried_bamboo_slab", new SlabBlock(FabricBlockSettings.copy(OAK_SLAB))); - public static final Block DRIED_BAMBOO_FENCE = register("dried_bamboo_fence", new FenceBlock(FabricBlockSettings.copy(OAK_FENCE))); - //public static final Block DRIED_BAMBOO_SIGN = register("dried_bamboo_sign", new SignBlock(FabricBlockSettings.copy(OAK_SIGN), JinericSignType.BOREAL)); - //public static final Block DRIED_BAMBOO_WALL_SIGN = register("dried_bamboo_wall_sign", new JinericWallSignBlock(FabricBlockSettings.copy(OAK_SIGN), JinericSignType.BOREAL)); - public static final Block DRIED_BAMBOO_BUTTON = register("dried_bamboo_button", new JinericWoodenButtonBlock(Boolean.getBoolean(String.valueOf(POWERED)), FabricBlockSettings.copy((OAK_BUTTON)))); - public static final Block DRIED_BAMBOO_PRESSURE_PLATE = register("dried_bamboo_pressure_plate", new JinericWoodenPressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, AbstractFabricBlockSettings.copy(OAK_PRESSURE_PLATE))); - public static final Block DRIED_BAMBOO_DOOR = register("dried_bamboo_door", new DoorBlock(FabricBlockSettings.copy(OAK_DOOR))); - public static final Block DRIED_BAMBOO_TRAPDOOR = register("dried_bamboo_trapdoor", new JinericWoodenTrapdoorBlock(OAK_TRAPDOOR.getDefaultState(), FabricBlockSettings.copy(OAK_TRAPDOOR).sounds(BlockSoundGroup.WOOD))); - public static final Block DRIED_BAMBOO_FENCE_GATE = register("dried_bamboo_fence_gate", new FenceGateBlock(FabricBlockSettings.copy(OAK_FENCE_GATE))); - public static final Block DRIED_BAMBOO_SAPLING = register("dried_bamboo_sapling", new JinericSaplingBlock(new BorealSaplingGenerator(), FabricBlockSettings.copy(OAK_SAPLING))); - public static final Block DRIED_BAMBOO_LEAVES = register("dried_bamboo_leaves", new LeavesBlock(JinericBlockSettings.JinericLeavesBlock(BlockSoundGroup.GRASS))); -*/ - //ICE SLIPPERINESS public static boolean isSlipperyBlock(BlockState state) { return state.isOf(PACKED_ICE_STAIRS) || state.isOf(PACKED_ICE_SLAB) || state.isOf(PACKED_ICE_WALL); diff --git a/src/main/java/jingy/jineric/block/enums/JinericChestType.java b/src/main/java/jingy/jineric/block/enums/JinericChestType.java deleted file mode 100644 index 65d5816d..00000000 --- a/src/main/java/jingy/jineric/block/enums/JinericChestType.java +++ /dev/null @@ -1,104 +0,0 @@ -package jingy.jineric.block.enums; - -import jingy.jineric.base.JinericMain; -import net.minecraft.util.Identifier; - -public enum JinericChestType { - - ACACIA(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/acacia_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/acacia_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/acacia_right") - ), - - BIRCH(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/birch_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/birch_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/birch_right")), - - CRIMSON(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/crimson_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/crimson_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/crimson_right")), - - DARK_OAK(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/dark_oak_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/dark_oak_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/dark_oak_right")), - - JUNGLE(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/jungle_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/jungle_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/jungle_right")), - - SPRUCE(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/spruce_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/spruce_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/spruce_right")), - - WARPED(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/warped_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/warped_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/warped_right")), - - MANGROVE(27, 9, - new Identifier(JinericMain.MOD_ID, "entity/chest/mangrove_chest"), - new Identifier(JinericMain.MOD_ID, "entity/chest/mangrove_left"), - new Identifier(JinericMain.MOD_ID, "entity/chest/mangrove_right")), - - SHULKER(81, 9, new Identifier(JinericMain.MOD_ID, "entity/chest/shulker_chest")); - - public final int size; - public final int rowLength; - public final Identifier texture; - public final Identifier textureRight; - public final Identifier textureLeft; - - JinericChestType(int size, int rowLength, Identifier texture, Identifier textureRight, Identifier textureLeft) { - this.size = size; - this.rowLength = rowLength; - this.texture = texture; - this.textureRight = textureRight; - this.textureLeft = textureLeft; - } - - JinericChestType(int size, int rowLength, Identifier texture) { - this.size = size; - this.rowLength = rowLength; - this.texture = texture; - this.textureLeft = null; - this.textureRight = null; - } - -// public int getRowCount() { -// return this.size / this.rowLength; -// } - -// public ChestBlockEntity getEntity(BlockPos pos, BlockState state) { -// return switch (this) { -// case ACACIA -> JinericBlockEntityType.ACACIA_CHEST.instantiate(pos, state); -// case BIRCH -> JinericBlockEntityType.BIRCH_CHEST.instantiate(pos, state); -// case CRIMSON -> JinericBlockEntityType.CRIMSON_CHEST.instantiate(pos, state); -// case DARK_OAK -> JinericBlockEntityType.DARK_OAK_CHEST.instantiate(pos, state); -// case JUNGLE -> JinericBlockEntityType.JUNGLE_CHEST.instantiate(pos, state); -// case SPRUCE -> JinericBlockEntityType.SPRUCE_CHEST.instantiate(pos, state); -// case WARPED -> JinericBlockEntityType.WARPED_CHEST.instantiate(pos, state); -// case MANGROVE -> JinericBlockEntityType.MANGROVE_CHEST.instantiate(pos, state); -// case SHULKER -> JinericBlockEntityType.SHULKER_CHEST.instantiate(pos, state); -// }; -// } - -// public BlockEntityType getBlockEntityType() { -// return switch (this) { -// case ACACIA -> JinericBlockEntityType.ACACIA_CHEST; -// case BIRCH -> JinericBlockEntityType.BIRCH_CHEST; -// case CRIMSON -> JinericBlockEntityType.CRIMSON_CHEST; -// case DARK_OAK -> JinericBlockEntityType.DARK_OAK_CHEST; -// case JUNGLE -> JinericBlockEntityType.JUNGLE_CHEST; -// case SPRUCE -> JinericBlockEntityType.SPRUCE_CHEST; -// case WARPED -> JinericBlockEntityType.WARPED_CHEST; -// case MANGROVE -> JinericBlockEntityType.MANGROVE_CHEST; -// case SHULKER -> JinericBlockEntityType.SHULKER_CHEST; -// }; -// } -} diff --git a/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java b/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java index 9c925833..a1dbb70e 100644 --- a/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java +++ b/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java @@ -15,9 +15,9 @@ public class JinericTextureRenderLayers extends TexturedRenderLayers { public static final SpriteIdentifier ACACIA_CHEST = createChestTextureId("acacia_chest"); public static final SpriteIdentifier ACACIA_CHEST_LEFT = createChestTextureId("acacia_left"); public static final SpriteIdentifier ACACIA_CHEST_RIGHT = createChestTextureId("acacia_right"); - public static final SpriteIdentifier BOREAL_CHEST = createChestTextureId("boreal_chest"); - public static final SpriteIdentifier BOREAL_CHEST_LEFT = createChestTextureId("boreal_left"); - public static final SpriteIdentifier BOREAL_CHEST_RIGHT = createChestTextureId("boreal_right"); +// public static final SpriteIdentifier BOREAL_CHEST = createChestTextureId("boreal_chest"); +// public static final SpriteIdentifier BOREAL_CHEST_LEFT = createChestTextureId("boreal_left"); +// public static final SpriteIdentifier BOREAL_CHEST_RIGHT = createChestTextureId("boreal_right"); public static final SpriteIdentifier BIRCH_CHEST = createChestTextureId("birch_chest"); public static final SpriteIdentifier BIRCH_CHEST_LEFT = createChestTextureId("birch_left"); public static final SpriteIdentifier BIRCH_CHEST_RIGHT = createChestTextureId("birch_right"); diff --git a/src/main/java/jingy/jineric/item/JinericItems.java b/src/main/java/jingy/jineric/item/JinericItems.java index 9976a373..0d956d70 100644 --- a/src/main/java/jingy/jineric/item/JinericItems.java +++ b/src/main/java/jingy/jineric/item/JinericItems.java @@ -54,6 +54,34 @@ public class JinericItems { public static final Item DRIPSTONE_PILLAR = register("dripstone_pillar", new BlockItem(JinericBlocks.DRIPSTONE_PILLAR, new FabricItemSettings())); public static final Item FULL_GRASS_BLOCK = register("full_grass_block", new BlockItem(JinericBlocks.FULL_GRASS_BLOCK, new FabricItemSettings())); +//TUFF + public static final Item COBBLED_TUFF = register("cobbled_tuff", new BlockItem(JinericBlocks.COBBLED_TUFF, new FabricItemSettings())); + public static final Item COBBLED_TUFF_SLAB = register("cobbled_tuff_slab", new BlockItem(JinericBlocks.COBBLED_TUFF_SLAB, new FabricItemSettings())); + public static final Item COBBLED_TUFF_STAIRS = register("cobbled_tuff_stairs", new BlockItem(JinericBlocks.COBBLED_TUFF_STAIRS, new FabricItemSettings())); + public static final Item COBBLED_TUFF_WALL = register("cobbled_tuff_wall", new BlockItem(JinericBlocks.COBBLED_TUFF_WALL, new FabricItemSettings())); + public static final Item SMOOTH_TUFF = register("smooth_tuff", new BlockItem(JinericBlocks.SMOOTH_TUFF, new FabricItemSettings())); + public static final Item SMOOTH_TUFF_STAIRS = register("smooth_tuff_stairs", new BlockItem(JinericBlocks.SMOOTH_TUFF_STAIRS, new FabricItemSettings())); + public static final Item SMOOTH_TUFF_SLAB = register("smooth_tuff_slab", new BlockItem(JinericBlocks.SMOOTH_TUFF_SLAB, new FabricItemSettings())); + public static final Item SMOOTH_TUFF_WALL = register("smooth_tuff_wall", new BlockItem(JinericBlocks.SMOOTH_TUFF_WALL, new FabricItemSettings())); + public static final Item POLISHED_TUFF = register("polished_tuff", new BlockItem(JinericBlocks.POLISHED_TUFF, new FabricItemSettings())); + public static final Item POLISHED_TUFF_STAIRS = register("polished_tuff_stairs", new BlockItem(JinericBlocks.POLISHED_TUFF_STAIRS, new FabricItemSettings())); + public static final Item POLISHED_TUFF_SLAB = register("polished_tuff_slab", new BlockItem(JinericBlocks.POLISHED_TUFF_SLAB, new FabricItemSettings())); + public static final Item POLISHED_TUFF_WALL = register("polished_tuff_wall", new BlockItem(JinericBlocks.POLISHED_TUFF_WALL, new FabricItemSettings())); + public static final Item TUFF_BRICKS = register("tuff_bricks", new BlockItem(JinericBlocks.TUFF_BRICKS, new FabricItemSettings())); + public static final Item TUFF_BRICK_STAIRS = register("tuff_brick_stairs", new BlockItem(JinericBlocks.TUFF_BRICK_STAIRS, new FabricItemSettings())); + public static final Item TUFF_BRICK_SLAB = register("tuff_brick_slab", new BlockItem(JinericBlocks.TUFF_BRICK_SLAB, new FabricItemSettings())); + public static final Item TUFF_BRICK_WALL = register("tuff_brick_wall", new BlockItem(JinericBlocks.TUFF_BRICK_WALL, new FabricItemSettings())); + public static final Item CRACKED_TUFF_BRICKS = register("cracked_tuff_bricks", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICKS, new FabricItemSettings())); + public static final Item CRACKED_TUFF_BRICK_STAIRS = register("cracked_tuff_brick_stairs", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICK_STAIRS, new FabricItemSettings())); + public static final Item CRACKED_TUFF_BRICK_SLAB = register("cracked_tuff_brick_slab", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICK_SLAB, new FabricItemSettings())); + public static final Item CRACKED_TUFF_BRICK_WALL = register("cracked_tuff_brick_wall", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICK_WALL, new FabricItemSettings())); + public static final Item CHISELED_TUFF = register("chiseled_tuff", new BlockItem(JinericBlocks.CHISELED_TUFF, new FabricItemSettings())); + public static final Item TUFF_PILLAR = register("tuff_pillar", new BlockItem(JinericBlocks.TUFF_PILLAR, new FabricItemSettings())); + public static final Item TUFF_TILES = register("tuff_tiles", new BlockItem(JinericBlocks.TUFF_TILES, new FabricItemSettings())); + public static final Item TUFF_TILE_SLAB = register("tuff_tile_slab", new BlockItem(JinericBlocks.TUFF_TILE_SLAB, new FabricItemSettings())); + public static final Item TUFF_TILE_STAIRS = register("tuff_tile_stairs", new BlockItem(JinericBlocks.TUFF_TILE_STAIRS, new FabricItemSettings())); + public static final Item TUFF_TILE_WALL = register("tuff_tile_wall", new BlockItem(JinericBlocks.TUFF_TILE_WALL, new FabricItemSettings())); + //SANDSTONE public static final Item SMOOTH_SANDSTONE_WALL = register("smooth_sandstone_wall", new BlockItem(JinericBlocks.SMOOTH_SANDSTONE_WALL, new FabricItemSettings())); public static final Item CUT_SANDSTONE_STAIRS = register("cut_sandstone_stairs", new BlockItem(JinericBlocks.CUT_SANDSTONE_STAIRS, new FabricItemSettings())); @@ -104,6 +132,7 @@ public class JinericItems { public static final Item WAVY_SOUL_SANDSTONE_WALL = register("wavy_soul_sandstone_wall", new BlockItem(JinericBlocks.WAVY_SOUL_SANDSTONE_WALL, new FabricItemSettings())); //MISC VANILLA + //OVERWORLD public static final Item STONE_WALL = register("stone_wall", new BlockItem(JinericBlocks.STONE_WALL, new FabricItemSettings())); public static final Item CRACKED_STONE_BRICK_STAIRS = register("cracked_stone_brick_stairs", new BlockItem(JinericBlocks.CRACKED_STONE_BRICK_STAIRS, new FabricItemSettings())); public static final Item CRACKED_STONE_BRICK_SLAB = register("cracked_stone_brick_slab", new BlockItem(JinericBlocks.CRACKED_STONE_BRICK_SLAB, new FabricItemSettings())); @@ -139,6 +168,7 @@ public class JinericItems { public static final Item OBSIDIAN_STAIRS = register("obsidian_stairs", new BlockItem(JinericBlocks.OBSIDIAN_STAIRS, new FabricItemSettings())); public static final Item OBSIDIAN_SLAB = register("obsidian_slab", new BlockItem(JinericBlocks.OBSIDIAN_SLAB, new FabricItemSettings())); public static final Item OBSIDIAN_WALL = register("obsidian_wall", new BlockItem(JinericBlocks.OBSIDIAN_WALL, new FabricItemSettings())); + //NETHER public static final Item QUARTZ_WALL = register("quartz_wall", new BlockItem(JinericBlocks.QUARTZ_WALL, new FabricItemSettings())); public static final Item SMOOTH_QUARTZ_WALL = register("smooth_quartz_wall", new BlockItem(JinericBlocks.SMOOTH_QUARTZ_WALL, new FabricItemSettings())); public static final Item QUARTZ_BRICK_STAIRS = register("quartz_brick_stairs", new BlockItem(JinericBlocks.QUARTZ_BRICK_STAIRS, new FabricItemSettings())); @@ -147,16 +177,17 @@ public class JinericItems { public static final Item CRACKED_NETHER_BRICK_STAIRS = register("cracked_nether_brick_stairs", new BlockItem(JinericBlocks.CRACKED_NETHER_BRICK_STAIRS, new FabricItemSettings())); public static final Item CRACKED_NETHER_BRICK_SLAB = register("cracked_nether_brick_slab", new BlockItem(JinericBlocks.CRACKED_NETHER_BRICK_SLAB, new FabricItemSettings())); public static final Item CRACKED_NETHER_BRICK_WALL = register("cracked_nether_brick_wall", new BlockItem(JinericBlocks.CRACKED_NETHER_BRICK_WALL, new FabricItemSettings())); + public static final Item RED_NETHER_BRICK_FENCE = register("red_nether_brick_fence", new BlockItem(JinericBlocks.RED_NETHER_BRICK_FENCE, new FabricItemSettings())); public static final Item CRACKED_POLISHED_BLACKSTONE_BRICK_STAIRS = register("cracked_polished_blackstone_brick_stairs", new BlockItem(JinericBlocks.CRACKED_POLISHED_BLACKSTONE_BRICK_STAIRS, new FabricItemSettings())); public static final Item CRACKED_POLISHED_BLACKSTONE_BRICK_SLAB = register("cracked_polished_blackstone_brick_slab", new BlockItem(JinericBlocks.CRACKED_POLISHED_BLACKSTONE_BRICK_SLAB, new FabricItemSettings())); public static final Item CRACKED_POLISHED_BLACKSTONE_BRICK_WALL = register("cracked_polished_blackstone_brick_wall", new BlockItem(JinericBlocks.CRACKED_POLISHED_BLACKSTONE_BRICK_WALL, new FabricItemSettings())); public static final Item SMOOTH_BASALT_STAIRS = register("smooth_basalt_stairs", new BlockItem(JinericBlocks.SMOOTH_BASALT_STAIRS, new FabricItemSettings())); public static final Item SMOOTH_BASALT_SLAB = register("smooth_basalt_slab", new BlockItem(JinericBlocks.SMOOTH_BASALT_SLAB, new FabricItemSettings())); public static final Item SMOOTH_BASALT_WALL = register("smooth_basalt_wall", new BlockItem(JinericBlocks.SMOOTH_BASALT_WALL, new FabricItemSettings())); + //END public static final Item PURPUR_WALL = register("purpur_wall", new BlockItem(JinericBlocks.PURPUR_WALL, new FabricItemSettings())); -//COPPER - //REGULAR +//COPPER //CUT public static final Item CUT_COPPER_WALL = register("cut_copper_wall", new BlockItem(JinericBlocks.CUT_COPPER_WALL, new FabricItemSettings())); public static final Item EXPOSED_CUT_COPPER_WALL = register("exposed_cut_copper_wall", new BlockItem(JinericBlocks.EXPOSED_CUT_COPPER_WALL, new FabricItemSettings())); @@ -166,7 +197,7 @@ public class JinericItems { public static final Item WAXED_EXPOSED_CUT_COPPER_WALL = register("waxed_exposed_cut_copper_wall", new BlockItem(JinericBlocks.WAXED_EXPOSED_CUT_COPPER_WALL, new FabricItemSettings())); public static final Item WAXED_WEATHERED_CUT_COPPER_WALL = register("waxed_weathered_cut_copper_wall", new BlockItem(JinericBlocks.WAXED_WEATHERED_CUT_COPPER_WALL, new FabricItemSettings())); public static final Item WAXED_OXIDIZED_CUT_COPPER_WALL = register("waxed_oxidized_cut_copper_wall", new BlockItem(JinericBlocks.WAXED_OXIDIZED_CUT_COPPER_WALL, new FabricItemSettings())); -//STORAGE +//ITEM STORAGE public static final Item CHARCOAL_BLOCK = register("charcoal_block", new BlockItem(JinericBlocks.CHARCOAL_BLOCK, new FabricItemSettings())); public static final Item FLINT_BLOCK = register("flint_block", new BlockItem(JinericBlocks.FLINT_BLOCK, new FabricItemSettings())); public static final Item BONE_MEAL_BLOCK = register("bone_meal_block", new BlockItem(JinericBlocks.BONE_MEAL_BLOCK, new FabricItemSettings())); @@ -196,7 +227,7 @@ public class JinericItems { public static final Item MANGROVE_CHEST = register("mangrove_chest", new BlockItem(JinericBlocks.MANGROVE_CHEST, new FabricItemSettings())); public static final Item CRIMSON_CHEST = register("crimson_chest", new BlockItem(JinericBlocks.CRIMSON_CHEST, new FabricItemSettings())); public static final Item WARPED_CHEST = register("warped_chest", new BlockItem(JinericBlocks.WARPED_CHEST, new FabricItemSettings())); -//LADDER +//LADDERS public static final Item SPRUCE_LADDER = register("spruce_ladder", new BlockItem(JinericBlocks.SPRUCE_LADDER, new FabricItemSettings())); public static final Item BIRCH_LADDER = register("birch_ladder", new BlockItem(JinericBlocks.BIRCH_LADDER, new FabricItemSettings())); public static final Item JUNGLE_LADDER = register("jungle_ladder", new BlockItem(JinericBlocks.JUNGLE_LADDER, new FabricItemSettings())); @@ -205,17 +236,27 @@ public class JinericItems { public static final Item MANGROVE_LADDER = register("mangrove_ladder", new BlockItem(JinericBlocks.MANGROVE_LADDER, new FabricItemSettings())); public static final Item WARPED_LADDER = register("warped_ladder", new BlockItem(JinericBlocks.WARPED_LADDER, new FabricItemSettings())); public static final Item CRIMSON_LADDER = register("crimson_ladder", new BlockItem(JinericBlocks.CRIMSON_LADDER, new FabricItemSettings())); +//REDSTONE + public static final Item REDSTONE_LANTERN = register("redstone_lantern", new BlockItem(JinericBlocks.REDSTONE_LANTERN, new FabricItemSettings())); +//FOOD + public static final Item GOLDEN_POTATO = register("golden_potato", new Item(new FabricItemSettings().food(new FoodComponent.Builder().hunger(6).saturationModifier(14.4f).build()))); + public static final Item GOLDEN_SWEET_BERRIES = register("golden_sweet_berries", new Item(new FabricItemSettings().food(new FoodComponent.Builder().hunger(5).saturationModifier(8f).build()))); + public static final Item GOLDEN_BEETROOT = register("golden_beetroot", new Item(new FabricItemSettings().food(new FoodComponent.Builder().hunger(4).saturationModifier(5f).build()))); //MISC JINERIC public static final Item SOUL_JACK_O_LANTERN = register("soul_jack_o_lantern", new BlockItem(JinericBlocks.SOUL_JACK_O_LANTERN, new FabricItemSettings())); public static final Item NETHERITE_HORSE_ARMOR = register("netherite_horse_armor", new JinericHorseArmorItem(15, "netherite", new FabricItemSettings().fireproof().maxCount(1))); -//WIP ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - - public static final Item RED_NETHER_BRICK_FENCE = register("red_nether_brick_fence", new BlockItem(JinericBlocks.RED_NETHER_BRICK_FENCE, new FabricItemSettings())); +//WIP OR UNKNOWN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + public static final Item REFINERY = register("refinery", new BlockItem(JinericBlocks.REFINERY, new FabricItemSettings())); + public static final Item FIREWEED = register("fireweed", new BlockItem(JinericBlocks.FIREWEED, new FabricItemSettings())); public static final Item TUMBLEWEED = register("tumbleweed", new BlockItem(JinericBlocks.TUMBLEWEED, new FabricItemSettings())); + public static final Item REDSTONE_CAMPFIRE = register("redstone_campfire", new BlockItem(JinericBlocks.REDSTONE_CAMPFIRE, new FabricItemSettings())); +// public static final Item SHULKER_CHEST = register("shulker_chest", new BlockItem(JinericBlocks.SHULKER_CHEST, new FabricItemSettings())); +// public static final Item MANX_LOAGHTAN_SPAWN_EGG = register("manx_loaghtan_spawn_egg", new SpawnEggItem(JinericEntities.MANX_LOAGHTAN, 0x3f4052, 0x12101d, new FabricItemSettings())); +// public static final Item SALT = register("salt", new Item(new FabricItemSettings())); +// public static final Item SALT_BLOCK = register("salt_block", new BlockItem(JinericBlocks.SALT_BLOCK, new FabricItemSettings())); +// public static final Item FROZEN_ELYTRA = register("frozen_elytra", new JinericElytraItem(new FabricItemSettings().maxDamage(432).equipmentSlot(item -> CHEST).rarity(RARE))); -//UNKNOWN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - public static final Item REFINERY = register("refinery", new BlockItem(JinericBlocks.REFINERY, new FabricItemSettings())); //BOREAL // public static final Item BOREAL_WOOD = register("boreal_wood", new BlockItem(JinericBlocks.BOREAL_WOOD, new FabricItemSettings())); // public static final Item BOREAL_LOG = register("boreal_log", new BlockItem(JinericBlocks.BOREAL_LOG, new FabricItemSettings())); @@ -236,8 +277,7 @@ public class JinericItems { // public static final Item BOREAL_TRAPDOOR = register("boreal_trapdoor", new BlockItem(JinericBlocks.BOREAL_TRAPDOOR, new FabricItemSettings())); // public static final Item BOREAL_SAPLING = register("boreal_sapling", new BlockItem(JinericBlocks.BOREAL_SAPLING, new FabricItemSettings())); // public static final Item BOREAL_LEAVES = register("boreal_leaves", new BlockItem(JinericBlocks.BOREAL_LEAVES, new FabricItemSettings())); - public static final Item FIREWEED = register("fireweed", new BlockItem(JinericBlocks.FIREWEED, new FabricItemSettings())); -//RHYOLITE + //RHYOLITE // public static final Item RHYOLITE = register("rhyolite", new BlockItem(JinericBlocks.RHYOLITE, new FabricItemSettings())); // public static final Item RHYOLITE_STAIRS = register("rhyolite_stairs", new BlockItem(JinericBlocks.RHYOLITE_STAIRS, new FabricItemSettings())); // public static final Item RHYOLITE_SLAB = register("rhyolite_slab", new BlockItem(JinericBlocks.RHYOLITE_SLAB, new FabricItemSettings())); @@ -259,35 +299,7 @@ public class JinericItems { // public static final Item RHYOLITE_BRICK_WALL = register("rhyolite_brick_wall", new BlockItem(JinericBlocks.RHYOLITE_BRICK_WALL, new FabricItemSettings())); // public static final Item POLISHED_RHYOLITE_WALL = register("polished_rhyolite_wall", new BlockItem(JinericBlocks.POLISHED_RHYOLITE_WALL, new FabricItemSettings())); // public static final Item RHYOLITE_TILE_WALL = register("rhyolite_tile_wall", new BlockItem(JinericBlocks.RHYOLITE_TILE_WALL, new FabricItemSettings())); -//TUFF - public static final Item COBBLED_TUFF = register("cobbled_tuff", new BlockItem(JinericBlocks.COBBLED_TUFF, new FabricItemSettings())); - public static final Item COBBLED_TUFF_SLAB = register("cobbled_tuff_slab", new BlockItem(JinericBlocks.COBBLED_TUFF_SLAB, new FabricItemSettings())); - public static final Item COBBLED_TUFF_STAIRS = register("cobbled_tuff_stairs", new BlockItem(JinericBlocks.COBBLED_TUFF_STAIRS, new FabricItemSettings())); - public static final Item COBBLED_TUFF_WALL = register("cobbled_tuff_wall", new BlockItem(JinericBlocks.COBBLED_TUFF_WALL, new FabricItemSettings())); - public static final Item SMOOTH_TUFF = register("smooth_tuff", new BlockItem(JinericBlocks.SMOOTH_TUFF, new FabricItemSettings())); - public static final Item SMOOTH_TUFF_STAIRS = register("smooth_tuff_stairs", new BlockItem(JinericBlocks.SMOOTH_TUFF_STAIRS, new FabricItemSettings())); - public static final Item SMOOTH_TUFF_SLAB = register("smooth_tuff_slab", new BlockItem(JinericBlocks.SMOOTH_TUFF_SLAB, new FabricItemSettings())); - public static final Item SMOOTH_TUFF_WALL = register("smooth_tuff_wall", new BlockItem(JinericBlocks.SMOOTH_TUFF_WALL, new FabricItemSettings())); - public static final Item POLISHED_TUFF = register("polished_tuff", new BlockItem(JinericBlocks.POLISHED_TUFF, new FabricItemSettings())); - public static final Item POLISHED_TUFF_STAIRS = register("polished_tuff_stairs", new BlockItem(JinericBlocks.POLISHED_TUFF_STAIRS, new FabricItemSettings())); - public static final Item POLISHED_TUFF_SLAB = register("polished_tuff_slab", new BlockItem(JinericBlocks.POLISHED_TUFF_SLAB, new FabricItemSettings())); - public static final Item POLISHED_TUFF_WALL = register("polished_tuff_wall", new BlockItem(JinericBlocks.POLISHED_TUFF_WALL, new FabricItemSettings())); - public static final Item TUFF_BRICKS = register("tuff_bricks", new BlockItem(JinericBlocks.TUFF_BRICKS, new FabricItemSettings())); - public static final Item TUFF_BRICK_STAIRS = register("tuff_brick_stairs", new BlockItem(JinericBlocks.TUFF_BRICK_STAIRS, new FabricItemSettings())); - public static final Item TUFF_BRICK_SLAB = register("tuff_brick_slab", new BlockItem(JinericBlocks.TUFF_BRICK_SLAB, new FabricItemSettings())); - public static final Item TUFF_BRICK_WALL = register("tuff_brick_wall", new BlockItem(JinericBlocks.TUFF_BRICK_WALL, new FabricItemSettings())); - public static final Item CRACKED_TUFF_BRICKS = register("cracked_tuff_bricks", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICKS, new FabricItemSettings())); - public static final Item CRACKED_TUFF_BRICK_STAIRS = register("cracked_tuff_brick_stairs", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICK_STAIRS, new FabricItemSettings())); - public static final Item CRACKED_TUFF_BRICK_SLAB = register("cracked_tuff_brick_slab", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICK_SLAB, new FabricItemSettings())); - public static final Item CRACKED_TUFF_BRICK_WALL = register("cracked_tuff_brick_wall", new BlockItem(JinericBlocks.CRACKED_TUFF_BRICK_WALL, new FabricItemSettings())); - public static final Item CHISELED_TUFF = register("chiseled_tuff", new BlockItem(JinericBlocks.CHISELED_TUFF, new FabricItemSettings())); - public static final Item TUFF_PILLAR = register("tuff_pillar", new BlockItem(JinericBlocks.TUFF_PILLAR, new FabricItemSettings())); - public static final Item TUFF_TILES = register("tuff_tiles", new BlockItem(JinericBlocks.TUFF_TILES, new FabricItemSettings())); - public static final Item TUFF_TILE_SLAB = register("tuff_tile_slab", new BlockItem(JinericBlocks.TUFF_TILE_SLAB, new FabricItemSettings())); - public static final Item TUFF_TILE_STAIRS = register("tuff_tile_stairs", new BlockItem(JinericBlocks.TUFF_TILE_STAIRS, new FabricItemSettings())); - public static final Item TUFF_TILE_WALL = register("tuff_tile_wall", new BlockItem(JinericBlocks.TUFF_TILE_WALL, new FabricItemSettings())); - -//CALCITE + //CALCITE // public static final Item POLISHED_CALCITE = register("polished_calcite", new BlockItem(JinericBlocks.POLISHED_CALCITE, new FabricItemSettings())); // public static final Item POLISHED_CALCITE_STAIRS = register("polished_calcite_stairs", new BlockItem(JinericBlocks.POLISHED_CALCITE_STAIRS, new FabricItemSettings())); // public static final Item POLISHED_CALCITE_SLAB = register("polished_calcite_slab", new BlockItem(JinericBlocks.POLISHED_CALCITE_SLAB, new FabricItemSettings())); @@ -301,23 +313,11 @@ public class JinericItems { // public static final Item SMOOTH_CALCITE_SLAB = register("smooth_calcite_slab", new BlockItem(JinericBlocks.SMOOTH_CALCITE_SLAB, new FabricItemSettings())); // public static final Item SMOOTH_CALCITE_WALL = register("smooth_calcite_wall", new BlockItem(JinericBlocks.SMOOTH_CALCITE_WALL, new FabricItemSettings())); -//MISC -// public static final Item SHULKER_CHEST = register("shulker_chest", new BlockItem(JinericBlocks.SHULKER_CHEST, new FabricItemSettings())); - public static final Item GOLDEN_POTATO = register("golden_potato", new Item(new FabricItemSettings().food(new FoodComponent.Builder().hunger(6).saturationModifier(14.4f).build()))); - public static final Item GOLDEN_SWEET_BERRIES = register("golden_sweet_berries", new Item(new FabricItemSettings().food(new FoodComponent.Builder().hunger(5).saturationModifier(8f).build()))); - public static final Item GOLDEN_BEETROOT = register("golden_beetroot", new Item(new FabricItemSettings().food(new FoodComponent.Builder().hunger(4).saturationModifier(5f).build()))); -// public static final Item MANX_LOAGHTAN_SPAWN_EGG = register("manx_loaghtan_spawn_egg", new SpawnEggItem(JinericEntities.MANX_LOAGHTAN, 0x3f4052, 0x12101d, new FabricItemSettings())); -// public static final Item SALT = register("salt", new Item(new FabricItemSettings())); -// public static final Item SALT_BLOCK = register("salt_block", new BlockItem(JinericBlocks.SALT_BLOCK, new FabricItemSettings())); -// public static final Item FROZEN_ELYTRA = register("frozen_elytra", new JinericElytraItem(new FabricItemSettings().maxDamage(432).equipmentSlot(item -> CHEST).rarity(RARE))); - public static final Item REDSTONE_LANTERN = register("redstone_lantern", new BlockItem(JinericBlocks.REDSTONE_LANTERN, new FabricItemSettings())); - public static final Item REDSTONE_CAMPFIRE = register("redstone_campfire", new BlockItem(JinericBlocks.REDSTONE_CAMPFIRE, new FabricItemSettings())); - - private static Item register(String name, Item item) { return Registry.register(Registries.ITEM, new Identifier("jineric", name), item); } + //TODO: Check if necessary public static void itemRegistry() { } diff --git a/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java b/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java index c199b943..7d4efc60 100644 --- a/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java +++ b/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java @@ -9,7 +9,6 @@ public class JinericBlockEntityRenderer { public static void register() { BlockEntityRendererFactories.register(JinericBlockEntityType.REDSTONE_CAMPFIRE, RedstoneCampfireBlockEntityRenderer::new); BlockEntityRendererFactories.register(JinericBlockEntityType.JINERIC_CHEST, ChestBlockEntityRenderer::new); -// BlockEntityRendererRegistry.register(JinericBlockEntityType.BOREAL_CHEST, GenericChestBlockEntityRenderer::new); BlockEntityRendererFactories.register(JinericBlockEntityType.REDSTONE_CAMPFIRE, RedstoneCampfireBlockEntityRenderer::new); } } diff --git a/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java b/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java index 27e296ed..d968cb95 100644 --- a/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java +++ b/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java @@ -36,7 +36,6 @@ public class JinericBlockEntityType { public static void registerBlockEntities() { Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "jineric_chest"), JINERIC_CHEST); -// Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "boreal_chest"), BOREAL_CHEST); // Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "shulker_chest"), SHULKER_CHEST); Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "refinery"), REFINERY); Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "campfire"), REDSTONE_CAMPFIRE); diff --git a/src/main/java/jingy/jineric/registry/JinericBlockMaterials.java b/src/main/java/jingy/jineric/registry/JinericBlockMaterials.java index 3f417697..30fcce75 100644 --- a/src/main/java/jingy/jineric/registry/JinericBlockMaterials.java +++ b/src/main/java/jingy/jineric/registry/JinericBlockMaterials.java @@ -6,9 +6,11 @@ public class JinericBlockMaterials { public static final Material OBSIDIAN = new Material( - MapColor.BLACK, false, true, true, true, false, false, PistonBehavior.BLOCK); + MapColor.BLACK, false, true, true, true, false, false, PistonBehavior.BLOCK + ); public static final Material SHULKER_CHEST_MATERIAL = new Material( - MapColor.PURPLE, false, true, true, true, false, false, PistonBehavior.BLOCK); + MapColor.PURPLE, false, true, true, true, false, false, PistonBehavior.BLOCK + ); } diff --git a/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java b/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java index 5d9caf5c..50a1e0c0 100644 --- a/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java +++ b/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java @@ -42,10 +42,7 @@ public class JinericEntityModelLayers extends EntityModelLayers { public static final EntityModelLayer MANGROVE_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "mangrove_chest"), "main"); public static final EntityModelLayer DOUBLE_MANGROVE_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_mangrove_chest_left"), "main"); public static final EntityModelLayer DOUBLE_MANGROVE_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_mangrove_chest_right"), "main"); - public static final EntityModelLayer SHULKER_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "shulker_chest"), "main"); - public static final EntityModelLayer FROZEN_ELYTRA = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "frozen_elytra"), "main"); - public static final EntityModelLayer TURTLE_SADDLE = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "turtle"), "saddle"); } diff --git a/src/main/java/jingy/jineric/registry/JinericEntityModels.java b/src/main/java/jingy/jineric/registry/JinericEntityModels.java index 2b68c8d5..2204a7b1 100644 --- a/src/main/java/jingy/jineric/registry/JinericEntityModels.java +++ b/src/main/java/jingy/jineric/registry/JinericEntityModels.java @@ -11,10 +11,8 @@ public class JinericEntityModels { public static void register() { - //TexturedModelData.of(TurtleEntityModel.getModelData(0, new Dilation(0.5F)), 128, 64) EntityModelLayerRegistry.TexturedModelDataProvider turtleSaddle = () -> TexturedModelData.of(TurtleEntityModel.getModelData(0, new Dilation(0.5F)), 128, 64); EntityModelLayerRegistry.registerModelLayer(jingy.jineric.client.render.entity.model.JinericEntityModelLayer.TURTLE_SADDLE, turtleSaddle); -// EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayer.TURTLE_SADDLE, TurtleEntityModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(jingy.jineric.client.render.entity.model.JinericEntityModelLayer.MANX_LOAGHTAN, ManxLoaghtanModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(jingy.jineric.client.render.entity.model.JinericEntityModelLayer.MANX_LOAGHTAN_WOOL, ManxLoaghtanWoolModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.ACACIA_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); diff --git a/src/main/java/jingy/jineric/registry/JinericEntityRenderers.java b/src/main/java/jingy/jineric/registry/JinericEntityRenderers.java index 8883df74..2cc424ec 100644 --- a/src/main/java/jingy/jineric/registry/JinericEntityRenderers.java +++ b/src/main/java/jingy/jineric/registry/JinericEntityRenderers.java @@ -4,7 +4,6 @@ import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry; public class JinericEntityRenderers { - public static void register() { EntityRendererRegistry.register(JinericEntities.MANX_LOAGHTAN, ManxLoaghtanRenderer::new); } diff --git a/src/main/java/jingy/jineric/registry/JinericScreenHandlerTypes.java b/src/main/java/jingy/jineric/registry/JinericScreenHandlerTypes.java index d3cdcbbb..c0de1e75 100644 --- a/src/main/java/jingy/jineric/registry/JinericScreenHandlerTypes.java +++ b/src/main/java/jingy/jineric/registry/JinericScreenHandlerTypes.java @@ -6,7 +6,6 @@ import net.minecraft.client.gui.screen.ingame.HandledScreens; public class JinericScreenHandlerTypes { - public static void register() { HandledScreens.register(JinericScreenHandlerType.SHULKER_CHEST, ShulkerChestScreen::new); HandledScreens.register(JinericScreenHandlerType.REFINERY, RefineryScreen::new); diff --git a/src/main/java/jingy/jineric/screen/JinericScreenHandlerType.java b/src/main/java/jingy/jineric/screen/JinericScreenHandlerType.java index 7aa8d681..44916ea4 100644 --- a/src/main/java/jingy/jineric/screen/JinericScreenHandlerType.java +++ b/src/main/java/jingy/jineric/screen/JinericScreenHandlerType.java @@ -8,15 +8,12 @@ import net.minecraft.util.Identifier; public class JinericScreenHandlerType { - public static final Identifier SHULKER_CHEST_SCREEN_ID = new Identifier(JinericMain.MOD_ID, "shulker_chest"); public static final Identifier REFINERY_SCREEN_ID = new Identifier(JinericMain.MOD_ID, "refinery"); - public static ScreenHandlerType SHULKER_CHEST; public static ScreenHandlerType REFINERY; public static void registerScreenHandlers() { -// SHULKER_CHEST = Registry.register(Registries.SCREEN_HANDLER, SHULKER_CHEST_SCREEN_ID, new ScreenHandlerType<>(ShulkerChestScreenHandler::new, null)); SHULKER_CHEST = Registry.register(Registries.SCREEN_HANDLER, SHULKER_CHEST_SCREEN_ID, new ScreenHandlerType<>(ShulkerChestScreenHandler::new, null)); REFINERY = Registry.register(Registries.SCREEN_HANDLER, REFINERY_SCREEN_ID, new ScreenHandlerType<>(RefineryScreenHandler::new, null)); } diff --git a/src/main/java/jingy/jineric/screen/RefineryScreenHandler.java b/src/main/java/jingy/jineric/screen/RefineryScreenHandler.java index 12b2a49a..c1011020 100644 --- a/src/main/java/jingy/jineric/screen/RefineryScreenHandler.java +++ b/src/main/java/jingy/jineric/screen/RefineryScreenHandler.java @@ -8,7 +8,6 @@ import net.minecraft.screen.PropertyDelegate; public class RefineryScreenHandler extends AbstractFurnaceScreenHandler { - public RefineryScreenHandler(int syncId, PlayerInventory playerInventory) { super(JinericScreenHandlerType.REFINERY, JinericRecipeType.REFINING_RECIPE_TYPE, RecipeBookCategory.FURNACE, syncId, playerInventory); } diff --git a/src/main/java/jingy/jineric/world/biome/JinericBiomes.java b/src/main/java/jingy/jineric/world/biome/JinericBiomes.java index a8b25be7..0630a71e 100644 --- a/src/main/java/jingy/jineric/world/biome/JinericBiomes.java +++ b/src/main/java/jingy/jineric/world/biome/JinericBiomes.java @@ -1,11 +1,8 @@ package jingy.jineric.world.biome; public class JinericBiomes { - - //TODO: FIX // // public static final List> BIOMES = new ArrayList<>(); -// // public static RegistryKey BOREAL_FOREST = createBiome("boreal_forest", JinericOverworldBiomes.createBorealForest(false)); // // From b290f18bd24a731769240e5144cac57d84c4c356 Mon Sep 17 00:00:00 2001 From: Jingy <69827559+Jiingy@users.noreply.github.com> Date: Fri, 14 Apr 2023 23:37:14 -0500 Subject: [PATCH 2/6] Fixed bone item related crafting recipes Signed-off-by: Jingy <69827559+Jiingy@users.noreply.github.com> --- .../minecraft/textures/item/bone_meal.png | Bin 453 -> 438 bytes .../bone_block_from_bone_meal_block.json | 19 +++++++++++++++ .../jineric/recipes/bone_from_bone_block.json | 15 ------------ .../data/jineric/recipes/bone_meal_block.json | 2 +- .../bone_meal_from_bone_meal_block.json | 14 +++++++++++ .../data/minecraft/recipes/bone_block.json | 18 ++++++++------ .../recipes/bone_meal_from_bone_block.json | 23 +++++++++--------- 7 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 src/main/resources/data/jineric/recipes/bone_block_from_bone_meal_block.json delete mode 100644 src/main/resources/data/jineric/recipes/bone_from_bone_block.json create mode 100644 src/main/resources/data/jineric/recipes/bone_meal_from_bone_meal_block.json diff --git a/src/main/resources/assets/minecraft/textures/item/bone_meal.png b/src/main/resources/assets/minecraft/textures/item/bone_meal.png index c47fa9a76c62f76cc1d2d6665b38aaf784c06a8a..c10fd618483037987f905affbaa6b33a7988f6f5 100644 GIT binary patch delta 399 zcmV;A0dW4s1GWQ@F@JDLL_t(IjjfWuOF~f?h9ARGoCG(M$f2>N+l4zc1VNy?VvAdw zxCKUB8k(|#AR%zMc>e&UAS!SWtiM3$ikh3y;*V9n2D=BZ783QsSw485^S21;-59g6Da`3!+$m{r-`l^gu)SQ3(+-$ zXlw^4doEp>Pw{kr!%O{v_1Fe2r%52VMlzkJ@mdGq^yG-y6e>aL;KXNJNHU#QplxGM zB?9O=H3eE)!By9(0ibIJjn_K5W}s^ZfLsO|@dPyMM?>zegw>0ifkH zNv88eV>@c5WPe+xj0TQ+d69{X29BCN-d(HN{5E{E5I5#*WPo@g#YexVDqI!IToy_` z^#*SLWAluQ^IKKJHC8LOg3inDZXla`moKVpZLXqghR1kSobG?RrSbyEqiilCowsLo t+`iddMn(f?;Wz#WanJmGsrfhh1eyW)=hMc5H~;_u00>D%PDHLkV1hE!yz~G7 delta 414 zcmV;P0b%~O1H}W7F@JwaL_t(IjjfWsOF~f?#(##RGzD!XkwarkmkW1jXbN&yY;kK7 zx4@7~K~o=sP!P1-Jnf1tCNv1*Ul4dBt1W2pW0kj|&cS;vqUeRQyzu3?;blFMfUkmw|RIk5u3 zXz)n8)55kK=H?er9%5S#@x(e%30yi8c5!`mK&`5xXYvq z;~>3Vj402QRHgvH?adim$+U3<@Z{ea(3cUy0xbfJBinMYEeAkOk1r#E2(j5EMuSIc zRmH~U4sWk7%zw=<0Px`7lgbo`C)Ul*jPhI=_I>m6B4Zi$eY4Z;4Ew%>+lWj;w9QG& z09(m4Z?7*VLg~E1>G5U6yn)WY=N@u$bYWs>VXdkRG(1t=Kra6*pHx{}UBtGWfUtD_ z(f>zFl_^kQa`~+Ex=nL*-dsK_!@fWD8^49<6W;$Q{uj->0}_h*StNS&ng9R*07*qo IM6N<$f*pa&kpKVy diff --git a/src/main/resources/data/jineric/recipes/bone_block_from_bone_meal_block.json b/src/main/resources/data/jineric/recipes/bone_block_from_bone_meal_block.json new file mode 100644 index 00000000..fbf5bddb --- /dev/null +++ b/src/main/resources/data/jineric/recipes/bone_block_from_bone_meal_block.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "bone_block", + "category": "misc", + "key": { + "#": { + "item": "jineric:bone_meal_block" + } + }, + "pattern": [ + " # ", + " # ", + " # " + ], + "result": { + "item": "minecraft:bone_block" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/jineric/recipes/bone_from_bone_block.json b/src/main/resources/data/jineric/recipes/bone_from_bone_block.json deleted file mode 100644 index 5852a5e2..00000000 --- a/src/main/resources/data/jineric/recipes/bone_from_bone_block.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "#" - ], - "key": { - "#": { - "item": "minecraft:bone_block" - } - }, - "result": { - "item": "minecraft:bone", - "count": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/data/jineric/recipes/bone_meal_block.json b/src/main/resources/data/jineric/recipes/bone_meal_block.json index b2e01fe5..2fa6706d 100644 --- a/src/main/resources/data/jineric/recipes/bone_meal_block.json +++ b/src/main/resources/data/jineric/recipes/bone_meal_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "building", + "category": "misc", "key": { "#": { "item": "minecraft:bone_meal" diff --git a/src/main/resources/data/jineric/recipes/bone_meal_from_bone_meal_block.json b/src/main/resources/data/jineric/recipes/bone_meal_from_bone_meal_block.json new file mode 100644 index 00000000..31825aa8 --- /dev/null +++ b/src/main/resources/data/jineric/recipes/bone_meal_from_bone_meal_block.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shapeless", + "group": "bonemeal", + "category": "misc", + "ingredients": [ + { + "item": "jineric:bone_meal_block" + } + ], + "result": { + "count": 9, + "item": "minecraft:bone_meal" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/bone_block.json b/src/main/resources/data/minecraft/recipes/bone_block.json index c229f6df..d70a5218 100644 --- a/src/main/resources/data/minecraft/recipes/bone_block.json +++ b/src/main/resources/data/minecraft/recipes/bone_block.json @@ -1,17 +1,19 @@ { "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], + "group": "bone_block", + "category": "misc", "key": { "#": { "item": "minecraft:bone" } }, + "pattern": [ + "###", + "###", + "###" + ], "result": { - "item": "minecraft:bone_block", - "count": 1 - } + "item": "minecraft:bone_block" + }, + "show_notification": true } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/bone_meal_from_bone_block.json b/src/main/resources/data/minecraft/recipes/bone_meal_from_bone_block.json index dc6d61d1..6cb8f05e 100644 --- a/src/main/resources/data/minecraft/recipes/bone_meal_from_bone_block.json +++ b/src/main/resources/data/minecraft/recipes/bone_meal_from_bone_block.json @@ -1,14 +1,13 @@ { - "type": "minecraft:crafting_shapeless", - "category": "misc", - "group": "bonemeal", - "ingredients": [ - { - "item": "jineric:bone_meal_block" - } - ], - "result": { - "count": 9, - "item": "minecraft:bone_meal" - } + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:bone_block" + } + ], + "result": { + "count": 9, + "item": "minecraft:bone" + } } \ No newline at end of file From 55a224b84282188520b1ec29741c2baa6d02228f Mon Sep 17 00:00:00 2001 From: Jingy <69827559+Jiingy@users.noreply.github.com> Date: Fri, 14 Apr 2023 23:46:40 -0500 Subject: [PATCH 3/6] Added missing recipe for wavy_red_sandstone.json Signed-off-by: Jingy <69827559+Jiingy@users.noreply.github.com> --- .../jineric/recipes/wavy_red_sandstone.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/resources/data/jineric/recipes/wavy_red_sandstone.json diff --git a/src/main/resources/data/jineric/recipes/wavy_red_sandstone.json b/src/main/resources/data/jineric/recipes/wavy_red_sandstone.json new file mode 100644 index 00000000..adb7355d --- /dev/null +++ b/src/main/resources/data/jineric/recipes/wavy_red_sandstone.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "# #", + " # " + ], + "key": { + "#": { + "item": "minecraft:red_sandstone" + } + }, + "result": { + "item": "jineric:wavy_red_sandstone", + "count": 4 + } +} From 1daf31bf3c6bd40e5d0a084827bc3a1b3ae18fec Mon Sep 17 00:00:00 2001 From: Jingy <69827559+Jiingy@users.noreply.github.com> Date: Sat, 22 Apr 2023 15:53:09 -0500 Subject: [PATCH 4/6] Beta v5.0.0-1.19.4 Bug Fixes: - Egg block was glowing Additions: - Added trapped wooden chests Removals: - Removed unnecessary 'minecraft' chest texture assets Signed-off-by: Jingy <69827559+Jiingy@users.noreply.github.com> --- .../redstone/trapped_acacia_chest.json | 32 ++++++++ .../recipes/redstone/trapped_birch_chest.json | 32 ++++++++ .../redstone/trapped_crimson_chest.json | 32 ++++++++ .../redstone/trapped_dark_oak_chest.json | 32 ++++++++ .../redstone/trapped_jungle_chest.json | 32 ++++++++ .../redstone/trapped_mangrove_chest.json | 32 ++++++++ .../redstone/trapped_spruce_chest.json | 32 ++++++++ .../redstone/trapped_warped_chest.json | 32 ++++++++ .../jineric/recipes/trapped_acacia_chest.json | 16 ++++ .../jineric/recipes/trapped_birch_chest.json | 16 ++++ .../recipes/trapped_crimson_chest.json | 16 ++++ .../recipes/trapped_dark_oak_chest.json | 16 ++++ .../jineric/recipes/trapped_jungle_chest.json | 16 ++++ .../recipes/trapped_mangrove_chest.json | 16 ++++ .../jineric/recipes/trapped_spruce_chest.json | 16 ++++ .../jineric/recipes/trapped_warped_chest.json | 16 ++++ .../jingy/jineric/block/JinericBlocks.java | 14 +++- .../block/JinericTrappedChestBlock.java | 46 ++++++++++++ .../JinericTrappedChestBlockEntity.java | 23 ++++++ .../render/JinericTextureRenderLayers.java | 52 +++++++++++++ .../generators/JinericModelGenerator.java | 59 ++++++++------- .../generators/JinericRecipeGenerator.java | 50 ++++++++++++ .../jingy/jineric/item/JinericItemGroups.java | 8 ++ .../java/jingy/jineric/item/JinericItems.java | 8 ++ .../registry/JinericBlockEntityRenderer.java | 1 + .../registry/JinericBlockEntityType.java | 14 ++++ .../registry/JinericEntityModelLayers.java | 71 +++++++++++------- .../jineric/registry/JinericEntityModels.java | 47 +++++------- .../jineric/registry/JinericRegistries.java | 8 ++ .../blockstates/trapped_acacia_chest.json | 7 ++ .../blockstates/trapped_birch_chest.json | 7 ++ .../blockstates/trapped_crimson_chest.json | 7 ++ .../blockstates/trapped_dark_oak_chest.json | 7 ++ .../blockstates/trapped_jungle_chest.json | 7 ++ .../blockstates/trapped_mangrove_chest.json | 7 ++ .../blockstates/trapped_spruce_chest.json | 7 ++ .../blockstates/trapped_warped_chest.json | 7 ++ .../resources/assets/jineric/lang/en_us.json | 8 ++ .../jineric/models/block/chest_template.json | 1 - .../models/block/trapped_acacia_chest.json | 7 ++ .../models/block/trapped_birch_chest.json | 7 ++ .../models/block/trapped_crimson_chest.json | 7 ++ .../models/block/trapped_dark_oak_chest.json | 7 ++ .../models/block/trapped_jungle_chest.json | 7 ++ .../models/block/trapped_mangrove_chest.json | 7 ++ .../models/block/trapped_spruce_chest.json | 7 ++ .../models/block/trapped_warped_chest.json | 7 ++ .../models/item/trapped_acacia_chest.json | 3 + .../models/item/trapped_birch_chest.json | 3 + .../models/item/trapped_crimson_chest.json | 3 + .../models/item/trapped_dark_oak_chest.json | 3 + .../models/item/trapped_jungle_chest.json | 3 + .../models/item/trapped_mangrove_chest.json | 3 + .../models/item/trapped_spruce_chest.json | 3 + .../models/item/trapped_warped_chest.json | 3 + .../textures/entity/chest/spruce_chest.png | Bin 2211 -> 2158 bytes .../entity/chest/trapped_acacia_chest.png | Bin 0 -> 1950 bytes .../entity/chest/trapped_acacia_left.png | Bin 0 -> 1666 bytes .../entity/chest/trapped_acacia_right.png | Bin 0 -> 1675 bytes .../entity/chest/trapped_birch_chest.png | Bin 0 -> 1878 bytes .../entity/chest/trapped_birch_left.png | Bin 0 -> 1467 bytes .../entity/chest/trapped_birch_right.png | Bin 0 -> 1485 bytes .../entity/chest/trapped_crimson_chest.png | Bin 0 -> 1709 bytes .../entity/chest/trapped_crimson_left.png | Bin 0 -> 1417 bytes .../entity/chest/trapped_crimson_right.png | Bin 0 -> 1488 bytes .../entity/chest/trapped_dark_oak_chest.png | Bin 0 -> 1584 bytes .../entity/chest/trapped_dark_oak_left.png | Bin 0 -> 1168 bytes .../entity/chest/trapped_dark_oak_right.png | Bin 0 -> 1223 bytes .../entity/chest/trapped_jungle_chest.png | Bin 0 -> 2019 bytes .../entity/chest/trapped_jungle_left.png | Bin 0 -> 1573 bytes .../entity/chest/trapped_jungle_right.png | Bin 0 -> 1514 bytes .../entity/chest/trapped_mangrove_chest.png | Bin 0 -> 1892 bytes .../entity/chest/trapped_mangrove_left.png | Bin 0 -> 1559 bytes .../entity/chest/trapped_mangrove_right.png | Bin 0 -> 1613 bytes .../entity/chest/trapped_spruce_chest.png | Bin 0 -> 2273 bytes .../entity/chest/trapped_spruce_left.png | Bin 0 -> 1758 bytes .../entity/chest/trapped_spruce_right.png | Bin 0 -> 1803 bytes .../entity/chest/trapped_warped_chest.png | Bin 0 -> 2634 bytes .../entity/chest/trapped_warped_left.png | Bin 0 -> 2270 bytes .../entity/chest/trapped_warped_right.png | Bin 0 -> 2397 bytes .../assets/minecraft/atlases/blocks.json | 8 ++ .../assets/minecraft/atlases/chests.json | 20 ----- .../textures/entity/chest/acacia_chest.png | Bin 1853 -> 0 bytes .../entity/chest/acacia_chest_particle.png | Bin 470 -> 0 bytes .../textures/entity/chest/acacia_left.png | Bin 1598 -> 0 bytes .../textures/entity/chest/acacia_right.png | Bin 1605 -> 0 bytes .../textures/entity/chest/birch_chest.png | Bin 1734 -> 0 bytes .../entity/chest/birch_chest_particle.png | Bin 403 -> 0 bytes .../textures/entity/chest/birch_left.png | Bin 1393 -> 0 bytes .../textures/entity/chest/birch_right.png | Bin 1411 -> 0 bytes .../textures/entity/chest/crimson_chest.png | Bin 1626 -> 0 bytes .../entity/chest/crimson_chest_particle.png | Bin 355 -> 0 bytes .../textures/entity/chest/crimson_left.png | Bin 1361 -> 0 bytes .../textures/entity/chest/crimson_right.png | Bin 1428 -> 0 bytes .../textures/entity/chest/dark_oak_chest.png | Bin 1501 -> 0 bytes .../entity/chest/dark_oak_chest_particle.png | Bin 384 -> 0 bytes .../textures/entity/chest/dark_oak_left.png | Bin 1125 -> 0 bytes .../textures/entity/chest/dark_oak_right.png | Bin 1179 -> 0 bytes .../textures/entity/chest/jungle_chest.png | Bin 1860 -> 0 bytes .../entity/chest/jungle_chest_particle.png | Bin 444 -> 0 bytes .../textures/entity/chest/jungle_left.png | Bin 1482 -> 0 bytes .../textures/entity/chest/jungle_right.png | Bin 1440 -> 0 bytes .../textures/entity/chest/mangrove_chest.png | Bin 1774 -> 0 bytes .../entity/chest/mangrove_chest_particle.png | Bin 400 -> 0 bytes .../textures/entity/chest/mangrove_left.png | Bin 1488 -> 0 bytes .../textures/entity/chest/mangrove_right.png | Bin 1555 -> 0 bytes .../textures/entity/chest/shulker_chest.png | Bin 778 -> 0 bytes .../textures/entity/chest/spruce_chest.png | Bin 2211 -> 0 bytes .../entity/chest/spruce_chest_particle.png | Bin 479 -> 0 bytes .../textures/entity/chest/spruce_left.png | Bin 1712 -> 0 bytes .../textures/entity/chest/spruce_right.png | Bin 1765 -> 0 bytes .../textures/entity/chest/warped_chest.png | Bin 2497 -> 0 bytes .../entity/chest/warped_chest_particle.png | Bin 583 -> 0 bytes .../textures/entity/chest/warped_left.png | Bin 2210 -> 0 bytes .../textures/entity/chest/warped_right.png | Bin 2303 -> 0 bytes .../jineric/tags/blocks/wooden_chests.json | 10 ++- .../data/jineric/tags/items/chests.json | 10 ++- .../minecraft/recipes/acacia_chest_boat.json | 16 ++++ .../minecraft/recipes/birch_chest_boat.json | 16 ++++ .../recipes/dark_oak_chest_boat.json | 16 ++++ .../minecraft/recipes/jungle_chest_boat.json | 16 ++++ .../recipes/mangrove_chest_boat.json | 16 ++++ .../minecraft/recipes/oak_chest_boat.json | 16 ++++ .../minecraft/recipes/spruce_chest_boat.json | 16 ++++ .../data/minecraft/recipes/trapped_chest.json | 16 ++++ .../tags/blocks/guarded_by_piglins.json | 10 ++- 126 files changed, 1003 insertions(+), 113 deletions(-) create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_acacia_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_birch_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_crimson_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_dark_oak_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_jungle_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_mangrove_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_spruce_chest.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/redstone/trapped_warped_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_acacia_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_birch_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_crimson_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_dark_oak_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_jungle_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_mangrove_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_spruce_chest.json create mode 100644 src/main/generated/data/jineric/recipes/trapped_warped_chest.json create mode 100644 src/main/java/jingy/jineric/block/JinericTrappedChestBlock.java create mode 100644 src/main/java/jingy/jineric/block/entity/JinericTrappedChestBlockEntity.java create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_acacia_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_birch_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_crimson_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_dark_oak_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_jungle_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_mangrove_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_spruce_chest.json create mode 100644 src/main/resources/assets/jineric/blockstates/trapped_warped_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_acacia_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_birch_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_crimson_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_dark_oak_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_jungle_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_mangrove_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_spruce_chest.json create mode 100644 src/main/resources/assets/jineric/models/block/trapped_warped_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_acacia_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_birch_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_crimson_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_dark_oak_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_jungle_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_mangrove_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_spruce_chest.json create mode 100644 src/main/resources/assets/jineric/models/item/trapped_warped_chest.json create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_dark_oak_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_dark_oak_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_dark_oak_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_mangrove_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_mangrove_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_mangrove_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_right.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_warped_chest.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_warped_left.png create mode 100644 src/main/resources/assets/jineric/textures/entity/chest/trapped_warped_right.png delete mode 100644 src/main/resources/assets/minecraft/atlases/chests.json delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/acacia_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/acacia_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/acacia_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/acacia_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/birch_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/birch_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/birch_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/birch_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/crimson_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/crimson_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/crimson_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/crimson_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/dark_oak_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/dark_oak_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/dark_oak_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/dark_oak_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/jungle_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/jungle_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/jungle_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/jungle_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/mangrove_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/mangrove_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/mangrove_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/mangrove_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/shulker_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/spruce_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/spruce_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/spruce_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/spruce_right.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/warped_chest.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/warped_chest_particle.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/warped_left.png delete mode 100644 src/main/resources/assets/minecraft/textures/entity/chest/warped_right.png create mode 100644 src/main/resources/data/minecraft/recipes/acacia_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/birch_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/dark_oak_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/jungle_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/mangrove_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/oak_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/spruce_chest_boat.json create mode 100644 src/main/resources/data/minecraft/recipes/trapped_chest.json diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_acacia_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_acacia_chest.json new file mode 100644 index 00000000..38613833 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_acacia_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_acacia_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_acacia_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_birch_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_birch_chest.json new file mode 100644 index 00000000..3ade8300 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_birch_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_birch_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_birch_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_crimson_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_crimson_chest.json new file mode 100644 index 00000000..1d7ba950 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_crimson_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_crimson_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_crimson_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_dark_oak_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_dark_oak_chest.json new file mode 100644 index 00000000..e0c6b2e9 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_dark_oak_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_dark_oak_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_dark_oak_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_jungle_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_jungle_chest.json new file mode 100644 index 00000000..d762964c --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_jungle_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_jungle_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_jungle_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_mangrove_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_mangrove_chest.json new file mode 100644 index 00000000..e0a231c4 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_mangrove_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_mangrove_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_mangrove_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_spruce_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_spruce_chest.json new file mode 100644 index 00000000..3c099d09 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_spruce_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_spruce_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_spruce_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_warped_chest.json b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_warped_chest.json new file mode 100644 index 00000000..3c1803b3 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/redstone/trapped_warped_chest.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chest": { + "conditions": { + "items": [ + { + "tag": "jineric:wooden_chests" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "jineric:trapped_warped_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_chest", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "jineric:trapped_warped_chest" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_acacia_chest.json b/src/main/generated/data/jineric/recipes/trapped_acacia_chest.json new file mode 100644 index 00000000..1db6f291 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_acacia_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:acacia_chest" + } + ], + "result": { + "item": "jineric:trapped_acacia_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_birch_chest.json b/src/main/generated/data/jineric/recipes/trapped_birch_chest.json new file mode 100644 index 00000000..74105b6d --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_birch_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:birch_chest" + } + ], + "result": { + "item": "jineric:trapped_birch_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_crimson_chest.json b/src/main/generated/data/jineric/recipes/trapped_crimson_chest.json new file mode 100644 index 00000000..b57d5fc6 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_crimson_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:crimson_chest" + } + ], + "result": { + "item": "jineric:trapped_crimson_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_dark_oak_chest.json b/src/main/generated/data/jineric/recipes/trapped_dark_oak_chest.json new file mode 100644 index 00000000..b59c632b --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_dark_oak_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:dark_oak_chest" + } + ], + "result": { + "item": "jineric:trapped_dark_oak_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_jungle_chest.json b/src/main/generated/data/jineric/recipes/trapped_jungle_chest.json new file mode 100644 index 00000000..175876cf --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_jungle_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:jungle_chest" + } + ], + "result": { + "item": "jineric:trapped_jungle_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_mangrove_chest.json b/src/main/generated/data/jineric/recipes/trapped_mangrove_chest.json new file mode 100644 index 00000000..39365582 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_mangrove_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:mangrove_chest" + } + ], + "result": { + "item": "jineric:trapped_mangrove_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_spruce_chest.json b/src/main/generated/data/jineric/recipes/trapped_spruce_chest.json new file mode 100644 index 00000000..83461525 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_spruce_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:spruce_chest" + } + ], + "result": { + "item": "jineric:trapped_spruce_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/trapped_warped_chest.json b/src/main/generated/data/jineric/recipes/trapped_warped_chest.json new file mode 100644 index 00000000..50afa952 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/trapped_warped_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "redstone", + "group": "trapped_chest", + "ingredients": [ + { + "item": "minecraft:tripwire_hook" + }, + { + "item": "jineric:warped_chest" + } + ], + "result": { + "item": "jineric:trapped_warped_chest" + } +} \ No newline at end of file diff --git a/src/main/java/jingy/jineric/block/JinericBlocks.java b/src/main/java/jingy/jineric/block/JinericBlocks.java index c7e08769..dd30a0e1 100644 --- a/src/main/java/jingy/jineric/block/JinericBlocks.java +++ b/src/main/java/jingy/jineric/block/JinericBlocks.java @@ -244,7 +244,7 @@ public class JinericBlocks { public static final Block PRISMARINE_CRYSTAL_BLOCK = register("prismarine_crystal_block", new Block(FabricBlockSettings.copy(SEA_LANTERN).luminance(state -> 4).requiresTool())); // public static final Block GUNPOWDER_BLOCK = register("gunpowder_block", new Block(FabricBlockSettings.copy(SAND))); public static final Block BLAZE_ROD_BLOCK = register("blaze_rod_block", new Block(FabricBlockSettings.copy(CHARCOAL_BLOCK))); - public static final Block EGG_BLOCK = register("egg_block", new Block(FabricBlockSettings.copy(GLOWSTONE).sounds(BlockSoundGroup.CALCITE).strength(0.50F))); + public static final Block EGG_BLOCK = register("egg_block", new Block(FabricBlockSettings.copy(CALCITE).sounds(BlockSoundGroup.CALCITE).strength(0.50F))); public static final Block STICK_BLOCK = register("stick_block", new PillarBlock(FabricBlockSettings.copy(OAK_PLANKS))); public static final Block PAPER_BLOCK = register("paper_block", new Block(FabricBlockSettings.copy(AZALEA_LEAVES).sounds(BlockSoundGroup.AZALEA_LEAVES))); @@ -274,14 +274,22 @@ public class JinericBlocks { //CHESTS public static final Block ACACIA_CHEST = register("acacia_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.ACACIA)); public static final Block BIRCH_CHEST = register("birch_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.BIRCH)); -//// public static final Block BOREAL_CHEST = register("boreal_chest", new FabricBlockSettingsBase(FabricBlockSettings.copy(CHEST), JinericChestType.BOREAL)); - public static final Block CRIMSON_CHEST = register("crimson_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.CRIMSON) ); + public static final Block CRIMSON_CHEST = register("crimson_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.CRIMSON)); public static final Block DARK_OAK_CHEST = register("dark_oak_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.DARK_OAK)); public static final Block JUNGLE_CHEST = register("jungle_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.JUNGLE)); // public static final Block SHULKER_CHEST = register("shulker_chest", new ShulkerChestBlock(FabricBlockSettings.of(Material.STONE), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.SHULKER)); public static final Block SPRUCE_CHEST = register("spruce_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.SPRUCE)); public static final Block WARPED_CHEST = register("warped_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.WARPED)); public static final Block MANGROVE_CHEST = register("mangrove_chest", new JinericChestBlock(FabricBlockSettings.copy(CHEST), () -> JinericBlockEntityType.JINERIC_CHEST, WoodType.MANGROVE)); + public static final Block TRAPPED_ACACIA_CHEST = register("trapped_acacia_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.ACACIA)); + public static final Block TRAPPED_BIRCH_CHEST = register("trapped_birch_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.BIRCH)); + public static final Block TRAPPED_CRIMSON_CHEST = register("trapped_crimson_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.CRIMSON)); + public static final Block TRAPPED_DARK_OAK_CHEST = register("trapped_dark_oak_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.DARK_OAK)); + public static final Block TRAPPED_JUNGLE_CHEST = register("trapped_jungle_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.JUNGLE)); + public static final Block TRAPPED_SPRUCE_CHEST = register("trapped_spruce_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.SPRUCE)); + public static final Block TRAPPED_WARPED_CHEST = register("trapped_warped_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.WARPED)); + public static final Block TRAPPED_MANGROVE_CHEST = register("trapped_mangrove_chest", new JinericTrappedChestBlock(FabricBlockSettings.copy(CHEST), WoodType.MANGROVE)); + public static final Block REFINERY = register("refinery", new RefineryBlock(FabricBlockSettings.copy(FURNACE).luminance(state -> 13))); diff --git a/src/main/java/jingy/jineric/block/JinericTrappedChestBlock.java b/src/main/java/jingy/jineric/block/JinericTrappedChestBlock.java new file mode 100644 index 00000000..d07eaa3c --- /dev/null +++ b/src/main/java/jingy/jineric/block/JinericTrappedChestBlock.java @@ -0,0 +1,46 @@ +package jingy.jineric.block; + +import jingy.jineric.block.entity.JinericTrappedChestBlockEntity; +import jingy.jineric.registry.JinericBlockEntityType; +import net.minecraft.block.BlockState; +import net.minecraft.block.WoodType; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.ChestBlockEntity; +import net.minecraft.stat.Stat; +import net.minecraft.stat.Stats; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.MathHelper; +import net.minecraft.world.BlockView; + +public class JinericTrappedChestBlock extends JinericChestBlock { + public JinericTrappedChestBlock(Settings settings, WoodType type) { + super(settings, () -> JinericBlockEntityType.JINERIC_TRAPPED_CHEST, type); + } + + @Override + public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { + return new JinericTrappedChestBlockEntity(pos, state); + } + + @Override + protected Stat getOpenStat() { + return Stats.CUSTOM.getOrCreateStat(Stats.TRIGGER_TRAPPED_CHEST); + } + + @Override + public boolean emitsRedstonePower(BlockState state) { + return true; + } + + @Override + public int getWeakRedstonePower(BlockState state, BlockView world, BlockPos pos, Direction direction) { + return MathHelper.clamp(ChestBlockEntity.getPlayersLookingInChestCount(world, pos), 0, 15); + } + + @Override + public int getStrongRedstonePower(BlockState state, BlockView world, BlockPos pos, Direction direction) { + return direction == Direction.UP ? state.getWeakRedstonePower(world, pos, direction) : 0; + } +} diff --git a/src/main/java/jingy/jineric/block/entity/JinericTrappedChestBlockEntity.java b/src/main/java/jingy/jineric/block/entity/JinericTrappedChestBlockEntity.java new file mode 100644 index 00000000..d92637c0 --- /dev/null +++ b/src/main/java/jingy/jineric/block/entity/JinericTrappedChestBlockEntity.java @@ -0,0 +1,23 @@ +package jingy.jineric.block.entity; + +import jingy.jineric.registry.JinericBlockEntityType; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class JinericTrappedChestBlockEntity extends JinericChestBlockEntity { + public JinericTrappedChestBlockEntity(BlockPos blockPos, BlockState blockState) { + super(JinericBlockEntityType.JINERIC_TRAPPED_CHEST, blockPos, blockState); + } + + @Override + protected void onViewerCountUpdate(World world, BlockPos pos, BlockState state, int oldViewerCount, int newViewerCount) { + super.onViewerCountUpdate(world, pos, state, oldViewerCount, newViewerCount); + if (oldViewerCount != newViewerCount) { + Block block = state.getBlock(); + world.updateNeighborsAlways(pos, block); + world.updateNeighborsAlways(pos.down(), block); + } + } +} diff --git a/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java b/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java index a1dbb70e..a8b706de 100644 --- a/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java +++ b/src/main/java/jingy/jineric/client/render/JinericTextureRenderLayers.java @@ -2,6 +2,7 @@ import jingy.jineric.base.JinericMain; import jingy.jineric.block.entity.JinericChestBlockEntity; +import jingy.jineric.block.entity.JinericTrappedChestBlockEntity; import jingy.jineric.block.entity.ShulkerChestBlockEntity; import net.minecraft.block.WoodType; import net.minecraft.block.entity.BlockEntity; @@ -15,6 +16,9 @@ public class JinericTextureRenderLayers extends TexturedRenderLayers { public static final SpriteIdentifier ACACIA_CHEST = createChestTextureId("acacia_chest"); public static final SpriteIdentifier ACACIA_CHEST_LEFT = createChestTextureId("acacia_left"); public static final SpriteIdentifier ACACIA_CHEST_RIGHT = createChestTextureId("acacia_right"); + public static final SpriteIdentifier TRAPPED_ACACIA_CHEST = createChestTextureId("trapped_acacia_chest"); + public static final SpriteIdentifier TRAPPED_ACACIA_CHEST_LEFT = createChestTextureId("trapped_acacia_left"); + public static final SpriteIdentifier TRAPPED_ACACIA_CHEST_RIGHT = createChestTextureId("trapped_acacia_right"); // public static final SpriteIdentifier BOREAL_CHEST = createChestTextureId("boreal_chest"); // public static final SpriteIdentifier BOREAL_CHEST_LEFT = createChestTextureId("boreal_left"); // public static final SpriteIdentifier BOREAL_CHEST_RIGHT = createChestTextureId("boreal_right"); @@ -40,6 +44,28 @@ public class JinericTextureRenderLayers extends TexturedRenderLayers { public static final SpriteIdentifier MANGROVE_CHEST = createChestTextureId("mangrove_chest"); public static final SpriteIdentifier MANGROVE_CHEST_LEFT = createChestTextureId("mangrove_left"); public static final SpriteIdentifier MANGROVE_CHEST_RIGHT = createChestTextureId("mangrove_right"); + public static final SpriteIdentifier TRAPPED_BIRCH_CHEST = createChestTextureId("trapped_birch_chest"); + public static final SpriteIdentifier TRAPPED_BIRCH_CHEST_LEFT = createChestTextureId("trapped_birch_left"); + public static final SpriteIdentifier TRAPPED_BIRCH_CHEST_RIGHT = createChestTextureId("trapped_birch_right"); + public static final SpriteIdentifier TRAPPED_CRIMSON_CHEST = createChestTextureId("trapped_crimson_chest"); + public static final SpriteIdentifier TRAPPED_CRIMSON_CHEST_LEFT = createChestTextureId("trapped_crimson_left"); + public static final SpriteIdentifier TRAPPED_CRIMSON_CHEST_RIGHT = createChestTextureId("trapped_crimson_right"); + public static final SpriteIdentifier TRAPPED_DARK_OAK_CHEST = createChestTextureId("trapped_dark_oak_chest"); + public static final SpriteIdentifier TRAPPED_DARK_OAK_CHEST_LEFT = createChestTextureId("trapped_dark_oak_left"); + public static final SpriteIdentifier TRAPPED_DARK_OAK_CHEST_RIGHT = createChestTextureId("trapped_dark_oak_right"); + public static final SpriteIdentifier TRAPPED_JUNGLE_CHEST = createChestTextureId("trapped_jungle_chest"); + public static final SpriteIdentifier TRAPPED_JUNGLE_CHEST_LEFT = createChestTextureId("trapped_jungle_left"); + public static final SpriteIdentifier TRAPPED_JUNGLE_CHEST_RIGHT = createChestTextureId("trapped_jungle_right"); + public static final SpriteIdentifier TRAPPED_SHULKER = createChestTextureId("trapped_shulker_chest"); + public static final SpriteIdentifier TRAPPED_SPRUCE_CHEST = createChestTextureId("trapped_spruce_chest"); + public static final SpriteIdentifier TRAPPED_SPRUCE_CHEST_LEFT = createChestTextureId("trapped_spruce_left"); + public static final SpriteIdentifier TRAPPED_SPRUCE_CHEST_RIGHT = createChestTextureId("trapped_spruce_right"); + public static final SpriteIdentifier TRAPPED_WARPED_CHEST = createChestTextureId("trapped_warped_chest"); + public static final SpriteIdentifier TRAPPED_WARPED_CHEST_LEFT = createChestTextureId("trapped_warped_left"); + public static final SpriteIdentifier TRAPPED_WARPED_CHEST_RIGHT = createChestTextureId("trapped_warped_right"); + public static final SpriteIdentifier TRAPPED_MANGROVE_CHEST = createChestTextureId("trapped_mangrove_chest"); + public static final SpriteIdentifier TRAPPED_MANGROVE_CHEST_LEFT = createChestTextureId("trapped_mangrove_left"); + public static final SpriteIdentifier TRAPPED_MANGROVE_CHEST_RIGHT = createChestTextureId("trapped_mangrove_right"); private static SpriteIdentifier createChestTextureId(String variant) { return new SpriteIdentifier(CHEST_ATLAS_TEXTURE, new Identifier(JinericMain.MOD_ID, "entity/chest/" + variant)); @@ -52,6 +78,32 @@ public static SpriteIdentifier getChestTexture(BlockEntity blockEntity, ChestTyp else if (blockEntity instanceof ShulkerChestBlockEntity) { return SHULKER; } + else if (blockEntity instanceof JinericTrappedChestBlockEntity) { + if (woodType == WoodType.ACACIA) { + return getChestTexture(chestType, TRAPPED_ACACIA_CHEST, TRAPPED_ACACIA_CHEST_LEFT, TRAPPED_ACACIA_CHEST_RIGHT); + } + else if (woodType == WoodType.BIRCH) { + return getChestTexture(chestType, TRAPPED_BIRCH_CHEST, TRAPPED_BIRCH_CHEST_LEFT, TRAPPED_BIRCH_CHEST_RIGHT); + } + else if (woodType == WoodType.CRIMSON) { + return getChestTexture(chestType, TRAPPED_CRIMSON_CHEST, TRAPPED_CRIMSON_CHEST_LEFT, TRAPPED_CRIMSON_CHEST_RIGHT); + } + else if (woodType == WoodType.DARK_OAK) { + return getChestTexture(chestType, TRAPPED_DARK_OAK_CHEST, TRAPPED_DARK_OAK_CHEST_LEFT, TRAPPED_DARK_OAK_CHEST_RIGHT); + } + else if (woodType == WoodType.JUNGLE) { + return getChestTexture(chestType, TRAPPED_JUNGLE_CHEST, TRAPPED_JUNGLE_CHEST_LEFT, TRAPPED_JUNGLE_CHEST_RIGHT); + } + else if (woodType == WoodType.SPRUCE) { + return getChestTexture(chestType, TRAPPED_SPRUCE_CHEST, TRAPPED_SPRUCE_CHEST_LEFT, TRAPPED_SPRUCE_CHEST_RIGHT); + } + else if (woodType == WoodType.WARPED) { + return getChestTexture(chestType, TRAPPED_WARPED_CHEST, TRAPPED_WARPED_CHEST_LEFT, TRAPPED_WARPED_CHEST_RIGHT); + } + else if (woodType == WoodType.MANGROVE) { + return getChestTexture(chestType, TRAPPED_MANGROVE_CHEST, TRAPPED_MANGROVE_CHEST_LEFT, TRAPPED_MANGROVE_CHEST_RIGHT); + } + } else if (blockEntity instanceof JinericChestBlockEntity) { if (woodType == WoodType.ACACIA) { return getChestTexture(chestType, ACACIA_CHEST, ACACIA_CHEST_LEFT, ACACIA_CHEST_RIGHT); diff --git a/src/main/java/jingy/jineric/data/generators/JinericModelGenerator.java b/src/main/java/jingy/jineric/data/generators/JinericModelGenerator.java index 5905a88f..db7605e8 100644 --- a/src/main/java/jingy/jineric/data/generators/JinericModelGenerator.java +++ b/src/main/java/jingy/jineric/data/generators/JinericModelGenerator.java @@ -19,10 +19,8 @@ public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGen @Override public void generateItemModels(ItemModelGenerator itemModelGenerator) { - } - public void registerBlockSet(Block block, Block stairBlock, Block slabBlock, Block wallBlock, BlockStateModelGenerator blockStateModelGenerator) { blockStateModelGenerator.registerSimpleCubeAll(block); registerStairs(stairBlock, blockStateModelGenerator); @@ -34,30 +32,37 @@ private static TextureMap getBlock(Block block) { return TextureMap.all(block); } - public void registerStairs(Block stairBlock, BlockStateModelGenerator blockStateModelGenerator) { - TextureMap stairTextureMap = TextureMap.all(TextureMap.getId(stairBlock)); - Identifier regularModelId = Models.STAIRS.upload(stairBlock, stairTextureMap, blockStateModelGenerator.modelCollector); - Identifier innerModelId = Models.INNER_STAIRS.upload(stairBlock, stairTextureMap, blockStateModelGenerator.modelCollector); - Identifier outerModelId = Models.OUTER_STAIRS.upload(stairBlock, stairTextureMap, blockStateModelGenerator.modelCollector); - blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createStairsBlockState(stairBlock, innerModelId, regularModelId, outerModelId)); - } - public void registerSlab(Block slabBlock, BlockStateModelGenerator blockStateModelGenerator) { - TextureMap slabTextureMap = TextureMap.all(TextureMap.getId(slabBlock)); - TextureMap slabTextureMapSide = TextureMap.sideEnd(TextureMap.getSubId(slabBlock, "_side"), slabTextureMap.getTexture(TextureKey.TOP)); - - Identifier bottomModelId = Models.SLAB.upload(slabBlock, slabTextureMapSide, blockStateModelGenerator.modelCollector); - Identifier topModelId = Models.SLAB_TOP.upload(slabBlock, slabTextureMapSide, blockStateModelGenerator.modelCollector); - Identifier doubleModelId = Models.CUBE_COLUMN.uploadWithoutVariant(slabBlock, "_double", slabTextureMapSide, blockStateModelGenerator.modelCollector); - blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createSlabBlockState(slabBlock, bottomModelId, topModelId, doubleModelId)); -// blockStateModelGenerator.registerParentedItemModel(slabBlock, ); - } - public void registerWall(Block wallBlock, BlockStateModelGenerator blockStateModelGenerator) { - TextureMap wallTextureMap = TextureMap.all(TextureMap.getId(wallBlock)); - Identifier postModelId = Models.TEMPLATE_WALL_POST.upload(wallBlock, wallTextureMap, blockStateModelGenerator.modelCollector); - Identifier sideModelId = Models.TEMPLATE_WALL_SIDE.upload(wallBlock, wallTextureMap, blockStateModelGenerator.modelCollector); - Identifier sideTallModelId = Models.TEMPLATE_WALL_SIDE_TALL.upload(wallBlock, wallTextureMap, blockStateModelGenerator.modelCollector); - blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createWallBlockState(wallBlock, postModelId, sideModelId, sideTallModelId)); - Identifier wallInventory = Models.WALL_INVENTORY.upload(wallBlock, wallTextureMap, blockStateModelGenerator.modelCollector); - blockStateModelGenerator.registerParentedItemModel(wallBlock, wallInventory); + public void registerStairs(Block stairBlockTexture, BlockStateModelGenerator blockStateModelGenerator) { + TextureMap stairTextureMap = TextureMap.all(TextureMap.getId(stairBlockTexture)); + Identifier regularModelId = Models.STAIRS.upload(stairBlockTexture, stairTextureMap, blockStateModelGenerator.modelCollector); + Identifier innerModelId = Models.INNER_STAIRS.upload(stairBlockTexture, stairTextureMap, blockStateModelGenerator.modelCollector); + Identifier outerModelId = Models.OUTER_STAIRS.upload(stairBlockTexture, stairTextureMap, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createStairsBlockState(stairBlockTexture, innerModelId, regularModelId, outerModelId)); + } + public void registerSlab(Block slabBlockTexture, BlockStateModelGenerator blockStateModelGenerator) { + TextureMap slabTextureMap = TextureMap.all(TextureMap.getId(slabBlockTexture)); + TextureMap slabTextureMapSide = TextureMap.sideEnd(TextureMap.getSubId(slabBlockTexture, "_side"), slabTextureMap.getTexture(TextureKey.TOP)); + Identifier bottomModelId = Models.SLAB.upload(slabBlockTexture, slabTextureMapSide, blockStateModelGenerator.modelCollector); + Identifier topModelId = Models.SLAB_TOP.upload(slabBlockTexture, slabTextureMapSide, blockStateModelGenerator.modelCollector); + Identifier doubleModelId = Models.CUBE_COLUMN.uploadWithoutVariant(slabBlockTexture, "_double", slabTextureMapSide, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createSlabBlockState(slabBlockTexture, bottomModelId, topModelId, doubleModelId)); + } + public void registerWall(Block wallBlockTexture, BlockStateModelGenerator blockStateModelGenerator) { + TextureMap wallTextureMap = TextureMap.all(TextureMap.getId(wallBlockTexture)); + Identifier postModelId = Models.TEMPLATE_WALL_POST.upload(wallBlockTexture, wallTextureMap, blockStateModelGenerator.modelCollector); + Identifier sideModelId = Models.TEMPLATE_WALL_SIDE.upload(wallBlockTexture, wallTextureMap, blockStateModelGenerator.modelCollector); + Identifier sideTallModelId = Models.TEMPLATE_WALL_SIDE_TALL.upload(wallBlockTexture, wallTextureMap, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createWallBlockState(wallBlockTexture, postModelId, sideModelId, sideTallModelId)); + Identifier wallInventory = Models.WALL_INVENTORY.upload(wallBlockTexture, wallTextureMap, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.registerParentedItemModel(wallBlockTexture, wallInventory); + } + + public void registerFence(Block fenceBlock, Block fenceBlockTexture, BlockStateModelGenerator blockStateModelGenerator) { + TextureMap fenceTextureMap = TextureMap.all(TextureMap.getId(fenceBlockTexture)); + Identifier postModelId = Models.FENCE_POST.upload(fenceBlock, fenceTextureMap, blockStateModelGenerator.modelCollector); + Identifier sideModelId = Models.FENCE_SIDE.upload(fenceBlock, fenceTextureMap, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createFenceBlockState(fenceBlock, postModelId, sideModelId)); + Identifier fenceInventory = Models.FENCE_INVENTORY.upload(fenceBlock, fenceTextureMap, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.registerParentedItemModel(fenceBlock, fenceInventory); } } \ No newline at end of file diff --git a/src/main/java/jingy/jineric/data/generators/JinericRecipeGenerator.java b/src/main/java/jingy/jineric/data/generators/JinericRecipeGenerator.java index fb48fcc5..ed5755f3 100644 --- a/src/main/java/jingy/jineric/data/generators/JinericRecipeGenerator.java +++ b/src/main/java/jingy/jineric/data/generators/JinericRecipeGenerator.java @@ -1,8 +1,18 @@ package jingy.jineric.data.generators; +import jingy.jineric.block.JinericBlocks; +import jingy.jineric.item.JinericItems; +import jingy.jineric.tag.JinericItemTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.block.Blocks; +import net.minecraft.data.server.recipe.CraftingRecipeJsonBuilder; import net.minecraft.data.server.recipe.RecipeJsonProvider; +import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; +import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.Items; +import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.book.RecipeCategory; import java.util.function.Consumer; @@ -23,5 +33,45 @@ public void generate(Consumer exporter) { // offerStonecuttingRecipe(exporter, building, JinericBlocks._SLAB, JinericBlocks.); // offerStonecuttingRecipe(exporter, building, JinericBlocks._STAIRS, JinericBlocks.); // offerStonecuttingRecipe(exporter, building, JinericBlocks._WALL, JinericBlocks.); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_SPRUCE_CHEST, JinericItems.SPRUCE_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_BIRCH_CHEST, JinericItems.BIRCH_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_JUNGLE_CHEST, JinericItems.JUNGLE_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_ACACIA_CHEST, JinericItems.ACACIA_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_DARK_OAK_CHEST, JinericItems.DARK_OAK_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_MANGROVE_CHEST, JinericItems.MANGROVE_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_CRIMSON_CHEST, JinericItems.CRIMSON_CHEST); + offerTrappedChestReipce(exporter, JinericItems.TRAPPED_WARPED_CHEST, JinericItems.WARPED_CHEST); + + + offerStonecuttingRecipe(exporter, building, JinericBlocks.SMOOTH_BASALT_SLAB, Blocks.SMOOTH_BASALT); + offerStonecuttingRecipe(exporter, building, JinericBlocks.SMOOTH_BASALT_STAIRS, Blocks.SMOOTH_BASALT); + offerStonecuttingRecipe(exporter, building, JinericBlocks.SMOOTH_BASALT_WALL, Blocks.SMOOTH_BASALT); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_DEEPSLATE_TILE_SLAB, Blocks.CRACKED_DEEPSLATE_TILES); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_DEEPSLATE_TILE_STAIRS, Blocks.CRACKED_DEEPSLATE_TILES); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_DEEPSLATE_TILE_WALL, Blocks.CRACKED_DEEPSLATE_TILES); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_DEEPSLATE_BRICK_SLAB, Blocks.CRACKED_DEEPSLATE_BRICKS); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_DEEPSLATE_BRICK_STAIRS, Blocks.CRACKED_DEEPSLATE_BRICKS); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_DEEPSLATE_BRICK_WALL, Blocks.CRACKED_DEEPSLATE_BRICKS); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_POLISHED_BLACKSTONE_BRICK_SLAB, Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_POLISHED_BLACKSTONE_BRICK_STAIRS, Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS); + offerStonecuttingRecipe(exporter, building, JinericBlocks.CRACKED_POLISHED_BLACKSTONE_BRICK_WALL, Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS); + createCustomFenceRecipe(JinericBlocks.RED_NETHER_BRICK_FENCE, Ingredient.ofItems(Blocks.RED_NETHER_BRICKS)); + } + + public static void offerTrappedChestReipce(Consumer exporter, ItemConvertible output, ItemConvertible input) { + ShapelessRecipeJsonBuilder.create(RecipeCategory.REDSTONE, output) + .input(Blocks.TRIPWIRE_HOOK) + .input(input) + .group("trapped_chest") + .criterion("has_chest", conditionsFromTag(JinericItemTags.WOODEN_CHESTS)) + .offerTo(exporter); + } + + public static CraftingRecipeJsonBuilder createCustomFenceRecipe(ItemConvertible output, Ingredient input) { + return ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output) + .input('#', input) + .input('X', (ItemConvertible) Items.NETHER_BRICK) + .pattern("#X#") + .pattern("#X#"); } } diff --git a/src/main/java/jingy/jineric/item/JinericItemGroups.java b/src/main/java/jingy/jineric/item/JinericItemGroups.java index 9b13c663..102d8f64 100644 --- a/src/main/java/jingy/jineric/item/JinericItemGroups.java +++ b/src/main/java/jingy/jineric/item/JinericItemGroups.java @@ -188,6 +188,14 @@ public class JinericItemGroups { entries.add(JinericItems.MANGROVE_CHEST); entries.add(JinericItems.CRIMSON_CHEST); entries.add(JinericItems.WARPED_CHEST); + entries.add(JinericItems.TRAPPED_SPRUCE_CHEST); + entries.add(JinericItems.TRAPPED_BIRCH_CHEST); + entries.add(JinericItems.TRAPPED_JUNGLE_CHEST); + entries.add(JinericItems.TRAPPED_ACACIA_CHEST); + entries.add(JinericItems.TRAPPED_DARK_OAK_CHEST); + entries.add(JinericItems.TRAPPED_MANGROVE_CHEST); + entries.add(JinericItems.TRAPPED_CRIMSON_CHEST); + entries.add(JinericItems.TRAPPED_WARPED_CHEST); entries.add(JinericItems.SPRUCE_LADDER); entries.add(JinericItems.BIRCH_LADDER); entries.add(JinericItems.JUNGLE_LADDER); diff --git a/src/main/java/jingy/jineric/item/JinericItems.java b/src/main/java/jingy/jineric/item/JinericItems.java index 0d956d70..d5728cde 100644 --- a/src/main/java/jingy/jineric/item/JinericItems.java +++ b/src/main/java/jingy/jineric/item/JinericItems.java @@ -227,6 +227,14 @@ public class JinericItems { public static final Item MANGROVE_CHEST = register("mangrove_chest", new BlockItem(JinericBlocks.MANGROVE_CHEST, new FabricItemSettings())); public static final Item CRIMSON_CHEST = register("crimson_chest", new BlockItem(JinericBlocks.CRIMSON_CHEST, new FabricItemSettings())); public static final Item WARPED_CHEST = register("warped_chest", new BlockItem(JinericBlocks.WARPED_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_ACACIA_CHEST = register("trapped_acacia_chest", new BlockItem(JinericBlocks.TRAPPED_ACACIA_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_BIRCH_CHEST = register("trapped_birch_chest", new BlockItem(JinericBlocks.TRAPPED_BIRCH_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_SPRUCE_CHEST = register("trapped_spruce_chest", new BlockItem(JinericBlocks.TRAPPED_SPRUCE_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_JUNGLE_CHEST = register("trapped_jungle_chest", new BlockItem(JinericBlocks.TRAPPED_JUNGLE_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_DARK_OAK_CHEST = register("trapped_dark_oak_chest", new BlockItem(JinericBlocks.TRAPPED_DARK_OAK_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_MANGROVE_CHEST = register("trapped_mangrove_chest", new BlockItem(JinericBlocks.TRAPPED_MANGROVE_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_CRIMSON_CHEST = register("trapped_crimson_chest", new BlockItem(JinericBlocks.TRAPPED_CRIMSON_CHEST, new FabricItemSettings())); + public static final Item TRAPPED_WARPED_CHEST = register("trapped_warped_chest", new BlockItem(JinericBlocks.TRAPPED_WARPED_CHEST, new FabricItemSettings())); //LADDERS public static final Item SPRUCE_LADDER = register("spruce_ladder", new BlockItem(JinericBlocks.SPRUCE_LADDER, new FabricItemSettings())); public static final Item BIRCH_LADDER = register("birch_ladder", new BlockItem(JinericBlocks.BIRCH_LADDER, new FabricItemSettings())); diff --git a/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java b/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java index 7d4efc60..85d49b79 100644 --- a/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java +++ b/src/main/java/jingy/jineric/registry/JinericBlockEntityRenderer.java @@ -9,6 +9,7 @@ public class JinericBlockEntityRenderer { public static void register() { BlockEntityRendererFactories.register(JinericBlockEntityType.REDSTONE_CAMPFIRE, RedstoneCampfireBlockEntityRenderer::new); BlockEntityRendererFactories.register(JinericBlockEntityType.JINERIC_CHEST, ChestBlockEntityRenderer::new); + BlockEntityRendererFactories.register(JinericBlockEntityType.JINERIC_TRAPPED_CHEST, ChestBlockEntityRenderer::new); BlockEntityRendererFactories.register(JinericBlockEntityType.REDSTONE_CAMPFIRE, RedstoneCampfireBlockEntityRenderer::new); } } diff --git a/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java b/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java index d968cb95..7058cb2d 100644 --- a/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java +++ b/src/main/java/jingy/jineric/registry/JinericBlockEntityType.java @@ -27,6 +27,19 @@ public class JinericBlockEntityType { JinericBlocks.WARPED_CHEST, JinericBlocks.MANGROVE_CHEST ).build(); + public static final BlockEntityType JINERIC_TRAPPED_CHEST = + FabricBlockEntityTypeBuilder.create( + JinericChestBlockEntity::new, + JinericBlocks.TRAPPED_ACACIA_CHEST, + JinericBlocks.TRAPPED_BIRCH_CHEST, + JinericBlocks.TRAPPED_BIRCH_CHEST, + JinericBlocks.TRAPPED_CRIMSON_CHEST, + JinericBlocks.TRAPPED_DARK_OAK_CHEST, + JinericBlocks.TRAPPED_JUNGLE_CHEST, + JinericBlocks.TRAPPED_SPRUCE_CHEST, + JinericBlocks.TRAPPED_WARPED_CHEST, + JinericBlocks.TRAPPED_MANGROVE_CHEST + ).build(); public static final BlockEntityType REFINERY = FabricBlockEntityTypeBuilder.create(RefineryBlockEntity::new, JinericBlocks.REFINERY).build(); @@ -36,6 +49,7 @@ public class JinericBlockEntityType { public static void registerBlockEntities() { Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "jineric_chest"), JINERIC_CHEST); + Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "jineric_trapped_chest"), JINERIC_TRAPPED_CHEST); // Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "shulker_chest"), SHULKER_CHEST); Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "refinery"), REFINERY); Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(JinericMain.MOD_ID, "campfire"), REDSTONE_CAMPFIRE); diff --git a/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java b/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java index 50a1e0c0..20e2c027 100644 --- a/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java +++ b/src/main/java/jingy/jineric/registry/JinericEntityModelLayers.java @@ -4,6 +4,7 @@ import jingy.jineric.base.JinericMain; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.block.WoodType; import net.minecraft.client.render.entity.model.EntityModelLayer; import net.minecraft.client.render.entity.model.EntityModelLayers; import net.minecraft.util.Identifier; @@ -12,37 +13,49 @@ @Environment(EnvType.CLIENT) public class JinericEntityModelLayers extends EntityModelLayers { - private static final Set LAYERS = Sets.newHashSet(); - public static final EntityModelLayer ACACIA_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "acacia_chest"), "main"); - public static final EntityModelLayer DOUBLE_ACACIA_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_acacia_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_ACACIA_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_acacia_chest_right"), "main"); - public static final EntityModelLayer BIRCH_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "birch_chest"), "main"); - public static final EntityModelLayer DOUBLE_BIRCH_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_birch_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_BIRCH_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_birch_chest_right"), "main"); - public static final EntityModelLayer BOREAL_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "boreal_chest"), "main"); - public static final EntityModelLayer DOUBLE_BOREAL_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_boreal_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_BOREAL_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_boreal_chest_right"), "main"); - public static final EntityModelLayer CRIMSON_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "crimson_chest"), "main"); - public static final EntityModelLayer DOUBLE_CRIMSON_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_crimson_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_CRIMSON_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_crimson_chest_right"), "main"); - public static final EntityModelLayer DARK_OAK_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "dark_oak_chest"), "main"); - public static final EntityModelLayer DOUBLE_DARK_OAK_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_dark_oak_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_DARK_OAK_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_dark_oak_chest_right"), "main"); - public static final EntityModelLayer JUNGLE_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "jungle_chest"), "main"); - public static final EntityModelLayer DOUBLE_JUNGLE_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_jungle_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_JUNGLE_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_jungle_chest_right"), "main"); - public static final EntityModelLayer SPRUCE_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "spruce_chest"), "main"); - public static final EntityModelLayer DOUBLE_SPRUCE_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_spruce_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_SPRUCE_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_spruce_chest_right"), "main"); - public static final EntityModelLayer WARPED_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "warped_chest"), "main"); - public static final EntityModelLayer DOUBLE_WARPED_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_warped_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_WARPED_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_warped_chest_right"), "main"); - public static final EntityModelLayer MANGROVE_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "mangrove_chest"), "main"); - public static final EntityModelLayer DOUBLE_MANGROVE_CHEST_LEFT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_mangrove_chest_left"), "main"); - public static final EntityModelLayer DOUBLE_MANGROVE_CHEST_RIGHT = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "double_mangrove_chest_right"), "main"); public static final EntityModelLayer SHULKER_CHEST = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "shulker_chest"), "main"); - public static final EntityModelLayer FROZEN_ELYTRA = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "frozen_elytra"), "main"); public static final EntityModelLayer TURTLE_SADDLE = new EntityModelLayer(new Identifier(JinericMain.MOD_ID, "turtle"), "saddle"); + + private static EntityModelLayer registerMain(String id) { + return register(id, "main"); + } + + private static EntityModelLayer register(String id, String layer) { + EntityModelLayer entityModelLayer = create(id, layer); + if (!LAYERS.add(entityModelLayer)) { + throw new IllegalStateException("Duplicate registration for " + entityModelLayer); + } else { + return entityModelLayer; + } + } + + private static EntityModelLayer create(String id, String layer) { + return new EntityModelLayer(new Identifier(JinericMain.MOD_ID, id), layer); + } + + public static EntityModelLayer createChest(WoodType woodType) { + return create(woodType.name() + "_chest", "main"); + } + + public static EntityModelLayer createRightDoubleChest(WoodType woodType) { + return create("double_" + woodType.name() + "_chest_right","main"); + } + + public static EntityModelLayer createLeftDoubleChest(WoodType woodType) { + return create("double_" + woodType.name() + "_chest_left", "main"); + } + + public static EntityModelLayer createTrappedChest(WoodType woodType) { + return create("trapped_" + woodType.name() + "_chest", "main"); + } + + public static EntityModelLayer createRightDoubleTrappedChest(WoodType woodType) { + return create("trapped_double_" + woodType.name() + "_chest_right","main"); + } + + public static EntityModelLayer createLeftDoubleTrappedChest(WoodType woodType) { + return create("trapped_double_" + woodType.name() + "_chest_left","main"); + } } diff --git a/src/main/java/jingy/jineric/registry/JinericEntityModels.java b/src/main/java/jingy/jineric/registry/JinericEntityModels.java index 2204a7b1..5e159004 100644 --- a/src/main/java/jingy/jineric/registry/JinericEntityModels.java +++ b/src/main/java/jingy/jineric/registry/JinericEntityModels.java @@ -1,47 +1,34 @@ package jingy.jineric.registry; +import com.google.common.collect.ImmutableMap; +import jingy.jineric.client.render.entity.model.JinericEntityModelLayer; import jingy.jineric.entity.passive.manxloaghtan.ManxLoaghtanModel; import jingy.jineric.entity.passive.manxloaghtan.ManxLoaghtanWoolModel; import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; +import net.minecraft.block.WoodType; import net.minecraft.client.model.Dilation; import net.minecraft.client.model.TexturedModelData; import net.minecraft.client.render.block.entity.ChestBlockEntityRenderer; +import net.minecraft.client.render.entity.model.EntityModelLayer; import net.minecraft.client.render.entity.model.TurtleEntityModel; public class JinericEntityModels { public static void register() { + ImmutableMap.Builder builder = ImmutableMap.builder(); EntityModelLayerRegistry.TexturedModelDataProvider turtleSaddle = () -> TexturedModelData.of(TurtleEntityModel.getModelData(0, new Dilation(0.5F)), 128, 64); - EntityModelLayerRegistry.registerModelLayer(jingy.jineric.client.render.entity.model.JinericEntityModelLayer.TURTLE_SADDLE, turtleSaddle); - EntityModelLayerRegistry.registerModelLayer(jingy.jineric.client.render.entity.model.JinericEntityModelLayer.MANX_LOAGHTAN, ManxLoaghtanModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(jingy.jineric.client.render.entity.model.JinericEntityModelLayer.MANX_LOAGHTAN_WOOL, ManxLoaghtanWoolModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.ACACIA_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_ACACIA_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_ACACIA_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.BIRCH_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_BIRCH_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_BIRCH_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.BOREAL_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_BOREAL_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_BOREAL_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.CRIMSON_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_CRIMSON_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_CRIMSON_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DARK_OAK_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_DARK_OAK_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_DARK_OAK_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.JUNGLE_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_JUNGLE_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_JUNGLE_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.SPRUCE_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_SPRUCE_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_SPRUCE_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.WARPED_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_WARPED_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_WARPED_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.MANGROVE_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_MANGROVE_CHEST_LEFT, ChestBlockEntityRenderer::getLeftDoubleTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.DOUBLE_MANGROVE_CHEST_RIGHT, ChestBlockEntityRenderer::getRightDoubleTexturedModelData); + EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayer.TURTLE_SADDLE, turtleSaddle); + EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayer.MANX_LOAGHTAN, ManxLoaghtanModel::getTexturedModelData); + EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayer.MANX_LOAGHTAN_WOOL, ManxLoaghtanWoolModel::getTexturedModelData); + TexturedModelData jinericChestBlock = ChestBlockEntityRenderer.getSingleTexturedModelData(); + WoodType.stream().forEach(chestType -> builder.put(JinericEntityModelLayers.createChest(chestType), jinericChestBlock)); + TexturedModelData jinericDoubleRightChestBlock = ChestBlockEntityRenderer.getRightDoubleTexturedModelData(); + WoodType.stream().forEach(chestType -> builder.put(JinericEntityModelLayers.createRightDoubleChest(chestType), jinericDoubleRightChestBlock)); + TexturedModelData jinericDoubleLeftChestBlock = ChestBlockEntityRenderer.getLeftDoubleTexturedModelData(); + WoodType.stream().forEach(chestType -> builder.put(JinericEntityModelLayers.createLeftDoubleChest(chestType), jinericDoubleLeftChestBlock)); + WoodType.stream().forEach(chestType -> builder.put(JinericEntityModelLayers.createTrappedChest(chestType), jinericChestBlock)); + WoodType.stream().forEach(chestType -> builder.put(JinericEntityModelLayers.createRightDoubleTrappedChest(chestType), jinericDoubleRightChestBlock)); + WoodType.stream().forEach(chestType -> builder.put(JinericEntityModelLayers.createLeftDoubleTrappedChest(chestType), jinericDoubleLeftChestBlock)); EntityModelLayerRegistry.registerModelLayer(JinericEntityModelLayers.SHULKER_CHEST, ChestBlockEntityRenderer::getSingleTexturedModelData); } } diff --git a/src/main/java/jingy/jineric/registry/JinericRegistries.java b/src/main/java/jingy/jineric/registry/JinericRegistries.java index ba5a8f30..eb52c273 100644 --- a/src/main/java/jingy/jineric/registry/JinericRegistries.java +++ b/src/main/java/jingy/jineric/registry/JinericRegistries.java @@ -56,6 +56,14 @@ private static void registerIsFuel() { registry.add(JinericItems.MANGROVE_CHEST, 300); registry.add(JinericItems.CRIMSON_CHEST, 300); registry.add(JinericItems.WARPED_CHEST, 300); + registry.add(JinericItems.TRAPPED_SPRUCE_CHEST, 300); + registry.add(JinericItems.TRAPPED_BIRCH_CHEST, 300); + registry.add(JinericItems.TRAPPED_JUNGLE_CHEST, 300); + registry.add(JinericItems.TRAPPED_ACACIA_CHEST, 300); + registry.add(JinericItems.TRAPPED_DARK_OAK_CHEST, 300); + registry.add(JinericItems.TRAPPED_MANGROVE_CHEST, 300); + registry.add(JinericItems.TRAPPED_CRIMSON_CHEST, 300); + registry.add(JinericItems.TRAPPED_WARPED_CHEST, 300); } private static void registerCompostable() { diff --git a/src/main/resources/assets/jineric/blockstates/trapped_acacia_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_acacia_chest.json new file mode 100644 index 00000000..4e03d9b8 --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_acacia_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_acacia_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_birch_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_birch_chest.json new file mode 100644 index 00000000..b3e82e35 --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_birch_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_birch_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_crimson_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_crimson_chest.json new file mode 100644 index 00000000..7d4f0abc --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_crimson_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_crimson_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_dark_oak_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_dark_oak_chest.json new file mode 100644 index 00000000..5cc4ef83 --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_dark_oak_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_dark_oak_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_jungle_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_jungle_chest.json new file mode 100644 index 00000000..f47e4e77 --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_jungle_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_jungle_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_mangrove_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_mangrove_chest.json new file mode 100644 index 00000000..725dd93f --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_mangrove_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_mangrove_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_spruce_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_spruce_chest.json new file mode 100644 index 00000000..ca47964b --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_spruce_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_spruce_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/blockstates/trapped_warped_chest.json b/src/main/resources/assets/jineric/blockstates/trapped_warped_chest.json new file mode 100644 index 00000000..802cfe6a --- /dev/null +++ b/src/main/resources/assets/jineric/blockstates/trapped_warped_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "jineric:block/trapped_warped_chest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/lang/en_us.json b/src/main/resources/assets/jineric/lang/en_us.json index c54bd03e..d3ba725a 100644 --- a/src/main/resources/assets/jineric/lang/en_us.json +++ b/src/main/resources/assets/jineric/lang/en_us.json @@ -238,6 +238,14 @@ "block.jineric.mangrove_chest": "Mangrove Chest", "block.jineric.crimson_chest": "Crimson Chest", "block.jineric.warped_chest": "Warped Chest", + "block.jineric.trapped_spruce_chest": "Trapped Spruce Chest", + "block.jineric.trapped_birch_chest": "Trapped Birch Chest", + "block.jineric.trapped_jungle_chest": "Trapped Jungle Chest", + "block.jineric.trapped_acacia_chest": "Trapped Acacia Chest", + "block.jineric.trapped_dark_oak_chest": "Trapped Dark Oak Chest", + "block.jineric.trapped_mangrove_chest": "Trapped Mangrove Chest", + "block.jineric.trapped_crimson_chest": "Trapped Crimson Chest", + "block.jineric.trapped_warped_chest": "Trapped Warped Chest", "container.chestAcaciaDouble": "Double Acacia Chest", "container.chestBirchDouble": "Double Birch Chest", diff --git a/src/main/resources/assets/jineric/models/block/chest_template.json b/src/main/resources/assets/jineric/models/block/chest_template.json index 3cb2e3b8..c1c5d15f 100644 --- a/src/main/resources/assets/jineric/models/block/chest_template.json +++ b/src/main/resources/assets/jineric/models/block/chest_template.json @@ -1,5 +1,4 @@ { - "credit": "Made using Blockbench", "parent": "block/block", "elements": [ { diff --git a/src/main/resources/assets/jineric/models/block/trapped_acacia_chest.json b/src/main/resources/assets/jineric/models/block/trapped_acacia_chest.json new file mode 100644 index 00000000..703e7b75 --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_acacia_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_acacia_chest", + "particle": "jineric:entity/chest/acacia_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_birch_chest.json b/src/main/resources/assets/jineric/models/block/trapped_birch_chest.json new file mode 100644 index 00000000..efc17825 --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_birch_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_birch_chest", + "particle": "jineric:entity/chest/birch_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_crimson_chest.json b/src/main/resources/assets/jineric/models/block/trapped_crimson_chest.json new file mode 100644 index 00000000..af284756 --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_crimson_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_crimson_chest", + "particle": "jineric:entity/chest/crimson_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_dark_oak_chest.json b/src/main/resources/assets/jineric/models/block/trapped_dark_oak_chest.json new file mode 100644 index 00000000..9669df15 --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_dark_oak_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_dark_oak_chest", + "particle": "jineric:entity/chest/dark_oak_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_jungle_chest.json b/src/main/resources/assets/jineric/models/block/trapped_jungle_chest.json new file mode 100644 index 00000000..e1899d8f --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_jungle_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_jungle_chest", + "particle": "jineric:entity/chest/jungle_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_mangrove_chest.json b/src/main/resources/assets/jineric/models/block/trapped_mangrove_chest.json new file mode 100644 index 00000000..35c1a9a0 --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_mangrove_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_mangrove_chest", + "particle": "jineric:entity/chest/mangrove_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_spruce_chest.json b/src/main/resources/assets/jineric/models/block/trapped_spruce_chest.json new file mode 100644 index 00000000..280bf66a --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_spruce_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_spruce_chest", + "particle": "jineric:entity/chest/spruce_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/block/trapped_warped_chest.json b/src/main/resources/assets/jineric/models/block/trapped_warped_chest.json new file mode 100644 index 00000000..531784e7 --- /dev/null +++ b/src/main/resources/assets/jineric/models/block/trapped_warped_chest.json @@ -0,0 +1,7 @@ +{ + "parent": "jineric:block/chest_template", + "textures": { + "0": "jineric:entity/chest/trapped_warped_chest", + "particle": "jineric:entity/chest/warped_chest_particle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/jineric/models/item/trapped_acacia_chest.json b/src/main/resources/assets/jineric/models/item/trapped_acacia_chest.json new file mode 100644 index 00000000..627dabe2 --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_acacia_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_acacia_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_birch_chest.json b/src/main/resources/assets/jineric/models/item/trapped_birch_chest.json new file mode 100644 index 00000000..6c8119d7 --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_birch_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_birch_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_crimson_chest.json b/src/main/resources/assets/jineric/models/item/trapped_crimson_chest.json new file mode 100644 index 00000000..64482367 --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_crimson_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_crimson_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_dark_oak_chest.json b/src/main/resources/assets/jineric/models/item/trapped_dark_oak_chest.json new file mode 100644 index 00000000..5e647067 --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_dark_oak_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_dark_oak_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_jungle_chest.json b/src/main/resources/assets/jineric/models/item/trapped_jungle_chest.json new file mode 100644 index 00000000..d6edaddd --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_jungle_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_jungle_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_mangrove_chest.json b/src/main/resources/assets/jineric/models/item/trapped_mangrove_chest.json new file mode 100644 index 00000000..0a3963b5 --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_mangrove_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_mangrove_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_spruce_chest.json b/src/main/resources/assets/jineric/models/item/trapped_spruce_chest.json new file mode 100644 index 00000000..d6e9d59c --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_spruce_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_spruce_chest" +} diff --git a/src/main/resources/assets/jineric/models/item/trapped_warped_chest.json b/src/main/resources/assets/jineric/models/item/trapped_warped_chest.json new file mode 100644 index 00000000..ae2d518b --- /dev/null +++ b/src/main/resources/assets/jineric/models/item/trapped_warped_chest.json @@ -0,0 +1,3 @@ +{ + "parent": "jineric:block/trapped_warped_chest" +} diff --git a/src/main/resources/assets/jineric/textures/entity/chest/spruce_chest.png b/src/main/resources/assets/jineric/textures/entity/chest/spruce_chest.png index fb5444b8e53b6d64eea57589255541ca52496825..0ba66fa24a7c85620b20a18839c53392ba123ad9 100644 GIT binary patch delta 1742 zcmV;<1~K`g5$+JMwE=&mNklYV>Mb=nDlr%#`b0G>U22Eg;@&l4c81~Z>KFw+3k#ix<^ zZ1Xa5e-irldZjY}E-o&XzSBA|v?2g6Uc3O5a;q#@sZ^*|;mo`P;K|7m03GQe-5xhr zZz+^ATv|utXRA|kB9%qDJwz%?UKjwhY-^_6HeggL6@bVhl}d$+i;IPVhw@vhRcKy+ z!^;0*wSdqpoIk>JV65nsRh9|vYS!WDsUQ!Mz7Sag)dYioB zQfy=Z>GppZ+FV?rAaqdVD=9>tvLdqUq;-Xz@~<$~#ZhRzP{rnAXwF2qI#c>U&% z=3BK(n(QXM1~@R&93Gb_)jCu6bQ*+!2Yz{0 zrheN5;PAM_i*>y!t*5D1`_2BOK{5xE~=$BSa!WdN1Gv z{cL!=pHdkhFAO@;qhWj0+7=Dl^Eo3dw+*cA0d?`IDpOG0tDKp4>XTSIf;!zpt_GmX9o}3)fvMod^OQEFZ3Z)DHBGvI3UCTjG!)xd~E>c+l zq^rUtEcc<-TWA1n!N)mOgtVIu9jQ)a01bb#fa4b{eK+d1dQq)FxOkbo4$FP$_2wEt z3x+E-2r9R{FsM(=g%{Lyd|!+Uo6yk~)OC>V9AEB3uD1w@S!6b8x$xYkWTx?<)?3B_ z?n*WOgmsQCa7Qs`Qp~CO{S1k= zYHf9`0UV$3x4-|(|E-tb)aI`9mp}e`D)qfjtZjfoDZ^nZXl?DM44;rR355-D{-}d= z)lNS2jK2z-uZxXBp#9FG{Z5T#Pa=P^0@;)PeUTNkL(gk|c*r?_+dYA`4bXKwepN04 z(Kc4CZTT(k@Oi%@J=*Uqy4HZtPLEbzr&as1ePe9{w3~kppPdF( zSUF`*b#xncK!jT6p&`(b-d4Lq8)bq2)LH-$;?odW;oobI$GR|jNSj-_z1qF4$()aqVYHjHdm^{iZLS7iV z83MYz{c7CW(jPPQ?(3>hy1jpBORNOo@Yg^8*8eu3KY~oQ()7GK4}7Q^ z(-Ej#yNV*dJL>v;MS_~u%JREDS>dk-0a=FES@%8v@#?#UhD#opX?mqIL{=bDS>Nr7 zInys{ia8UJ$|ACYUg?YjGtI{$w+zWbDTDqe3F-FOPpQP8~F(YKqqJ}ZMUQN5?&dV)8Bn#-{EsQNZ zE?x7&@QG#?EAO)0QUgYWT}xMPU2EXGlOAh}&vMCKmRp7&{kOpwF=E7s5hF&77%^hR kh!G=3j2JOu#Q0I+{|BQCpadh8?f?J)07*qoM6N<$f?I%CumAu6 delta 1779 zcmVY~=8OML5cKEU+HzH|Dwt_fLB2*xvqKGfK z6i`nEg2F)2FVHXHFVt_~OVMi;_>zm-ATk&hZWTp{Y>}o&FW*G&YSqJVW_KxyD^r$0 zBm2K--kzO#o_St}N&xKa>|6jmdGZ8+r%#_Ih=8J5bAAeq_w0XBsGqme05rrSJ!ZD* zdi<*O!S4;qTkP)cMxJRABorglh}v*xXXm0?tx~Ji*s@M&w}yQ2a2UX0@|N zrf6|Cmg_P(OVc#_E*q1%ObX6Ad$gvs;(fx{+}yl0IBRScw(oV>J(SD?h=gR`^T4^d z2nl2RUYEuz+3q?nnUp~$CHu|3OF_uK(gHQtb=(Emx;}pl)wnLx3O##7&pzgD?@W)m zt`}Yd7>1Ni<5ep}*SNw5K-dq=ntz`#uH*2o!q<--S<3S8vsV<(!Gd8f-fGf z^WUFO0QlYZLqOi{+5@QM^gU?R58}JMpBFu1B#h`KSEJc?@g|o(I+v=NyjanuAQA~J zkW9+IO~rp;CS`CoM*9NgJn2Je;ur4B1Qvla9xyt0NhViFCRaiXkIpafymL60eZ{0| z2R*$=nN)Iy6o|0sI<7B_TgJiy$XjVPiWXVX2&w+iaeZM-9Gd5aZ?fySlya8VgtM{K zCTBcgqiAW(P|@M&ptI;PBXJ`Qc=7UtR!82Fa&~{p5l;92S3lNts-3se^z2c{>9t!! z;P#!L!i@y5_MlApxO-__g+cKBz~@^VIufisC{xMFTUMH(!r(NTeOJ@n25uyP{Wk@` zXV~-3NhVi-umel+xIU%`D|5JWvZ$>?c1TTVmS-Qn613Hq66Qq6;vEo z^Qt-w(%r>=QB|a&q*lqvB&6LM(sg7-2GD=R1co|UIU9%7TWuO-Kw-Kcq`T|=t`vYG z3}$NJXKq0+JiSI865vcs5}QD23$pKryP>AL%l+oTXoyGj>S4R;*~c@MwrCKxuU@@A zx2l87&P>tW-F}Dj_+LB3`1VH>-eedM$sbqv3z#RJAHktfBXBt^tYb>Fv|oa{_@A)E_%dk zVPOFj%URY^T`Ge;m}GLwAq7+0f-rx$&mJrHT%55qiFd8>uj9=Z#f?m${nn=aR<@mi zgD?foz|r%<6tn~Dm4A4bI{&uc1Qr%RZ|L%yjS>)k#yW1>p<+hOcO94ZTbrIe;>*qT zYwuIaS;=|#8M_Z^|4c~=wYI_|B$4&5jU z{O4H4^`PTZ5T?*`?MYiDMlW8TTzem9JXl^6D1KzkeA8D>FF2byXX0wTz^cnf=GIS|#E=&=M?bT|PVmZr)LKg+&=%51!&&XS8#79z+DuxG95C)Bb!{PJ5 z8~ukuHwW4TiskI3@O0X@aR!c#@5OTVl1eT+U8Dels-@IPeJr?v!Yq|sX1XYZOkksE zg_0TJ_)pX@@vaA#RdP(}>E<951yp$p6A4dJ*Mcy#qnYKEmzge7072DKnOn~uX?0R< zCGlA*xy*D?FzWU?*fq>nFI3g3e^l_>GP(H0sR5I6_Jg4NF;WPVK?oHZi1Dkz{{fa9 VS;>K0Of~=j002ovPDHLkV1j8ogwX&1 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_chest.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..a09605d66625cdde6e1b94355a75e4d75b9c2bb5 GIT binary patch literal 1950 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 M07*qoM6N<$f_r=x8~^|S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_right.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_acacia_right.png new file mode 100644 index 0000000000000000000000000000000000000000..17bb40e46587dcbcec2b2fe16cb3a36e50ead66e GIT binary patch literal 1675 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 QdjJ3c07*qoM6N<$g1t0~=l}o! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_left.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_left.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b192c7b16a02a24ad867e84212668a50406471 GIT binary patch literal 1467 zcmV;s1w{IZP)Px)bxA})RCt{2TF-AAMHK#0uVZ^1u^Yu9aSB+1N+3jYs1S$)xBLO9;*JV;ZU~73 zLL3mZTzjS5xIvGlf(w<3=z#--w3V7e2(|me!8;|pwzH1HVRvR{W@l|@cGrqvKPmEi zJM(sT-n{qCo7v0(z{dK@(Ti&fxO{DU4pZW*OBarKy;7TJ^00r9cntvT#xelFtVOr* z`szo^ea>IFIQ2VD17l--z{{^RnQWPL5YL5W)&T&-bA#)R zCBPf7HsZP1+U#I$)ri@)nv-n-KZ7BQFeZ0VXxRNxPX%IjZ# z^tNyh%d7)t74Y0(pp7L!;YgTOSO6U2=)P_uj1{}8Wmqm5@DE3TQ4;k~1^|o>MIAv} zuo*RjXGb#(Hh6dgQO^mdY|{Y$H#Ne60|*An>qaSZMy0~q_!(vJ2BL0O#WV=pi03Bq zL>d^!AwDI-Sr&Ba4B1IC!dVt{>I~UQIpLJ9Ar8AgY!&#-?0(%p*_Ce^!p zqHRcoc|qF&l;l*QFK_@C5pPgq`=0=Sb7!BMiQQlGCEP!=3Vi;pvY)mC z_`Gz84~ICgt+KMOLxOFr)u^IY4_A4!3a8`bY6rMje0l-fb$<*$@WN0*KqCGD9&uF42SqE zCut70nl^~%vNnhKXzzA0SYF22bI*e;o5wy*%NnUSL$+0hW!B*k2M+PkYT5!pF(NbT z09>?pf$JlJ>z{mctmk}p<^8m;s)TkaOb1A3j%Q>l)7j+P(|Gc>Mlmz@OUGmB}U?SP$5JkP1V(-DuaDG{cHZuE>pDh{yB zx-#^64&c)xsdAeJC;CWC9vEf(NKQ9+iW5bGK$O=G@nc*d&luJ72;(%+c0jNJ@&#Sh zhvx%__}a60Vpjn`T=!Kq0DlIUCIa$^p41#5uLg9$azya@*O%X8vhHzOR?v1pd$-HU z(Pn6`J1_M+U~Lp>j?=P6CaXXi$h%1TORvd;r$=$)cAqM{cN2DzsgA^UIu2S*JGfw0 zV+Rw09?C!8y2tEiVJEz!0{RiaeZ@5@4ODAS0X8t`KM7<2gGwa-v3*lK$(g0ym@iAI zQh+aRo;m$G0HEjeuxKv^^8Nse3&F#G`uy{j36vyHZ!yvZ0})F`hN`` zsW`wPJ}eX1-rB^i?oFXho&o+0kzy8hk9Qv7jEAR7v0Z6<>H|JD~zR zhTWv+m5t=j>i_v~gMZ)H#G@Pc62A==C{Un4fdT~z6ev)jK!E}U3KS?%puqnM{{ou? VvW@%+thfLG002ovPDHLkV1f$5w(S4_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_right.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_birch_right.png new file mode 100644 index 0000000000000000000000000000000000000000..0677d66f3e0147f0709e244d45579f7c33780fbd GIT binary patch literal 1485 zcmV;;1v2`HP)Px)he#&sf;WjE2ns7KiwBL71tY|`Gpl5n?sexYJwrTnS9Mi&b#}U{$Bo!O z2vglvZ+*V?)JJCq05;d_#}}98@yYhy3?}5$54Vm<*euV{_rv~C;yZ#o^I<=6d}Y0PZv&U~|2G{PmB2PF%pHXBx1r3cOwywp9TDc)czFz^*L- zy#bA5)9klgIChb~UuittmZZrVqwbWHjcu!fx8DC8{%{BYD4Hhx;Sj}w0T>1DJx1fO z!~)*f+6+3wDgnK2(9qffAn8b0CD^1uOTDg1%sQ3<_HR#O&aHqN3=8OobL_zQMF3^GzjC^>60}^ z8sUo(jueIM47O7k_fNECJA>^Ml5Ps_4`_G*QFc1o;pmciPZ^DQ*Jq%kP3HY!n@=SuFq)z;}NVD#B4*?=QM!vh-tY$08FlW0%VL*B=w{%LN6{Q7uydVx7N>&O>&CS}Y$PLu(?EX}K)hk(9jgay8g_>#Yna#Ta(XaL z9ncm**1e^B0HOs1Cd|6GbPqtZfFOEH1}JL)5UBR`_g;;w`9q%fTQ0oAHWyDCERMEl zn>AV;u)EU&z#e?s!eJwru*Ock_4Kxc%98xYp@pdnKl0ymYPx$1cM4d^#7&+*@fl zbgqhNc6VCouhZ%_zTCbIbUHd!j-k~70wRK>v9?vg%Ud7o z6rTyoTVb<2M;pT`F$t5=WaCJOu-9pi8tt=yxE=={5lsUU$4-IMgq8;+?b`wQg(kOg znZm(F1?}T78ErDU`z@D?Cql?_(yH)pqtyX2*Jm|=ogOjw|F3HRL2Q_9Rp>jh@nkB9 z`-Mk|wg|eOAJYQykirV#X+ui{39^Q{p3mvQX>2@@fd{beE!zVSEg*Qk?x_+%t(_qG z$_qs6yiE1Ql>!K^)4sUzX6oy-wHMyisd5ah4rm@6qInPqIn|}LQ@s*n>zcOQ#49lXxO!zZc(O|IkCE(i823}9eJ;h*C8JG3rNQ395FwWL560C?I8{ zM1M&}QdWj9D`@?wlVl4_@t&( zUkOwL_I7u0>+mKQDURIIx%gdk8avnXVOuBG=S05QF|pwNh5F_5%JmhAz6&&*NHCJV z*-Lset)0%N?xGQG161oPVhsC7be&B5jZejn-3_MY&Icc1@%dH!z33>_Hzy}2CnqN- nCnqN-CnqN-CnqN-=YP*XJxrr}5m(FS00000NkvXXu0mjf%xB7< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_chest.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..6a518bf3af02cf066b55469cb9ec083aa5abf56d GIT binary patch literal 1709 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 X9zGg}T8@=000000NkvXXu0mjfS^Jz! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_right.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_crimson_right.png new file mode 100644 index 0000000000000000000000000000000000000000..f346202cc16048e7f2d91014cff7742ab17c513f GIT binary patch literal 1488 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 iP*6}%P*70tPVpZdTa^e{KAXk>0000^=Y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_dark_oak_left.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_dark_oak_left.png new file mode 100644 index 0000000000000000000000000000000000000000..125ffa55507ebd94a648b1aa8965c3d63e2acfec GIT binary patch literal 1168 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_left.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3213ec1d04c3b572d9ff05695a20a82c2e8461 GIT binary patch literal 1573 zcmV+=2HN?FP)Px)-$_J4RCt{2na^(%M-<1uBqp1z9cPV`pe%8m7!fGAp)|DswRJ+JAUJ^9V_T`c zRs9!wXhqe3BDbn)PnD{2=qWigiG)(g6bcTcP!*f}unERqW4!CwP3<1sS?_Lk!|r%( zP`e+=dNbpB>zOz6-n?1w1AxiN$yy{5!R+kpKA0qWY_z7Vv#d)lOVW;E8vuO%*%X%M zZzDQ0Axi*AJWOLOIJB#*?EBSsH%*Vx44spclQjTHrBdK|{z^KX{?d%%TNC`1%a_LB zW2$(2dIXOji3o>Sy#GN2`?d?Jwli-IL&%nJ>Zk_~Q`;CBVNl3QsJg1MjK>n_^Scp` zB~W!$v3@@zw+F@t5RWAgoteP5S8tgbpIKbb@1jraK^pTnlHfQ7`Je8A;~31}DC7HU zNeDt29G65sUxqKiK=}9jsp$xCUBLSN3?mXcHf$1%I4 zBpTNj7dF7ME(FF0u(+^cSrS*V6IU=8q*C-9@Ic5FEy)niAe*lnBE&P6Wh-!534BU~ zToL6;&614HOdxjm8bUl%UriDKP0GZ>wB7SZ2d!ecQUk{^D(Um>U0<5N4N2OO{n@G{ zr-GeO8^Egna~y-f_y7Q4abW|&V}mOHHdAi})Msj7&|R|{2cqF1viS-k$9wT0RYr(s zEXk?qVSMt%oUM64Q!ZdN4v;_=otcp1fED@Dxqx0A*h>-@pz(jAYd6#eFvOmD9@~!XjBN3M`jbY+d zKOR34aq&VBo{k+T`}XzjZ;M_y#6l8x@YmA{RwYUI7D*ihNmN$KvEYy@XD3IOwr@N2 zhWz_+`rNSLJg5yo&<=vMY0qr!Io>Y4jh#-ohuntar#66gAY=e~tEC)Vh-ccaH~#uz z!+B5#!B5Yhl!GAW?MA+^y=Q-ApUlk^D*Y^;*6KfRB@izCp0xE8pnfCt?zsp6U@NnU zg9C>E06lK~J9|ki%YBzuQt)?m!OMG5>{M?+&fC39S83S0Yfov1YY4Rg{!IQMmsi)~ zhW!Hm#-t999s%dg;p<`nxL&aId+(hNSs$bcs0|Q45e86S-Suo77o%^;D=n2IRbPL< z56R>M0C=ve?1j=T?1K7E+<|M6~o)$PVlet0p);(g(o$EwZkAvPPpfJ9kU>7D;V@^Jh-rSy7Pd%PT3I4fE*r zG>*b&MFB-oLOhYjD`0Fdjg)&qcEj}NnRw{+*xR36~(_aXa)7$Jp&1BX;` zz~ApfNh~9th{*%Z7gF+|+M#EZn-FX}1%P^7FbZVptxW)pKu7AW)>HP^gW3Q?2kVi) z;Rbn}4f6o7Yg;a_q#DO$wm!f{!ep-=0L=YzNA9QnP7AdG*q+Aqww?s3w`55yqsPs_ z-|xfnO8q;jB&oJ?EA$9NkGO^H22j%DX25y7A(bT6jZj(caWlJai|x=$-P=I5%lOXM z)GINv%}Agj*4C~H@l)lg@vJDcMK8N0fPL*EfFJEO0MK|TqGT(xsY-`O-62(f&YRQK zZI#|{zpf$dQvHjk;y?Z0AOQ4L|3;UvZTR1ygM)*EgM)*EgM)*EgM)*EgM)*^|B8PA XGW@}9k-rZ}00000NkvXXu0mjfoq+W2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_right.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_jungle_right.png new file mode 100644 index 0000000000000000000000000000000000000000..c30b0f2ab06ac3877c5ce461e7f368a33043834b GIT binary patch literal 1514 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 JPDHLkV1mS|`B?w} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_mangrove_right.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_mangrove_right.png new file mode 100644 index 0000000000000000000000000000000000000000..77204b0740898fc6456df612749a2ed55917c840 GIT binary patch literal 1613 zcmV-T2D15yP)Px*2T4RhRCt{2n$2$GR20X5b^LLiG?Pg)4Q1$zm}=BTgpd$ILPBCU;sw~Sm^B;T z1PN)Lfdw0001dCe0+1?H%~YuER8cZ%NK+@yhaDE~b?n9|@pZ}!!au2!<9q-1@$tRq zo_pL4fJUP+d-CK7&z?QoU`3wpKAg#8OBmt#kvmy>E{U|-?@y0cws95oMx!wUc>er3 zjYea3aB#5l4fgiyY?e#_E}b#%Fy1a~V(ptHlS^mJ(P2wj%jvP&lP*Dj^ypFS#KFPA z%HqwE$q&CA((kzd6bf3b-Sd0^$`yg37Xaw}HRO{!cVo_g_*;khn~yr`)p2)a+g3$? z{P?kwP#WCtxfBW-reOiFQ3z(n%-aA1#*-2Kp37FP#ANDW8dj)1I&5JHgKD`3fF=Tm z`K|_K==M7t9k%%Jqg^hY@m0T8}JZH7|-##ziwL{Ag=uHz2p!+zidBSF^!pHBTL1INV{ zHid$QHw8nFYvo8dI|)WY$t(ikj0c>ZwAk6+!4d}U5H?GyR^E*E&s~y?dp(A7)z+~z%xE#l{a@d#5BIg%9obg~`NF9u{03;SxRGlGCO za9oDod_gak1T*hyROpM^kvoBM5b(}US~T5e*na;(9p4T5T>11?$m9UIK946OOe}0+ z$CkmFHy;UxUI=3V#kscI?@*=2&h}1h8T8%xNRTgi!LOEB<6+yojy!k>wgUA$) zCPEN6!8EK`l5=zzym?C)&|kd%-hLejobXoW0bhN*A0DSkh2?LV*>nZUG=`oJHd67#L_&(u-}8}lph^u zy(O_M;w&Yxtvf*^mq85X@!|FBdCu?lMwCnt59*w~I0DDXV)6o+Q(={|mhAV_(Vtmv zzZNp@235*h-F_$b=HDc1DT$>mYc<=qo86@$Q$ZxDthIHg!q%M%mM}tx$gx;IJYlGxi&*2=$Pw zj|N#4dzU&uE>ZPeJ(9D}k>{FiV$0b|x_f#|m!-B}-_^tGs@R)E7y~R}aQd>(`9&{G zW+csaE6ne&lU65}MHOUut5{XH_d1#-jL?Ik68!guCVYz3;7=1imN3F-y;(A`gn^1~ zvt))-K?P6iqX}Qh-eu?`cM=XM2!?2<-H8RdXm$0{nSb9;tAlJY;MH*lyXYY7x{|$# z4v4-LsmENY^9tv7bhX>|~MOW=i?1I&VsStuymo9F;}5UsNV3riiaFxRB6 z*>1u`yl?cT(H&rxFT9_9^EE$z`yKGEvc1>QAqXxv*Y`=RvxmCf-Ia8j@PinjI06iP zhHaOW?M>o8_HD2-1J?R&FefJ`CnqN-CnqN-CnqN-CnqN-=YPfD^ZiFCxTE*(00000 LNkvXXu0mjfH&+z6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_chest.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..413039452cc8b4eddde6695a1b82f9bcd988f36a GIT binary patch literal 2273 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_left.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_left.png new file mode 100644 index 0000000000000000000000000000000000000000..2a177dd1f2e6e6110c122e7d0177541c230d4047 GIT binary patch literal 1758 zcmV<41|j*0P)Px*m`OxIRCt{2noVyT#~H_eTohl`P7%6uvA)?uzVTIQv2^WqL#sLc0Hpc4qeB z%>3t>=WUe%*xueAJ$(3(M~@z5m=V8wur^Z9wqwV}+?E?_tMP`o2SCj`pds#IH}@zy zSpYh%eoRL7D=68Wot>H2I14h{+uNhb&RHh;%O8I>0$3}U9G$5Q)`&GHeKX!Mic?Y`7 zoeHyFuV3EW&dwVJheP?-8;!`4iEUhN7+8t(`{126jU&ievVGF^$ysKsT@tdbv_Oq1 z*?Gg<+}zX>Y`fR-eWc8vt=TkTgCI zXy2#z?^Z@2Pdzws2sB|hydXb5MRiU7^vg}2K0Bsd%>z&wt9;w@0clSZ&IjS?EBx#6 z3;zD(<;}1GQFZTM_;4Zn4P%AuN(NTUxIOSLI6Q6Pwp>2gydC?koMm!82n}c3^YI2Q zbT5-MZ)g*cT?r2&Z-ghU{wghy@0ze;A}kwda?+KXDG4*M^dLRKTEUcr2#2=khh!`W z+645*Cz2f-I(5>Dm@FBF88hM`q>3L98o0LSQzyR{a)XmN>H2{enJ2UfQ1@MAGO>1) zjA)Et81Up(i5ktw218%3)Lq_tVo_nv3T5XFZ32GrVGRgF*y!`s;VhI-FNebN&WA)G zoIrl>D3pcgx=T)kwogq;hNdM!3RfjV3e%FJg(X9}f`9(`k4F$UWU4*w*{yEHeq%Bl zoVOf++4m{+eE#~~S>j%`ufYAgw`qGm<*GaO@1c8BP(EB(Hnnx|2FHObyYt>H#5)^! z1DDfgj}IT*<#o4(ux!dz*;lUSDOd9dtIaoihcUU?=5r~W4e^^@AlZd#6A+Ee)TC+y z(ZFT09aZ_Yf(&?0n?2f|AEeVK*g!7`jLrvfxwo0GpEL0b(-mEt02Q~NU& z(pr%1(AD*Vg+^-z5Qf4fVbYlBQ&6PLI$x<^l3Opr=iepnLz{r7&yE8_)_5C3CQ9=8 z6+wRAY4z!}4ijc+(g@`4g>pv+GtH;$$5nL%Z2~&2K2#I>5*9LvcfbCEcHX3uH7_kV zsYGTs_k!oQ&jw#!IjT*-o%e15#~AhB2fnBs!&_6 zQW7R#Jb9tJ+^NteK&7cVWv#!x`W{|=4__X~e)H4+BwYiEKm6vWx=Xzh#+zSBhK$-m zZ=l*IT|Z{b)ELOJ)^#xLN?ixnGJ>$Yveu$%0@?(qvQ{*+tF6yg*3vBI_g*E}p zE^C#9$u~FY3aBr_I%TbgALYYHk}zCWeTrQ56{#|r?adL|6`|ig_|eF%ZfTXZqRCBk z{7uyz&`E}_#}fA&0auiCjlZM{m-$>LVG z5Vk;AcA%=2f)fNvm4bt?Y=kXvt6LPE?9%0w!JaDtYXy^XHIMrL0&n1wv%qsba+Zt- zge_v;pkA*Bb-rcFC3z%;YZ<|B_s?Me6N*k2u_{kM*y7T=C1KKVJ)VF1N!Yn;xhc@r z0AbmIN|vknOBLGJ-4>qf1qo5Pn!lvV%aXgwi_Gl`C^b}zh%QVaNtG8aXI;HT?JMxr z;cHG`b^?{$C_Ay@i15PFHjJ(E{$*8Ow4B-ZS#ye0_o1x;-iHfc?Hx5iB78@sG)jRCzYhiiMT!(DQlv|J@qdN?0jb8MY`J*M0ssI207*qoM6N<$f<#bB AxBvhE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_right.png b/src/main/resources/assets/jineric/textures/entity/chest/trapped_spruce_right.png new file mode 100644 index 0000000000000000000000000000000000000000..84aa91d753831481b4d813716785c05dc7bbfbd9 GIT binary patch literal 1803 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 diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/acacia_right.png b/src/main/resources/assets/minecraft/textures/entity/chest/acacia_right.png deleted file mode 100644 index 1b667379df2ac4c1081927e57c51296765dc553d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1605 zcmV-L2DPx)|4BqaRCt{2n$M5hL=?xrar|pdOxkS1R>h0tN>uC(7Fj|??U@^@5J+%>3sMgp z5Pt`~^nk>P6G(8VkT`JVf{<4H5E85?QY~6*)uqWs!NF_CiI;;j;~Cp&;~&)))t^ho z<9YU*A8+Qp=d=L8vaFNKmoMY`_3JIHiDg+Q?6qMSx$PXs$<)2G^)CQG6O-4Cj~7rR z0RRw$5zcP3={;|ryz0YmeqUS1b!eqKvbVRl)(b4lI{Ek&jb8hnpW9B=)J)xv_I6zQx+bi^d55D@DmN#U9yLUW`XnF8-+?lCA!+X2W0sy|h zbx7}@>+%D2Z{h=(001ss+=>Uo4GQVD4x(wAl^;SnH}L{=HHDT*{r!KE85RY80xwn|`qUcf}W?Dy{u(btuXtUC)~ zkEWby{Q0+6Mb%tNuK<>=rqCHa@$b_G&JA=GmGS}CdIvyH z0B``ev&e0y%Y2(VV;`R%J_SCVc91Kp8d=x(O4%KB1*HeTaU7s0;FF{Cv@V@pvTd7| zuk{X=K7XWfowYMG^rd8o2ChSG|dfE+#rHInsTP`C}R35)DjJvn;kmCByUGz_w#xO ze=uzybS9q$kC!&5KrJhPOaedgUjXVvV>r{>$7F{KDkb((@vAhju4QX^X3IJ+3>o+x6I5F#@-B% zlMPgMgoqR5&O+e+UtF74JK$CU>k9zDr*B&Tilx)8-1x4n%DFVbP@Nrl5UfnP6YGAG zw=C;~O^X%Lch$hPu3o)*^12kKmF|pvJa<;jcy;M}Ux%@0S5%Hr_D>F5>QUyqM9vV78IveZl?Hi4pYaTd4y*BwQc zxMvjAHxB`bmsT(fF?562i3y{`p;?xPZh&AG(oAp}IepoIvgnEcU6xAgn>zrko4T{z zr#8lZkW@95%gEZcjWTioFgT-^9)PrL5q(!7nx+XgJc4)Vavvnwe`b(+MG~NDD$H)Y zq>9Q_{l2$6?dW+cx~3&;4%?NOn`Q)3f#VQ9PnW<=EdcjE@%>I}_|0 zD5Y;6PyDyRhK7cQhK7cQhK7cQhK7cQhK7cQCyM_7J$sqRj8Vo!00000NkvXXu0mjf D#oGT| diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/birch_chest.png b/src/main/resources/assets/minecraft/textures/entity/chest/birch_chest.png deleted file mode 100644 index 2c911d32bb6642cec06c94560a52584f4a56905e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1734 zcmV;%208hOP)EX>4Tx04R}tkv&MmP!xqvQ>7vm2Rn!eW~c?hf~bh2RIvyaN?V~-2a}inL6e3g z#l=x@EjakISaoo5*44pP5Cnff9G#pLU8KbOl0u6ZA6(wYdG8$VyAKc=6{eb96M(8& zMk*c?v$<6<@CrXhs3I7Xn5ieyiy3&XuY36Tei!9g-uM1oeM;VBfKMczW4d7xZxGLH zS~}-_;t(rI3h_DdxIqmPKXP4m`HgeYVS#6cj7(~tI7BQKJ6P^uRx(uLY2vV=YLqWz zT~;`6aaJoe*6NeLFqqd?(p;w+MjT5>APEsNYAB-u3sKrNQcR@iJm%paa{Nhh$>b`7 zkz)Z>sE`~#_#gb9ty!3wbd!QHp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A`$>Ae zt%Z+({%zpmx~<83z~v4w_@qmQb?)@3iLk1F;Npz_=;C{{R34{7FPXRCt{2nN4rpL>R|^>3Y{|Z-pIo zQAwag0we?i4je$-`2+}wE2T%SaN)p_1N53B&=0@|C=w?QMe2bAgdik>6e8_XX`|Rx z*Si~U6b|-`XT0{l*m0Vb{FAEA+hb>*d7l5wcsBsvf9vKsz^mKW0oc8Nu)zYp`{wq! zD4SMGwogWOBD>hy3*0qlGVg{f#Xg zyMrGLaqJENelP^U>E3`~Ec^Um$o^g*+d9W}nzC(YYq1@K7dvYO;OPttvK{G4NxLN%jt~J*EB$hh^n<< z#e`1~f~JaG^uz{DrL2xo&jvFSixpp#Gsjdwxdb0%Y3#`A@W(uf61~WLNZk%h=7s zusROdZM?pR=XW|3l7eJ+fFZr3 z#O~uyzg_Ab_jd0{yDBJr6gI7v+>TU57G<#usC}l@((G1wS5=h03#9kuC?b+@7JZ%{ z=4!z_#IvfRR0PaByQ@wS?P4V_R4-ihy`D76c~>>nr;KPk@&;i_C|5%m0UCa2RYEb3K;a#2c&pdd@BJwMd+ z!1KdGD_Qj}P&fs|YKqgE9}F|k0BUp;jesg6r<4X9_VrVrm~eX4()Gi>$GzPPNE`Ir;$ByP2mGEsO*0=>Kzc5{##aIn9}!@&csGrbLM-v9)>@iZ2$lO07*qoM6N<$g7*VR_5c6? diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/birch_chest_particle.png b/src/main/resources/assets/minecraft/textures/entity/chest/birch_chest_particle.png deleted file mode 100644 index 5faf2f3a3ef1bc67779241218aa5f12779343c93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmV;E0c`$>P)Px$O-V#SR5*>rl1)wmK@f#M%mC9!W`@8*HnMQ-#*-K?V7!DoFW@D-f!8n^<3 zZ>Nk<@fzuto*o}Q0dTUx;qwOofnP5WNdThRPpOy#pydpdPvF<_TiccL0sI!slmr#0 z7(?{eXG& xVpnB*RWb9BbWVl!T7v9HO7x<%J`*c`q+c6-ifK62GerOZ002ovPDHLkV1kZ(uqgll diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/birch_left.png b/src/main/resources/assets/minecraft/textures/entity/chest/birch_left.png deleted file mode 100644 index 5839fe8f68c1170f1bda16c382296d9477651556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1393 zcmV-%1&;cOP)Px)D@jB_RCt{2S-+3tL=^t^;%pq}guU9Jy(~XcfP{pOEhs?r`v;&Ce*gz15*I6T-}Joxp=S`T>rW{=CR(*X^9xK0NEKm$L%-rWU) zF>j-RkK>~u_HS4j+kS7gEfAG3WEs}#E_!_a|z^lZp2FH=n&H z-NSV{fMWxJ9}l#<3uqh($A$}lP-6PJxv=&;+sLrlun^5>fYp%oL&Z&tz?% z5@8$x0C-+U^I0~>#mLay&*r#eFV{@^lgEYQP4p_N{Ui zFm}N4(NNM;aywTxLva|3Ge3A7r;F2G@bWeYw=e*e?l}NmYr|9o#&;~T8~iWqKKSIW zcC5w`@XlMWa#>oxbHMui^4s44fH&WGc_VfJa5~K2L>W6k%u7Ne5K7>=O>JL7<87?l zwbAY*tGr`_3`wPSz-sO=c7WU66=bE6u{JAY)b<4ZS8i;?&UNxv5n~7Zar7j9=2DWP znLdnmPEQ_h#BLRF8asfD{)zt+z17~vB%EeS-AOn_n6yduf}BTap)X$pfLl3aW(s2m z?7x)8ndde^XvA}p>eCbQWT+td`f42sz1!Po)fI;^hCaYUqP zz}g6natoVPsHz+;yct?nx2sM9s+q+iFm}M{Fq`L0S1T_@ghgQ*JKd_ZVq zJd0O$6#(RQUsnT&XMjZ_po-`z%mM0Zzy_>Fgs9)U^C6c_kJHM6u>%HYBSB6#L+7Jy zrQejdF%&sYD;uS(0!5(iBH2H?rVgGR#Vy-?>g*~x5<49d^m|@>!Lc(36Ox|DKR^15 z+i${7dPfb+BS83yYqh$t+s^?WFb3?47~uqCj9X7}K`xRzwo@5#SY~WCXh&#N&8aYePx)JxN4CRCt{2nmupiL>R~a$$H~m?+H7)MPUPB3r<2HNI`MvDw=!&XsAOE6;w!+ z6hMVU%Y6YP+C!qEIHW5mAOs;1q$SesA#D`oIT^^g78l|Wp-ws zd41+TFTM=`IN0C0e0lc+O9j0mVYMB*~+OiG{ z;V{aj@d2rsP2&=lE5K@HzpWPUXxp}VTD)5F!Qg8?jKo=WI^r@&)9CW48>@=&6w@z6~c95wgl*` zq^>V$0PzT_1v%T)^#u(e92Y~XbC&BjlT*s^y+9WLGk@O%e>$K)z!vj_Lu;Lr-|Bjs@XN(1UgAfUyWt_g0<( zm=-Wdn7X&}48XL2A$v;=XlnqFsP-41yqj0^C;T2wd<4@oA)R$to^9E-Zj1)t_-F!v zUVP4^%TVIRs>=`%!w-A_$-!uhK*%#jAS{*fLovNBHcW1Hx_0k6gC%pt7AQyL){M2VUti<@Tzux;+qmaX-^yDyMXMTiAQA1fThtTaGfynfTD9d zpnlL4*6|uHHaZwzhuLhi*&R)MA)N^!<*Hrb-^OSFRIX1ofG&@m`~TN9fFXCxb$UEb z?mSxx@_FHDVl0Aw5a+Z&-m|F?UN?+HkfG|BAH;$lT*uA>HFyAZZ`B!qX#pb$XV*#u zjZT8>D=(1k^D5PscM2eRPW$%m2bG`GUU}o7|I_&aJMhU7b&2W$P_`5(9ucw{IoCoKF5@B>kO+e|+!yzu;+0DyD< z9NXS@5`G+E`$kgn58vHW7FgD`}&L$|#Yz74Wbn=d2bFP8HxtU%Y!l)CEOlm(<~ zb@*Ra5R0QKtz)+i%C@(N^#80xi0nr=_s`SVZWc!3RvhVDU1d9yYj7CB4`R5EW_uNI z4LCVI!h`93AyJ;W-M#!w{Cl7 zti}9-?~_%ZsCDeEX>4Tx04R}tkv&MmP!xqvQ>7vm2Rn!eW~c?hf~bh2RIvyaN?V~-2a}inL6e3g z#l=x@EjakISaoo5*44pP5Cnff9G#pLU8KbOl0u6ZA6(wYdG8$VyAKc=6{eb96M(8& zMk*c?v$<6<@CrXhs3I7Xn5ieyiy3&XuY36Tei!9g-uM1oeM;VBfKMczW4d7xZxGLH zS~}-_;t(rI3h_DdxIqmPKXP4m`HgeYVS#6cj7(~tI7BQKJ6P^uRx(uLY2vV=YLqWz zT~;`6aaJoe*6NeLFqqd?(p;w+MjT5>APEsNYAB-u3sKrNQcR@iJm%paa{Nhh$>b`7 zkz)Z>sE`~#_#gb9ty!3wbd!QHp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A`$>Ae zt%Z+({%zpmx~<83z~v4w_@qmQb?)@3iLk1F;Npz_=;C{{R34kV!;ARCt{2non;VMHIk)sn_dxtQf7b zX{%thA%{|NX(Oa^;eZgA3W*QG_kk-%J^|u_Dh{X;2bA`LLMuTdr8JPOENppQZxV&W z`mJZzYwz0Y-K6ULE}og4H|sZl-n@CUYXG0#-Mav|w|5_aZ@&L-jSRm0@RJKYKMI1> zdJWs2+fH7&AO83?^FJ+vCCURl-G2gv9rDY;e&!25-n>loNY?2Kk5uo+6x8%xOQt{r53^3-rk-nOe;%6{xnP!Z`apjb)*CIx^6>F6r3>&lF!S+ zl0;smg;5aDQ4X%%(nk9<>Hz=z6jiIEYBs7?r=y%`y^FHZXpj6@ncGmfb_=(mVsd3* zqc%?I!}Jp6zTv$H-fVEkKgoBwR&U>)6k8eto&{B&$*-EiOW@(oUT&9GNA~%ooNS4*49ccZ2k1WfB8Q=6<;q~~ix2iL zva7wl{PfrSL!AZi^+%t@9F^qM(~VR|Ieh#3&s+t$gZ>H6UjGfioy~3TZfvE>%_CX@ z$y1n)oZ6(}*t1KLgV2uj-gBa~{w%NmV99ot*9T8-XO}4#8p~TzURPR|o5xz!k)5jL zvLZ=Kp9HHmo>|6hSqg1~H^=L*Z8d@E=#8xJ-q{d<BVv>FzM>1g9DAoJZqO8o;AD?SGyKrLCGm9niL#bQwfxn4Sgt z^JBVPH44Q8T)V~X4L2HH8FfAFG{ZV&2RD~xB>|DP)x@=1>?$`p#qFw4X_*;1$u&QZ zMd~g?vD08Mh>bdsnZIh7kXR96eO)Klcv}8hk(ZUkN_B{aF8_k%ak`_OK>}!Hcp-=~;ZF_n1SB1h$z-hKpogmk4;ROTQ z8_iVZbq_Dg6)uxP9U#8FczAh@T++8M)7Q_!gv4NSs)KM;^?X{HjQraoH;-!o51d=H zt%((vbXwU1XA*&_T5ealx#eU#&eZ{WC@C!xqnFLP*Q-KK50*A;d&=nQa(S=SED@5% z4)La}@?qbLy)5>k3gtS=i2|R8c(Hbp?RJ!tD<)_`{O%s+Uq>bH`Ky#mvWm-73*ysk z6a-TZ>t(a1ausqgQCfnc(s^z}rM8uYrAJrw>*^%>b#*c#Tcw=-ISs($SI+_XYUf_8 zPTKp@h#VpLR_F1n=h3%2K<2kQRmh($07*qoM6N<$f(O7IlmGw# diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/crimson_chest_particle.png b/src/main/resources/assets/minecraft/textures/entity/chest/crimson_chest_particle.png deleted file mode 100644 index 9d1f8151e0af9ee8a3bd56da2f1815326b4b82a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmV-p0i6DcP)Px$9Z5t%R5*>LlD$gAKoo_))iHsw3T&k*>_i*wZ0#%rAH=t@@j(O&!NOLn6~UiQ zG%E`m98`=Xn?;LdhC7*AP`u4B=bn4+FZ|Pb0Q>7Z-x92wCQ43|#QUE+Dxqi^_2JatDC28FQU6Fhc;!<}(`DPnH4L&Q@KO$|I!Oy=7ey^L0%DOr|YIH|H!Z z&h#eJHcF29m316$?mF=J_JV`8EjN>*GMqeK2b`dVqB5@ZvaW(Q24+Y<)!wib`0J5# z=$gcAjH^IqPm?6b9>Y9=TxT9(-qbDE6R<*$~<`i z@9kG0Vli2rJEYOuOw}IA^XoV`9E*)GbC2!M_5($0j96e~02BZK002ovPDHLkV1g`K Bn#2GA diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/crimson_left.png b/src/main/resources/assets/minecraft/textures/entity/chest/crimson_left.png deleted file mode 100644 index edc77d11a282be8831daa2105f9cb0908a6dce44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1361 zcmV-X1+MyuP)Px)3rR#lRCt{2T2E^mM->01TCJ=VQdqJ|j3eyeLMvKIEduGq&=PtnJ@#Al`?S{{ z`w2=fB{Wb9ITX8u1l5HQ8K-sYHA|%KuCN0e z5JvOPZLy`h+5}dq%xyr-c%!@_jG=yFj^I?R8H01AAlY9ujIFILCBog>E%ZkhjM>>~ zkAya>REAYDVU@~gSvH1Igir6hgOk8x%(BxS211)tvEZ0BI2DW077b$+!^eYX9*9rB zQQknKyn+7c0syeNQJ2#4%mZKywk(_J{hobSWmzjj*#^*wC(DcKNu!o5XQ>yBx2|;d zHvq~KKqAj$S)Ih5L|)dHwO$mIH-L0qW&}z1PcH^jFEL^s0szx>nGq!2KlEP3UV?Lt zR{>=ec;TM|h>f8e`6*Y(mxD&meG=$kQ!VSls7;YmuJ1ungcFori=Jdy_P+26;i%bg454e&xAJ9P*BaR@K; z;lYPpt)V{-*=F!e1G7zg^zuNM>rsa9J-pXp(oiIF&)6`k@ZhsDkd^|zpUUe3<;xId zb{(^Zow~zLmrk88+tqlCW7cw|wTcLcl2DHWI6n=v=}0?1k|dH}Z4c@7FR8c+-txu27iw^Rgg_)TB|b3d}!Dq|>s7!fO== zkjS$-d<>&VYUGk)&-?Ro$-vS1AJ>u1gbtr?p%;LH@%4(1V+@=)Hj}EK*pY0v(@( z?ZFl1NzU7{?4@x>uB@=^;d0R{4xgM%CMvViC6VRfbkWOlAz5Ln-(9qD((9qD((9qD((9qD(_+Q~)s|5T* T<+aMh00000NkvXXu0mjfOZ1lL diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/crimson_right.png b/src/main/resources/assets/minecraft/textures/entity/chest/crimson_right.png deleted file mode 100644 index b327d72338ac99adc3857b17201eb24ca53b2ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1428 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 diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/jungle_chest.png b/src/main/resources/assets/minecraft/textures/entity/chest/jungle_chest.png deleted file mode 100644 index 14092fdf617f58a9d6b925431b5dbe09c47945b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1860 zcmV-K2fO%*P)EX>4Tx04R}tkv&MmP!xqvQ>7vm2Rn!eW~c?hf~bh2RIvyaN?V~-2a}inL6e3g z#l=x@EjakISaoo5*44pP5Cnff9G#pLU8KbOl0u6ZA6(wYdG8$VyAKc=6{eb96M(8& zMk*c?v$<6<@CrXhs3I7Xn5ieyiy3&XuY36Tei!9g-uM1oeM;VBfKMczW4d7xZxGLH zS~}-_;t(rI3h_DdxIqmPKXP4m`HgeYVS#6cj7(~tI7BQKJ6P^uRx(uLY2vV=YLqWz zT~;`6aaJoe*6NeLFqqd?(p;w+MjT5>APEsNYAB-u3sKrNQcR@iJm%paa{Nhh$>b`7 zkz)Z>sE`~#_#gb9ty!3wbd!QHp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A`$>Ae zt%Z+({%zpmx~<83z~v4w_@qmQb?)@3iLk1F;Npz_=;C{{R35dPzh7fUD=%wmkLDhdEJ(p82%>fCCNQFd2X$6#$1k!>U z=Yu39CbmoLb!kO&=W!FMxYGQ^TF5R(wCp);r zrGVeu@Tdh%9+$Y_}8(z-s`l?O2fPxR<| zD-U7-MdOjtFkHIRi236ZUtLTd3Z7ua!djLeFaL(3NKE{h<>woVBobK^Wszhui!UmX zxcm=_A~ACA1Gtr7YGMXJpKL9y&}jtis;Z)@D!skE`k$(*mWs0MV&vQr6h$JVDa$r88s_Hx8$_4Z^?ZSdZ;Mvsj7HFIS5eb;^$^JB_VD@g zZMFW?#0;9Y%aGb%l=Nz8#j4N4W*>B1afPA4+OZ;bZdwMbxAt3TVEp5|=fJlNO&dpk52$U8-R&67x zOA-`uZq`m-e}ty(GBq(%Q`{T-jVy!?*i}@!m5V;<8M4dGg)c)4dfvqA?&PcUrwA%; zzWXMEuWeVqe;}7-X>ErKU!P@se4e0R;;-2RLBGVEnYd{`G8*Qm@w?yGbK(NqHNdN~ z8EUgT5hKm4H}&_Tso@TM9QI#)|E*4*(M~8R^WjHF*nFJki_eD$zuU#;<20Xrs?yoM z%QM;$vWE`7K`ZFZMq{R-(+=pFcJM?GLu!9f{VkRuql}${JS!^?qj5#Q<)P z#MYBU#e1?_W@T%K(DQz^^41JHI<>N|^8l!v^je9!Wf$39FoapWzfwt1Fn4dRsBh&J zR)v#YSv%~@0AiU7y%Q?S0m38P9*OzoxGvjl?5hxh{8A@8U}ej?B-U(Hb&X7d`znMs zVyher90&4WI#fZT>hTae$W5Gc`c+ z>5kz+Yh`6^SGSK$I?HVIrY@I!n%~y8ik_(f6mJLX8>{-j__do=_vb=R+;0^6scpgh0Mjb4J}jH#~ZKR9;v9`N_y3BLEh!My7R6il1Zs`MLcb%3MKE$ z)>~X$(9ao%Lw*8*U`0Js1BkOdBO9^RqSKv#r*JOU*E8_^Y>$_&XI$pym*WHimG#Vc y?f*CE;Nalk;Nalk;Nalk;Nalk;Nal!TJb+AIK(>lAt)sP0000Px$c1c7*R5*>TkWEVhQ51$BLogi^qe7xZW}AqjppQk1C~)JhW&fn#&_8L}&W%vG zX;DF8Ul8dSW!RU)sN;x%EyjDileDU{nLFp6_dU;h;g1yn*xOy|rZdarvKOQ?%K((h zFU(9&4xH6YE_=cL!DV0w;OVs^j-~Po01r1+>8Z22(=|a|`1IOgcD|3N3v{907X!6L zeRVS>`Z*(SusN6PszxLto;c3euRVbLof!xMY%C<$T3IA)gvjR4$ZW1+nnfRaGMSRQ zRf^ z-zJq=pA!Sic3GdF1)xx}*x6nabUohT(J7OOsovc6U<6eU<~>m(A~68DS6^QQ%XWL% m!$JWT>ZSF%ef*R-|5D%QR?&LCJcGyp0000Z4 diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/jungle_left.png b/src/main/resources/assets/minecraft/textures/entity/chest/jungle_left.png deleted file mode 100644 index 5f87cb6b5d2e1632f65d06adc78b184de1e4beb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1482 zcmV;*1vUDKP)Px)gh@m}RCt{2na@ufM-<1u5Lb(T;H+Z|!oe6E1ybTVLey%awuV+BN)CzIV_T`c zRs9!wXhqe3f?HL!r=D`?2@VCMh)PaVfgNb6ip?*ZU;YvBt}#M(5ALjY*SpT{cnzrC zkA&XL?7a2Nn|W{EENuWVHa1oXhr^hjo^FFiBDV%A;=0Xd5z0J&rrHJoUwt`_h1q39 zCPRV*fW$@`gZ|#SvbgWJKmM+Hj9R!dHa1oPfK)04uh%=3PN%=oqWDh8JN5X{AY4ot z?@sh%f0sirV8cfrhtYO&Bx$?*b{}$?B1VTD*hrnAzn{TThDX^_7Gx}%z*V;$v1kHi zOBq{h2SU4V$b(okfyiVCKRj8|G(N3ZUfo5R=z1En&y!$T2Kk@=1j{m*eO|&(Pm{>y zN?_R}^7#^62?n`;pN~(3foC~vtsTHOkO%W~+qxxj6(h0u{eCJ%*EI)n*@7+^@G{8ctA+@88QroKSo8!wF}Z93 zrPGQo8JP?ry7CkOFH>Dj5&$*I#75fa`J;Ejvz&GRp0L;&A!+)z=;@?{8t$_MW^>y1TdgDMO=tm}hittD$)>9<}yo@e6 zKGBEIzn(EP4`|8-^u_@a$Rd*=Ar9z~m(B&0;y@!wT!6;^iLTL58$c}&Xe8(7w!!mf zf`99c1FcAesQu}a_eUz@6MfiPI}rR+UMBgwxNZJf4nD6@V)KviVZ-Oiw^l3ud%X ze-ZlNy)Xb^?_dW#p6dVrt6lldUgSzb-^F+eBmGwu`?1cBx;C+4<%Tl?Y6JY8{7WdW zZpKvm`P{Wh-59tD)|th3vn#rP@58qOx^=WbZGhnIAb{%XZe?P4776Sv)ElPF+=_5Cg zURY-baL6_F4kf4!K(;wq)go7_+xi5fR$eVFZic24A+3mA;xa+K1KeFMp-dvZxJ``M z9h%`%2SIWyI_$RQMx;VBr$-~G4M2ikkt?Co!NX>)PF(KqBsLT{-msluB-93ozlclf z!pa}i+LZiWDcjRZD}o@k0d5T31fV|^&L5qqW_5Dov})Unp*FyiU!p>pb!LsZ3>|X1 zz6u$E@nKa1@}7MN%8!{@vR+F64yzVmyU=K`%NTwWIL3kVApv z5liIpdjB;5!0Kie0EBw0^#GvL;llLHlHxp?$^+b8E@Tdg5mM;!T$jWFcb5xAu7p@3 zDhxD#loAGY9(roI3Bj;a0I0?VwLq5M+W}Aubfn&DJ#l{}s14BDQ;qyJH^}2&&HupAld*aLF!SpRp`ZMj9BKpDthMWHH3^b#$s$*R)y}}(<-%gT`iw8~ zlC9hdJp$1qZeh3q#8~YNSZ4?LA}_fSipy3zQ+HcDZ#^ZN`XolS83{DR+VWK)ekwjS zjtjYS(Ic*8xB-CLM-ef52Ro8H$hZ@^%%m4rY07*qoM6N<$f)0wiZ2$lO diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/jungle_right.png b/src/main/resources/assets/minecraft/textures/entity/chest/jungle_right.png deleted file mode 100644 index 8cd9c28259ec8407219fb83489be5638a2889dcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1440 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 diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/mangrove_chest_particle.png b/src/main/resources/assets/minecraft/textures/entity/chest/mangrove_chest_particle.png deleted file mode 100644 index 03c82593a710b0d4c5f83b4053b30df35998f3b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 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 FV1l`tBGUi> diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/shulker_chest.png b/src/main/resources/assets/minecraft/textures/entity/chest/shulker_chest.png deleted file mode 100644 index 870e312cf21364b2599857ba14b19c3b8ccda9c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 778 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU~J8Fb`J1#c2+1T%1_J8No8Qr zm{>c}*5h!1NUMMFQYBG#>kf{z6|4uFR&*>5*~lU06}>Q&ee(2wj+5I|jvfsx(6#un zIij?n@Y>abp#m)R4l;A+h{P^A@_Uj~w}gDmz2lYdW!~-P7myNNHY--RVO6A?mYneB zouP&wxa{3lC`nA7u~Pj~w`9e-_0>Oq)QLZhy!ZWIOs&_wlm>s5dC9vH1@i^Y=R{dO zuYDw-?aB4g^5YIiULpIU*s`C!#TOGB)7yG{vgTR1=!jWIyh{i(3VD?IXv3ncDf%g~ zVHWv?VcMqGUQOO_FyngIrI_VXZZh5;3Y>yQSsII(xC3vQ2Kg*`Ve{;ve9<4zqLWXw znkObRhOU?(WB)_`&%CvfGiH@cZZcf(`{*`%x5fi{7uMYV_I+cnxj(~ycWrBb!@t}Ik9Ms+S$*IspTUnM-fd4j>a-RHFx)%;Vs_Di1G*P>KRdU!wC^&z zg7fC6eT;m3jUE#>UAMh=_p;^o`uAI&eP`atQ*>a5=Dz>H2yyUqaSW-L^Y(_JU#o*i z>%;ltR#IG6P8(c2&)jY}Z6K!8)MqO>J<&I5@g)q^Sil>ccEnBF;)h}3C_3rq*pZ@RP-p=qZt_ThN%1|hCxm0%gE}hc{`JcVq zSzlE#=gY?D*Tos0^+anoTwdC-sAK=D#h(uwuqb#6-P-ndW$eS{nOqJ6EPvL;K8)Y| zK=x+lpNYxA4A*!g5X9`g>=tJdGhTP*-oQ#8+<5nH6gwAYrQ`0po=fty!Hk2}76G0`;lr?3)|FG`qpTrYC zA8%N9B*8vBdY4diBh!Yw1GB)yXGV+tfaxeboFyt=akR{ E0Je-`0RR91 diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/spruce_chest.png b/src/main/resources/assets/minecraft/textures/entity/chest/spruce_chest.png deleted file mode 100644 index fb5444b8e53b6d64eea57589255541ca52496825..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2211 zcmV;U2weAxP)EX>4Tx04R}tkv&MmP!xqvQ>7vm2Rn!eW~c?hf~bh2RIvyaN?V~-2a}inL6e3g z#l=x@EjakISaoo5*44pP5Cnff9G#pLU8KbOl0u6ZA6(wYdG8$VyAKc=6{eb96M(8& zMk*c?v$<6<@CrXhs3I7Xn5ieyiy3&XuY36Tei!9g-uM1oeM;VBfKMczW4d7xZxGLH zS~}-_;t(rI3h_DdxIqmPKXP4m`HgeYVS#6cj7(~tI7BQKJ6P^uRx(uLY2vV=YLqWz zT~;`6aaJoe*6NeLFqqd?(p;w+MjT5>APEsNYAB-u3sKrNQcR@iJm%paa{Nhh$>b`7 zkz)Z>sE`~#_#gb9ty!3wbd!QHp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A`$>Ae zt%Z+({%zpmx~<83z~v4w_@qmQb?)@3iLk1F;Npz_=;C{{R36*-1n}RCt{2noVyT#~H_eq;~kSBsU^y zO16SHP9jtwqN0c|xfD=O1%kpr(J#<1;V;y0;7ieK75I{i+8{C*7H$hd=P#gJcr^ePokf@z3dbaQJoPe@(=_`o8+`Ke6Yit&_?{(Qd zl*|K&gk;|Hz`3{x31jpD?cD@UFtwj~{aM?MvPFJYO3C zM(5JKh(v-f9pHBez-S$I3-tO81sO0oLXw?tmyS<+mJz^w`=p|R9*>~|Kmp(d| zs+zo5(WW302`!LJ%D+v;U?yd7Hb(mbSO! zxRi31)`YXM)Fx*9t!!;P#!L!i@y5_MlApxO-__g+cKBz~@^VIufisC{xMFTUMH(!r(NTeOJ@n z25uyP{Wk@`XV~-3NhVi-ume7t)&ZT>$2t|3Ht!1pA?^OOZ$n?E!oB@xH{o$E7R~{ti=n8Z z=Bi>y;VSw&D~6^kw5!^K@>b{r%T5<1xWqTx_b)#AY*klfs;WEf+o7>yISa^`t-QFR z1K+L{R2*0HsyYnP-Nk-URivS$R>{dEq}>|Qb!0^b(8L6WI$1dzht*qc8e~9Wx*w#w z>;0}2fFcZLYT##XK`%VLMjaC1OiU7+KxqrI?}xjgrn}4i=D}!)NA&7pyXx7;GnTe! z5Vo&gy*{_9gUilL(cRsChx7PfJPLfXeg8sjsO+^jbjfGs4F&DE-5Sm+6gi=kvnb`{cqWCm>EpIdLp-ACHTg7o3i##lY2T*Z8ivZ_V%fLhwFhMi z!r=S;B`k;YR+@^aP_0&3?F>U+xa;_-?MBfe`LTR<%R7C2tAG3Zzx21B|1ir0B>wWp z-!6K@Yhhsl6w6uGQe7&8J(y&2${__)+k!B-&mJrHT%55qiFd8>uj9=Z#f?m${nn=a zR<@migD?foz|r%<6tn~Dm4A4bI{&uc1Qr%RZ|L%yjS>)k#yW1>p<+hOcO94ZTbrIe z;>*qTYwuIaSUzRuBdVD_rCE<)3#^>*-|ZePdw(v|B^I-1M`sjg)oiMYq}a9igImR}<(u?ybHK z-6#tD=UB$|pyN{zrqFZkNn0gGFJ7Kpdmm>!SY8t-eq_yj(^pO}IHw*xK_)oNiTy#y z>MlB`UlhscC9~0P4cUKF;I;WU^sWz52&$4h8^de!G5c={+61Oc*?A}kV>wNrXOC!l zO#rqmTmP7$ZeL}E&UirmRgGq|iJ9~n`Rkv)(!UL;A3>&{(n`~n-Yp<5hTaDwiy*k4 zFooU^d}j&15EeaWl;DziE6t$1g)jvoWoor6E<951yp$p6A4dJ*Mcy#qnYKEmzge7072DKnOn~uX?0R< zCGlA*xy*D?FzWU?*fq>nFI3g3e^l_>GP(H0sR5I6_Jg4NF;WOIV#J6MBSwrEF=E7s l5hF&77%^hRi1Dkz{{fa9S;>K0Of~=j002ovPDHLkV1g=-LsI|% diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/spruce_chest_particle.png b/src/main/resources/assets/minecraft/textures/entity/chest/spruce_chest_particle.png deleted file mode 100644 index 8c206dff440b4c6fdb75e3becbe4a8e5dbe5cf3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmV<50U-W~P)Px$nMp)JR5*>rkf#d- z0g$9aCU*~9UY{NWa#NzU4xPp$)mfX6fL+<^c9 diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/spruce_left.png b/src/main/resources/assets/minecraft/textures/entity/chest/spruce_left.png deleted file mode 100644 index 53db213c850d01d077b5b5db0163b33ff9da028e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1712 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 Hu0mjfJZU~s diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/warped_chest.png b/src/main/resources/assets/minecraft/textures/entity/chest/warped_chest.png deleted file mode 100644 index 9f7fbb18f028491a200003ac4d1da2ad4be701f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2497 zcmV;y2|o6TP)EX>4Tx04R}tkv&MmP!xqvQ>7vm2Rn!eW~c?hf~bh2RIvyaN?V~-2a}inL6e3g z#l=x@EjakISaoo5*44pP5Cnff9G#pLU8KbOl0u6ZA6(wYdG8$VyAKc=6{eb96M(8& zMk*c?v$<6<@CrXhs3I7Xn5ieyiy3&XuY36Tei!9g-uM1oeM;VBfKMczW4d7xZxGLH zS~}-_;t(rI3h_DdxIqmPKXP4m`HgeYVS#6cj7(~tI7BQKJ6P^uRx(uLY2vV=YLqWz zT~;`6aaJoe*6NeLFqqd?(p;w+MjT5>APEsNYAB-u3sKrNQcR@iJm%paa{Nhh$>b`7 zkz)Z>sE`~#_#gb9ty!3wbd!QHp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A`$>Ae zt%Z+({%zpmx~<83z~v4w_@qmQb?)@3iLk1F;Npz_=;C{{R37_en%SRCt{2n$K$++ZD$@BaLMJLaN5K zQpM(l6o=M0E=e|qYzhtzhQ@80g2N-mi*C9t{Rg`5s?cr+Ec!z87RJVbE@IFo zKX8f*F|SRqqImQ)Qz@RYtY6c`ow=4A+fw9++EkyF=FXg%d(WJE?z!KQ0xFOMn0B*au#?d&dcUa14M( z$;20qQH=%h=XDxtK-wr9;_c=qZ&H2r0{=(^ZS*PtmCQ2H(W`7<8zJ^^kxDX!38+oe z=yRiXlJE}0S4yDiTf7NJP+~z8^8>iyPSw4ru2O4&50MKhbF=tL3Dk_3HvWZM1XnUB z?tG`PfA3;hVfc$nIF>E*MKADmYgm2s0JD%qDVaFi#z*IC0TrcW0-y#40OSgh92^$& z-92u`NNLhRj%5Sz{s&sO-E2$O4ghx`?%=#+R}F?B5(V3m=kWVvruUa}7%5F2d)Z!3 zU&I-kK-pNA=aguq=Si?@2ly9mVWc#w;Rvb^s5htvL*lL5mT-vQC(a?>Y~c1i>hUzn z#ya`YaS|a1$FkAW7g00Ia`{uD5fUM>I_v3+vYzM#YWqtLC-(3$d)IG(zqa4#{#FA6 zP;UTYMQGG2qPQ7}h?N6c2Ic)u4i3w(w`b`GNY7Mjddr4IH3S z5m`_Xk5Gzp$40st<|{R}v~^gY;CEGq;`3BbUyY*{}0OS%2h*joh#hh^ILCX-zET1e zkt9Ln2Vbe{@wFevg}ZkgKn}#~MD@`FIgtAOuStX)Y9pVcx!*meV(^F ztlt;UW8s!??9w9k%)Bg|j_POS&wmho`pv?j{ruXr&E-XcN==~Y2Kjgz z15SmVM{;oZP`kDcsK?X$`}1goN>Xf!yaeP}Hi?i!AsT9FKP`4zlk*O3TO9nwr8$X*ib6&daAbV-pOltrA&U zq&9hz$kHM~Q%6r<6kA<4I=nT!Q<8(ja;o%#6GcEho(A2ZSXSCfTgKP~q;3G-`rKIr z^qQ_CU|?+(HM2~9bbMdhas>=|b645|p#_$oJaMJ8j}@e&FbmmFj+#&5#5q8g#Z8F~ z_BShKw!l-4V{c0jSL5Q|2jfD}59lD5o37G-0dpsBY=X`S+^ zQS&LBC<2;gE#OFL%S({iTpsTunOEU;Dy8*`6FK1Bs~03f4ng;L57>G66oC57JP~sh z%hX#2(5;l#E0ha&?>Gl{Y|Y1skkiuMJead!_vSBuJzf$6q_{vXk0+5O2Zz~9Y3u=E zcm7tADZ=b0xwB$-9KJ-zA=xxf0V>mz9@iEwcSa-4fg5Nr%#_gefsq2)2C0LK7IQ1>C>mr{}ulQBD+e?V`OLJ00000 LNkvXXu0mjf?X17M diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/warped_chest_particle.png b/src/main/resources/assets/minecraft/textures/entity/chest/warped_chest_particle.png deleted file mode 100644 index 68fb6dd652fa4562be6afad9aebdcd7b896a587a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 583 zcmV-N0=WH&P)Px%0ZBwbR5*>Tk-=-zU>L@KUmHW0N<&kcQCoJ94v|%?y9DNOw5J^ePa^D3^C0u? zL18qwqmauiSn;r)MqO;e8X8QKW!>VTO}et9zPIn?d4J#gJ`en334q6+-z5M!U*)zm zMK&$sj**FSzKUe^m>XRHZc9^gzRK{;YaykA>hK4mH~||bz~<=)QB(j(f)Rn|koYzL zx*g%v)CC+M@7uV|9ezL2NP-!%=iC{d0WggOl^|N{0Z0IvGr{}$9e{Di;AYS#K0mv6 zZxYN9=Vy38Ue{I|Tnzezwu|gJ0OSu3m>XR}+a>^WTR?XLp>Cc4J;#}8CnZ9?0n*nF`74Eo5XMQFQ} zTWzS+;p>;x32Gr(3^x=uYE{zS-O{$U*WS}etN>Sg``naj$fiZ|^jRhnMFmk*GT26~ z%6PYd+uX@CIe_To1j*`AuGG11EaHpH`n?q5j)81iD91-Uc=dMu1Z`^@QB;ski}7wF zi!BLe#ATf%n33~UWY6K@^Os0gZv{xj0HN)&c{(EQ7;CFebPeVBC^I&VTuKdzFMq-1 zYF*j1C|BxCbPaSZ%iUY*!lj8>j43fha53nk77_x_AsPtOLc%l>ga}m6$rAW4^%rnJ V;H)*Jw-^8b002ovPDHLkV1gB03(x=n diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/warped_left.png b/src/main/resources/assets/minecraft/textures/entity/chest/warped_left.png deleted file mode 100644 index 5618bec71fa3c00afb1ee99f879072ca893cede0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2210 zcmV;T2wnGyP)Px-TuDShRCt{2n$K$+=^4jA;~B}a#+J~imZQjINl^&K>m|-bkjsLXq=qJt?7@48 zNn!gZ^wd-Dy=)KdVWF3XEQLVnLUIT;cDIKO=ujtHC%8*Yp~hOLC5+zt|uq-wp3sms*3m9p0>Cy*_O4F$+yRPT!~Cy*B`#zc0IOlL1=wR6ftn%O zTP^-GqKbRq{Oz9+4GDkShWW;C>IscjB#Dw;qLrRTVcq*qQo~*(^b$(q{CWS@&Ll0X zK|2-!z~0@X(ea2hHcZ2)A`b@us4m<>UE8LRp7z4r*nEb4?GuKdt^i`Wgr7VBAfLGb z!1(4%|KmIc%DH&Lm!V}fz!KN(SOhs=L>?KXc`nXSse+;mi!Wa{*#F4{HexyK0fqFm zw{!}b8|=S$jyxGgOV0w(%r2p(XW6?t$>_reG-C-$fYPzFdIjY)#Mfo03=1a!l6A0> z+-u8fpbU%kJ*4j;k4DiG8bg&RN_L4@Jmv9%eD5Z~=OGN@Wt+B&F^rJgl`7~O(*^x4gf)f%5a!KvyRm;vBRTSX4QMn{l|AN zYXr7UP(x^loxx@MeDWf)8baDwCl*gp+bMYe{5v5*zlK)B^p=4=rXj^FC{?U z2-=M{t(pjVTbrPz?;+Q!w6%#Y+gLp1B|@d;EY*cuRDst0$J7u@0z|a5?tjHdavXbV z#`h$TgKq}_UV?)xBacS0%_{9^4CElvYn`?>f%IA@(5wR@8?@#ZQ8!Udk@{IF$ji_8^S5JVS09Q zW#=F@c6I@rXo2^P1WUynBgt_rCsPYQd4N&M(_FYk>;7W^tjrB(T~9Ll@Db&@#E4T2 z?cz>KkXvy1V22RxQ54oGq^AMF4?`7t4&Q~v2cLcF6;X$)K{z0^*8RssLv~j+=&td8 z*_rF#v$gWgTj%OK0#cc4g2akBnoe8m{$qlN5}F#Ire|q7EN)NDa6Yd0)sFS=kDQ19 zZP1y#8|D*h+ZZ96Q73Kn2IM3%c47uCuTzL5(ScTax-WK;QAeM-3@hLC)&cJ1UDieo z({%QCm$YodBpR|Qs-dp-RwUVTJJ$(sv+L9udgcJ3>XbdjrX490-0IHPhbk9QiaA=5 zBmldUg2>vDcVXugT5s4zkIf)`li)|cxMP>=!rV<)UAXO`xjE{qtKRo+ySsIE?jRtv z0(S=q+`j7#+}lBt zjiiQ&hHU=v#TTdU>!^aV7`!Q`U;bQy9+g^%6sV4c*e!C7g0yVt+D>nw~{X z&!RZ8R(0VP;U^DJvP+?5WR%&2-v->QB*_NQ#0P=I%O?;YQ~eb zfHxxJv^XxAISYI{U}9|>X=5E}LsV?hkd1Aai&eoC;blh zNSrwllGHF1A^3k}tx_?Ew6RXGl=t1Ad(zxX_;!FRYjsLmz>%_+OOUyp0vG=9N74By zPnP}i$8qrOfZ?Yrpwr#}s^5JJKx=-HaA^gjlXj59i&27taB) zbPVSow;Xk6lNj?Bs2iS zq&X%~L-z$4I}IsnAhqvdr1+ospa;bcYMdewFBZcqKPE7v9L|LPnC-wx<3Y_z;i z;PzdQY>drk2PAYogM9BMrD6_a^I4Z7)DOGR+}yGA_|cyY4luv~0}L?000Rs#zyJdb kFu(u<3^2d|1N^A)KjiGz1Q~~m9smFU07*qoM6N<$f_kw+j{pDw diff --git a/src/main/resources/assets/minecraft/textures/entity/chest/warped_right.png b/src/main/resources/assets/minecraft/textures/entity/chest/warped_right.png deleted file mode 100644 index 28727f8b9ce8bd5e69bb6758732fd8c41a6fd156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2303 zcmVPx-xk*GpRCt{2n$K$+=^4jAqZ!Gv-9mCOP7~-MS#-&dI>CjQ4IAtz9#u0)kz{GC(e&`n zj3vi%tdT>uRNs^4o%ea4_kHyIen$d0_wgnB!H91=hM-EZyfT%LH?rhNGV z0D)4RoxgttfPC#dL)UKrP(61Q042KufH|KbP>KW4j1?KZzrog-32#g;79ta>YJPv?S*z7pAoy#+JYL*z@pE0#jZu3)97QCRifNzsU-2^&4_bw4P_ zhm*btBg;!f)2De}uhLA!0I*+fQE!ltWLdsG3e?{Q>qz zXBoJ68xZCaSzZD_%Pasevi^i*?ip>WdPGoqA=Z;B%|r}YDt9o4nPBt*2KS?&n&R>_#yH{1T}pc05iKnG<}+_GZPG5U&2fzF#rm^?6fnK zZX91L%9k$?+^8Zoc4g@PZZzsB1H!%o`WEs~oSkDT0JhSgky-E@qI~T?HHq;PC$TG4q-X>!H3@v-XS*HYTLY}cn~a{CCAVFn-UL~e37R!=P|KuIEu$y{ zG@2j-L9+&yMWZ2%Br!aWkzHXsmxt6y+uC|kMaizPgK&TVg=pA|1V@QLFT_S+(>qY3 zE;br8Ye>~Hc4WwVhh>3fu@edklW}~2>-k-8ucaojr)H4WR=sypG=db3plZ4o5|0wT z1rWS=g~aeU_AwRd`0(rR%^hqqArOIvs^)}E`6p+?dQIr9sogJF>Cf0Tt09zf!(zlSe%QV$dZ@%jX%=rwX z_ct(ZWhr02KpEjvwh_q^2uMS7)+Lp#_Bg}uZ`ibhbQC(&~6kvGV8*|O#sNq`xgQ*ekK#}Do zDu#x6`2yDBO+Xx0*!2WM*KY`cIblz}cAl3pl|X5dW~@l)mJrg*4}{YUl;S7|Ckd{9 zP3Cy%YKF04-4|VW3i$dPKj#O)?|wT$k)jbA=>@MY zuY_%eob=OMFqaq3DLI3x>EvT6bii_A^I_?vO06ebj?8=@s>Uw)=3}YO0?<;EyR~^V zB0M{^IiGmgrVtIcja#vlFS=fF5MNga-SAbKv7*;`X~v3#p6@y%fIw*yrLc+RNb%)F zkw8hB!IC~vu!HYYKMEpy?`kkSH;0~7u`5-| zkM3em%`kB9Hj(8e8kq$m%S(g|4J|b(%G^qoWbPS&7r%cD=t%>tSPC?qVoiEuTT6H9 ze1QokHou*JwHx>rz`(uRn299$%mVV6i38hOgW%QqT56I&2~=%^XGd^=UeU7;P!7@7 za-Evn*0L6FV(gj!uHah$^^eX1qDJ4&<=fg?ay0CtTJwZ_dYa~$31mRucsu27x9Hgf4%61EJ9mAqa6*RWY0$eyPXb5`j~}Y7 zrKCpCr)I#t4Kg%TP5<9^g2kG|P&5Js2)&`LWfV5OC}1PB!hDO3&Ti0?2DG-cfR1gg z)?40I{N&nYpu3yp?>_symo2}Bo&@mX@k8Qan~?Kd2g;A`0$`oHO2oKL#n8M$2!vBq z3Y)ZkTd;-mZNcM*fH0kk^KC)H>FNw-SK0)0RFK~P^b>o(ip_nFhwZlUy@%KlY0<`7TlIQs?!0)|#xGqj36OhT=7(=b0k{i; zXmxKndHu-x6K|5L=~T~MrLz7&Fx=Dr>W1zp?AY&q_d}pqlSD0Fsd`sdE)yvlA!KMs z(Fo005i^mb{OB%?%mRMt4(iap3HtM=zWH{75}uo*5ldlYR|sy1-df1ephd+%#Cmf+ zL&NzJ%nu#VQWAF$x2^7nZzlu>?%hT%*XiZ#h=SNnneAKe$ Z{{s7r(4^(OrT_o{002ovPDHLkV1ir9Ut<6O diff --git a/src/main/resources/data/jineric/tags/blocks/wooden_chests.json b/src/main/resources/data/jineric/tags/blocks/wooden_chests.json index 3d8fb45c..1d827c49 100644 --- a/src/main/resources/data/jineric/tags/blocks/wooden_chests.json +++ b/src/main/resources/data/jineric/tags/blocks/wooden_chests.json @@ -8,6 +8,14 @@ "jineric:dark_oak_chest", "jineric:crimson_chest", "jineric:warped_chest", - "jineric:mangrove_chest" + "jineric:mangrove_chest", + "jineric:trapped_warped_chest", + "jineric:trapped_crimson_chest", + "jineric:trapped_mangrove_chest", + "jineric:trapped_dark_oak_chest", + "jineric:trapped_acacia_chest", + "jineric:trapped_jungle_chest", + "jineric:trapped_birch_chest", + "jineric:trapped_spruce_chest" ] } \ No newline at end of file diff --git a/src/main/resources/data/jineric/tags/items/chests.json b/src/main/resources/data/jineric/tags/items/chests.json index 6858b33f..b763c771 100644 --- a/src/main/resources/data/jineric/tags/items/chests.json +++ b/src/main/resources/data/jineric/tags/items/chests.json @@ -9,6 +9,14 @@ "jineric:acacia_chest", "jineric:jungle_chest", "jineric:birch_chest", - "jineric:spruce_chest" + "jineric:spruce_chest", + "jineric:trapped_warped_chest", + "jineric:trapped_crimson_chest", + "jineric:trapped_mangrove_chest", + "jineric:trapped_dark_oak_chest", + "jineric:trapped_acacia_chest", + "jineric:trapped_jungle_chest", + "jineric:trapped_birch_chest", + "jineric:trapped_spruce_chest" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/acacia_chest_boat.json b/src/main/resources/data/minecraft/recipes/acacia_chest_boat.json new file mode 100644 index 00000000..1ebf79bd --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/acacia_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:acacia_boat" + } + ], + "result": { + "item": "minecraft:acacia_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/birch_chest_boat.json b/src/main/resources/data/minecraft/recipes/birch_chest_boat.json new file mode 100644 index 00000000..1c024e33 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/birch_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:birch_boat" + } + ], + "result": { + "item": "minecraft:birch_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/dark_oak_chest_boat.json b/src/main/resources/data/minecraft/recipes/dark_oak_chest_boat.json new file mode 100644 index 00000000..59fe2a39 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/dark_oak_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:dark_oak_boat" + } + ], + "result": { + "item": "minecraft:dark_oak_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/jungle_chest_boat.json b/src/main/resources/data/minecraft/recipes/jungle_chest_boat.json new file mode 100644 index 00000000..f10ee759 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/jungle_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:jungle_boat" + } + ], + "result": { + "item": "minecraft:jungle_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/mangrove_chest_boat.json b/src/main/resources/data/minecraft/recipes/mangrove_chest_boat.json new file mode 100644 index 00000000..b99cb805 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/mangrove_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:mangrove_boat" + } + ], + "result": { + "item": "minecraft:mangrove_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/oak_chest_boat.json b/src/main/resources/data/minecraft/recipes/oak_chest_boat.json new file mode 100644 index 00000000..29e587f1 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/oak_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:oak_boat" + } + ], + "result": { + "item": "minecraft:oak_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/spruce_chest_boat.json b/src/main/resources/data/minecraft/recipes/spruce_chest_boat.json new file mode 100644 index 00000000..44d25261 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/spruce_chest_boat.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "chest_boat", + "ingredients": [ + { + "tag": "jineric:chests" + }, + { + "item": "minecraft:spruce_boat" + } + ], + "result": { + "item": "minecraft:spruce_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/trapped_chest.json b/src/main/resources/data/minecraft/recipes/trapped_chest.json new file mode 100644 index 00000000..6cea98e4 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/trapped_chest.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "group": "trapped_chest", + "category": "redstone", + "ingredients": [ + { + "item": "minecraft:chest" + }, + { + "item": "minecraft:tripwire_hook" + } + ], + "result": { + "item": "minecraft:trapped_chest" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/guarded_by_piglins.json b/src/main/resources/data/minecraft/tags/blocks/guarded_by_piglins.json index 513c4b39..af6d4efb 100644 --- a/src/main/resources/data/minecraft/tags/blocks/guarded_by_piglins.json +++ b/src/main/resources/data/minecraft/tags/blocks/guarded_by_piglins.json @@ -7,6 +7,14 @@ "jineric:dark_oak_chest", "jineric:mangrove_chest", "jineric:crimson_chest", - "jineric:warped_chest" + "jineric:warped_chest", + "jineric:trapped_spruce_chest", + "jineric:trapped_birch_chest", + "jineric:trapped_jungle_chest", + "jineric:trapped_acacia_chest", + "jineric:trapped_dark_oak_chest", + "jineric:trapped_mangrove_chest", + "jineric:trapped_crimson_chest", + "jineric:trapped_warped_chest" ] } \ No newline at end of file From fa270d764aaeb1a0982e53f55fcadf368b8ab12a Mon Sep 17 00:00:00 2001 From: Jingy <69827559+Jiingy@users.noreply.github.com> Date: Sat, 22 Apr 2023 15:55:24 -0500 Subject: [PATCH 5/6] Beta v5.0.0-1.19.4 Additions: - cracked deepslate brick block variant stonecutting recipe - cracked deepslate tile brick block variant stonecutting recipe - cracked polished blackstone brick block variant stonecutting recipe - smooth basalt block variant stonecutting recipe Signed-off-by: Jingy <69827559+Jiingy@users.noreply.github.com> --- ...cracked_deepslate_bricks_stonecutting.json | 34 +++++++++++++++++++ ...cracked_deepslate_bricks_stonecutting.json | 34 +++++++++++++++++++ ...cracked_deepslate_bricks_stonecutting.json | 34 +++++++++++++++++++ ..._cracked_deepslate_tiles_stonecutting.json | 34 +++++++++++++++++++ ..._cracked_deepslate_tiles_stonecutting.json | 34 +++++++++++++++++++ ..._cracked_deepslate_tiles_stonecutting.json | 34 +++++++++++++++++++ ...lished_blackstone_bricks_stonecutting.json | 34 +++++++++++++++++++ ...lished_blackstone_bricks_stonecutting.json | 34 +++++++++++++++++++ ...lished_blackstone_bricks_stonecutting.json | 34 +++++++++++++++++++ ..._slab_from_smooth_basalt_stonecutting.json | 34 +++++++++++++++++++ ...tairs_from_smooth_basalt_stonecutting.json | 34 +++++++++++++++++++ ..._wall_from_smooth_basalt_stonecutting.json | 34 +++++++++++++++++++ ...cracked_deepslate_bricks_stonecutting.json | 8 +++++ ...cracked_deepslate_bricks_stonecutting.json | 8 +++++ ...cracked_deepslate_bricks_stonecutting.json | 8 +++++ ..._cracked_deepslate_tiles_stonecutting.json | 8 +++++ ..._cracked_deepslate_tiles_stonecutting.json | 8 +++++ ..._cracked_deepslate_tiles_stonecutting.json | 8 +++++ ...lished_blackstone_bricks_stonecutting.json | 8 +++++ ...lished_blackstone_bricks_stonecutting.json | 8 +++++ ...lished_blackstone_bricks_stonecutting.json | 8 +++++ ..._slab_from_smooth_basalt_stonecutting.json | 8 +++++ ...tairs_from_smooth_basalt_stonecutting.json | 8 +++++ ..._wall_from_smooth_basalt_stonecutting.json | 8 +++++ 24 files changed, 504 insertions(+) create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_slab_from_smooth_basalt_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json create mode 100644 src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_wall_from_smooth_basalt_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/smooth_basalt_slab_from_smooth_basalt_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json create mode 100644 src/main/generated/data/jineric/recipes/smooth_basalt_wall_from_smooth_basalt_stonecutting.json diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json new file mode 100644 index 00000000..cec0753f --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json new file mode 100644 index 00000000..ab25188e --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json new file mode 100644 index 00000000..3a4b3d4e --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json new file mode 100644 index 00000000..6d98167f --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_deepslate_tiles": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_deepslate_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_deepslate_tiles", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json new file mode 100644 index 00000000..5fd410e7 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_deepslate_tiles": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_deepslate_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_deepslate_tiles", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json new file mode 100644 index 00000000..479061b9 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_deepslate_tiles": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_deepslate_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_deepslate_tiles", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json new file mode 100644 index 00000000..59d46e13 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_polished_blackstone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_polished_blackstone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_polished_blackstone_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json new file mode 100644 index 00000000..ac1531a6 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_polished_blackstone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_polished_blackstone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_polished_blackstone_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json new file mode 100644 index 00000000..49a55d18 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_polished_blackstone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cracked_polished_blackstone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cracked_polished_blackstone_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_slab_from_smooth_basalt_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_slab_from_smooth_basalt_stonecutting.json new file mode 100644 index 00000000..529e7740 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_slab_from_smooth_basalt_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_smooth_basalt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:smooth_basalt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:smooth_basalt_slab_from_smooth_basalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_smooth_basalt", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:smooth_basalt_slab_from_smooth_basalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json new file mode 100644 index 00000000..8370f8ac --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_smooth_basalt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:smooth_basalt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:smooth_basalt_stairs_from_smooth_basalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_smooth_basalt", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:smooth_basalt_stairs_from_smooth_basalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_wall_from_smooth_basalt_stonecutting.json b/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_wall_from_smooth_basalt_stonecutting.json new file mode 100644 index 00000000..92bfb364 --- /dev/null +++ b/src/main/generated/data/jineric/advancements/recipes/building_blocks/smooth_basalt_wall_from_smooth_basalt_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_smooth_basalt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:smooth_basalt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:smooth_basalt_wall_from_smooth_basalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_smooth_basalt", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:smooth_basalt_wall_from_smooth_basalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json new file mode 100644 index 00000000..da32b8db --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_slab_from_cracked_deepslate_bricks_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_deepslate_bricks" + }, + "result": "jineric:cracked_deepslate_brick_slab" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json new file mode 100644 index 00000000..f2b51b5e --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_stairs_from_cracked_deepslate_bricks_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_deepslate_bricks" + }, + "result": "jineric:cracked_deepslate_brick_stairs" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json new file mode 100644 index 00000000..e4f369fd --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_deepslate_brick_wall_from_cracked_deepslate_bricks_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_deepslate_bricks" + }, + "result": "jineric:cracked_deepslate_brick_wall" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json new file mode 100644 index 00000000..cbb45485 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_slab_from_cracked_deepslate_tiles_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_deepslate_tiles" + }, + "result": "jineric:cracked_deepslate_tile_slab" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json new file mode 100644 index 00000000..1db47152 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_stairs_from_cracked_deepslate_tiles_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_deepslate_tiles" + }, + "result": "jineric:cracked_deepslate_tile_stairs" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json new file mode 100644 index 00000000..c6f81dcb --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_deepslate_tile_wall_from_cracked_deepslate_tiles_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_deepslate_tiles" + }, + "result": "jineric:cracked_deepslate_tile_wall" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json new file mode 100644 index 00000000..52ca0b08 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_slab_from_cracked_polished_blackstone_bricks_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_polished_blackstone_bricks" + }, + "result": "jineric:cracked_polished_blackstone_brick_slab" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json new file mode 100644 index 00000000..606d3d02 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_stairs_from_cracked_polished_blackstone_bricks_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_polished_blackstone_bricks" + }, + "result": "jineric:cracked_polished_blackstone_brick_stairs" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json b/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json new file mode 100644 index 00000000..1cc5f147 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/cracked_polished_blackstone_brick_wall_from_cracked_polished_blackstone_bricks_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:cracked_polished_blackstone_bricks" + }, + "result": "jineric:cracked_polished_blackstone_brick_wall" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/smooth_basalt_slab_from_smooth_basalt_stonecutting.json b/src/main/generated/data/jineric/recipes/smooth_basalt_slab_from_smooth_basalt_stonecutting.json new file mode 100644 index 00000000..0e4ce820 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/smooth_basalt_slab_from_smooth_basalt_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:smooth_basalt" + }, + "result": "jineric:smooth_basalt_slab" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json b/src/main/generated/data/jineric/recipes/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json new file mode 100644 index 00000000..2174a16b --- /dev/null +++ b/src/main/generated/data/jineric/recipes/smooth_basalt_stairs_from_smooth_basalt_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:smooth_basalt" + }, + "result": "jineric:smooth_basalt_stairs" +} \ No newline at end of file diff --git a/src/main/generated/data/jineric/recipes/smooth_basalt_wall_from_smooth_basalt_stonecutting.json b/src/main/generated/data/jineric/recipes/smooth_basalt_wall_from_smooth_basalt_stonecutting.json new file mode 100644 index 00000000..2833b2b2 --- /dev/null +++ b/src/main/generated/data/jineric/recipes/smooth_basalt_wall_from_smooth_basalt_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "minecraft:smooth_basalt" + }, + "result": "jineric:smooth_basalt_wall" +} \ No newline at end of file From 0b9dd50646f8d3e13855ea1a39b691b40e4ab941 Mon Sep 17 00:00:00 2001 From: Jingy <69827559+Jiingy@users.noreply.github.com> Date: Sat, 22 Apr 2023 17:47:53 -0500 Subject: [PATCH 6/6] updated verion to b5.0.0 Signed-off-by: Jingy <69827559+Jiingy@users.noreply.github.com> --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f36631c1..300affd5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,5 +16,5 @@ org.gradle.parallel = true # Mod Properties mod_name = Jineric Mod mod_id = jineric - version = b4.3.0+1.19.4 + version = b5.0.0+1.19.4 maven_group = jingy.jineric