From 8306227cbabc7d2d0641d536a0ef7ce813185a15 Mon Sep 17 00:00:00 2001 From: xanthian Date: Fri, 27 Oct 2023 19:33:06 +0100 Subject: [PATCH] 1.20.1 Fabric 1.3 Adds Chest support for the following mods AdAstra BeachParty (Lets Do) BetterArcheology DeeperAndDarker MineCells SnifferPlus (Helions Sniffer) TechReborn Vinery (Lets Do) --- build.gradle | 1 + gradle.properties | 6 +- .../blockstates/aa_glacian_chest.json | 7 ++ .../blockstates/ba_rotten_chest.json | 7 ++ .../blockstates/dad_echo_chest.json | 7 ++ .../blockstates/ldbp_palm_chest.json | 7 ++ .../blockstates/ldv_cherry_chest.json | 7 ++ .../blockstates/mc_putrid_chest.json | 7 ++ .../blockstates/sp_stone_pine_chest.json | 7 ++ .../blockstates/tr_rubber_chest.json | 7 ++ .../assets/variantchests/lang/en_us.json | 16 ++++ .../models/block/aa_glacian_chest.json | 5 ++ .../models/block/ba_rotten_chest.json | 5 ++ .../models/block/dad_echo_chest.json | 5 ++ .../models/block/ldbp_palm_chest.json | 5 ++ .../models/block/ldv_cherry_chest.json | 5 ++ .../models/block/mc_putrid_chest.json | 5 ++ .../models/block/sp_stone_pine_chest.json | 5 ++ .../models/block/tr_rubber_chest.json | 5 ++ .../models/item/aa_glacian_chest.json | 6 ++ .../models/item/ba_rotten_chest.json | 6 ++ .../models/item/dad_echo_chest.json | 6 ++ .../models/item/ldbp_palm_chest.json | 6 ++ .../models/item/ldv_cherry_chest.json | 6 ++ .../models/item/mc_putrid_chest.json | 6 ++ .../models/item/sp_stone_pine_chest.json | 6 ++ .../models/item/tr_rubber_chest.json | 6 ++ .../loot_tables/blocks/aa_glacian_chest.json | 34 ++++++++ .../loot_tables/blocks/ba_rotten_chest.json | 34 ++++++++ .../loot_tables/blocks/dad_echo_chest.json | 34 ++++++++ .../loot_tables/blocks/ldbp_palm_chest.json | 34 ++++++++ .../loot_tables/blocks/ldv_cherry_chest.json | 34 ++++++++ .../loot_tables/blocks/mc_putrid_chest.json | 34 ++++++++ .../blocks/sp_stone_pine_chest.json | 34 ++++++++ .../loot_tables/blocks/tr_rubber_chest.json | 34 ++++++++ .../variantchests/tags/blocks/chests.json | 34 +++++++- .../data/variantchests/tags/items/chests.json | 34 +++++++- .../variantchests/ClientInitialise.java | 24 +++++- .../xanthian/variantchests/Initialise.java | 20 +++++ .../variantchests/block/VariantChests.java | 21 ++++- .../block/compatability/AdAstra.java | 29 +++++++ .../block/compatability/BeachParty.java | 29 +++++++ .../block/compatability/BetterArcheology.java | 29 +++++++ .../block/compatability/DeeperAndDarker.java | 29 +++++++ .../block/compatability/MineCells.java | 29 +++++++ .../block/compatability/SnifferPlus.java | 29 +++++++ .../block/compatability/TechReborn.java | 29 +++++++ .../block/compatability/Vinery.java | 29 +++++++ .../datagen/BlockTagGenerator.java | 11 ++- .../datagen/ItemTagGenerator.java | 11 ++- .../datagen/LangFileGenerator.java | 22 +++++- .../datagen/LootTableGenerator.java | 13 +++- .../variantchests/datagen/ModelGenerator.java | 21 +++++ .../datagen/RecipeGenerator.java | 12 ++- .../entity/EntityInitialise.java | 73 +++++++++++++----- .../renderer/EntityRenderInitialise.java | 25 ++++++ .../variantchests/util/ModCreativeTab.java | 29 ++++++- .../variantchests/util/ModFuelRegistry.java | 28 +++++++ src/main/resources/assets/icon.png | Bin 452 -> 11511 bytes .../entity/chest/aa_glacian_chest.png | Bin 0 -> 817 bytes .../entity/chest/aa_glacian_chest_left.png | Bin 0 -> 819 bytes .../entity/chest/aa_glacian_chest_right.png | Bin 0 -> 851 bytes .../textures/entity/chest/ba_rotten_chest.png | Bin 0 -> 817 bytes .../entity/chest/ba_rotten_chest_left.png | Bin 0 -> 811 bytes .../entity/chest/ba_rotten_chest_right.png | Bin 0 -> 915 bytes .../textures/entity/chest/bp_palm_chest.png | Bin 0 -> 817 bytes .../entity/chest/bp_palm_chest_left.png | Bin 0 -> 819 bytes .../entity/chest/bp_palm_chest_right.png | Bin 0 -> 851 bytes .../textures/entity/chest/dad_echo_chest.png | Bin 0 -> 817 bytes .../entity/chest/dad_echo_chest_left.png | Bin 0 -> 819 bytes .../entity/chest/dad_echo_chest_right.png | Bin 0 -> 851 bytes .../textures/entity/chest/ldbp_palm_chest.png | Bin 0 -> 1010 bytes .../entity/chest/ldbp_palm_chest_left.png | Bin 0 -> 1041 bytes .../entity/chest/ldbp_palm_chest_right.png | Bin 0 -> 1082 bytes .../entity/chest/ldv_cherry_chest.png | Bin 0 -> 810 bytes .../entity/chest/ldv_cherry_chest_left.png | Bin 0 -> 811 bytes .../entity/chest/ldv_cherry_chest_right.png | Bin 0 -> 847 bytes .../textures/entity/chest/mc_putrid_chest.png | Bin 0 -> 817 bytes .../entity/chest/mc_putrid_chest_left.png | Bin 0 -> 819 bytes .../entity/chest/mc_putrid_chest_right.png | Bin 0 -> 851 bytes .../entity/chest/sp_stone_pine_chest.png | Bin 0 -> 817 bytes .../entity/chest/sp_stone_pine_chest_left.png | Bin 0 -> 819 bytes .../chest/sp_stone_pine_chest_right.png | Bin 0 -> 851 bytes .../textures/entity/chest/tr_rubber_chest.png | Bin 0 -> 817 bytes .../entity/chest/tr_rubber_chest_left.png | Bin 0 -> 819 bytes .../entity/chest/tr_rubber_chest_right.png | Bin 0 -> 851 bytes .../recipes/misc/aa_glacian_chest.json | 43 +++++++++++ .../recipes/misc/ba_rotten_chest.json | 43 +++++++++++ .../recipes/misc/dad_echo_chest.json | 43 +++++++++++ .../recipes/misc/ldbp_palm_chest.json | 43 +++++++++++ .../recipes/misc/ldv_cherry_chest.json | 43 +++++++++++ .../recipes/misc/mc_putrid_chest.json | 43 +++++++++++ .../recipes/misc/sp_stone_pine_chest.json | 43 +++++++++++ .../recipes/misc/tr_rubber_chest.json | 43 +++++++++++ .../recipes/aa_glacian_chest.json | 26 +++++++ .../recipes/ba_rotten_chest.json | 26 +++++++ .../variantchests/recipes/dad_echo_chest.json | 26 +++++++ .../recipes/ldbp_palm_chest.json | 26 +++++++ .../recipes/ldv_cherry_chest.json | 26 +++++++ .../recipes/mc_putrid_chest.json | 26 +++++++ .../recipes/sp_stone_pine_chest.json | 26 +++++++ .../recipes/tr_rubber_chest.json | 26 +++++++ 102 files changed, 1566 insertions(+), 35 deletions(-) create mode 100644 src/main/generated/assets/variantchests/blockstates/aa_glacian_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/ba_rotten_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/dad_echo_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/ldbp_palm_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/ldv_cherry_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/mc_putrid_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/sp_stone_pine_chest.json create mode 100644 src/main/generated/assets/variantchests/blockstates/tr_rubber_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/aa_glacian_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/ba_rotten_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/dad_echo_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/ldbp_palm_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/ldv_cherry_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/mc_putrid_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/sp_stone_pine_chest.json create mode 100644 src/main/generated/assets/variantchests/models/block/tr_rubber_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/aa_glacian_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/ba_rotten_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/dad_echo_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/ldbp_palm_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/ldv_cherry_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/mc_putrid_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/sp_stone_pine_chest.json create mode 100644 src/main/generated/assets/variantchests/models/item/tr_rubber_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/aa_glacian_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/ba_rotten_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/dad_echo_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/ldbp_palm_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/ldv_cherry_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/mc_putrid_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/sp_stone_pine_chest.json create mode 100644 src/main/generated/data/variantchests/loot_tables/blocks/tr_rubber_chest.json create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/AdAstra.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/BeachParty.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/BetterArcheology.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/DeeperAndDarker.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/MineCells.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/SnifferPlus.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/TechReborn.java create mode 100644 src/main/java/net/xanthian/variantchests/block/compatability/Vinery.java create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/aa_glacian_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/aa_glacian_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/aa_glacian_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ba_rotten_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ba_rotten_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ba_rotten_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/dad_echo_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/dad_echo_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/dad_echo_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/mc_putrid_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/mc_putrid_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/mc_putrid_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/sp_stone_pine_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/sp_stone_pine_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/sp_stone_pine_chest_right.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/tr_rubber_chest.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/tr_rubber_chest_left.png create mode 100644 src/main/resources/assets/variantchests/textures/entity/chest/tr_rubber_chest_right.png create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/aa_glacian_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/ba_rotten_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/dad_echo_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/ldbp_palm_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/ldv_cherry_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/mc_putrid_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/sp_stone_pine_chest.json create mode 100644 src/main/resources/data/variantchests/advancements/recipes/misc/tr_rubber_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/aa_glacian_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/ba_rotten_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/dad_echo_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/ldbp_palm_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/ldv_cherry_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/mc_putrid_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/sp_stone_pine_chest.json create mode 100644 src/main/resources/data/variantchests/recipes/tr_rubber_chest.json diff --git a/build.gradle b/build.gradle index 59298e8..2ec1c2b 100644 --- a/build.gradle +++ b/build.gradle @@ -42,6 +42,7 @@ dependencies { modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + } processResources { diff --git a/gradle.properties b/gradle.properties index ab4414f..21e75b2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,13 +5,13 @@ org.gradle.parallel=true # Fabric Properties minecraft_version=1.20.1 yarn_mappings=1.20.1+build.10 -loader_version=0.14.22 +loader_version=0.14.24 #Fabric api -fabric_version=0.89.3+1.20.1 +fabric_version=0.90.4+1.20.1 # Mod Properties -mod_version = 1.2 +mod_version = 1.3 maven_group = xanthian.variantchests archives_base_name = variantchests diff --git a/src/main/generated/assets/variantchests/blockstates/aa_glacian_chest.json b/src/main/generated/assets/variantchests/blockstates/aa_glacian_chest.json new file mode 100644 index 0000000..7f8547d --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/aa_glacian_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/aa_glacian_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/ba_rotten_chest.json b/src/main/generated/assets/variantchests/blockstates/ba_rotten_chest.json new file mode 100644 index 0000000..b9f390c --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/ba_rotten_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/ba_rotten_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/dad_echo_chest.json b/src/main/generated/assets/variantchests/blockstates/dad_echo_chest.json new file mode 100644 index 0000000..c035dc4 --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/dad_echo_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/dad_echo_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/ldbp_palm_chest.json b/src/main/generated/assets/variantchests/blockstates/ldbp_palm_chest.json new file mode 100644 index 0000000..d9cc4f3 --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/ldbp_palm_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/ldbp_palm_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/ldv_cherry_chest.json b/src/main/generated/assets/variantchests/blockstates/ldv_cherry_chest.json new file mode 100644 index 0000000..9aa3bb5 --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/ldv_cherry_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/ldv_cherry_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/mc_putrid_chest.json b/src/main/generated/assets/variantchests/blockstates/mc_putrid_chest.json new file mode 100644 index 0000000..b5a39ae --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/mc_putrid_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/mc_putrid_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/sp_stone_pine_chest.json b/src/main/generated/assets/variantchests/blockstates/sp_stone_pine_chest.json new file mode 100644 index 0000000..f126683 --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/sp_stone_pine_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/sp_stone_pine_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/blockstates/tr_rubber_chest.json b/src/main/generated/assets/variantchests/blockstates/tr_rubber_chest.json new file mode 100644 index 0000000..0efc78b --- /dev/null +++ b/src/main/generated/assets/variantchests/blockstates/tr_rubber_chest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "variantchests:block/tr_rubber_chest" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/lang/en_us.json b/src/main/generated/assets/variantchests/lang/en_us.json index 2bf15af..043aa63 100644 --- a/src/main/generated/assets/variantchests/lang/en_us.json +++ b/src/main/generated/assets/variantchests/lang/en_us.json @@ -1,27 +1,43 @@ { "block.minecraft.chest": "Oak Chest", + "block.variantchests.aa_glacian_chest": "Glacian Chest", "block.variantchests.acacia_chest": "Acacia Chest", + "block.variantchests.ba_rotten_chest": "Rotten Chest", "block.variantchests.bamboo_chest": "Bamboo Chest", "block.variantchests.birch_chest": "Birch Chest", "block.variantchests.cherry_chest": "Cherry Chest", "block.variantchests.crimson_chest": "Crimson Chest", + "block.variantchests.dad_echo_chest": "Echo Chest", "block.variantchests.dark_oak_chest": "Dark Oak Chest", "block.variantchests.jungle_chest": "Jungle Chest", + "block.variantchests.ldbp_palm_chest": "Palm Chest", + "block.variantchests.ldv_cherry_chest": "Cherry Chest", "block.variantchests.mangrove_chest": "Mangrove Chest", + "block.variantchests.mc_putrid_chest": "Putrid Chest", "block.variantchests.oak_chest": "Oak Chest", + "block.variantchests.sp_stone_pine_chest": "Stone Pine Chest", "block.variantchests.spruce_chest": "Spruce Chest", + "block.variantchests.tr_rubber_chest": "Rubber Chest", "block.variantchests.warped_chest": "Warped Chest", "container.chest": "Oak Chest", + "container.variantchests.aa_glacian_chest": "Glacian Chest", "container.variantchests.acacia_chest": "Acacia Chest", + "container.variantchests.ba_rotten_chest": "Rotten Chest", "container.variantchests.bamboo_chest": "Bamboo Chest", "container.variantchests.birch_chest": "Birch Chest", "container.variantchests.cherry_chest": "Cherry Chest", "container.variantchests.crimson_chest": "Crimson Chest", + "container.variantchests.dad_echo_chest": "Echo Chest", "container.variantchests.dark_oak_chest": "Dark Oak Chest", "container.variantchests.jungle_chest": "Jungle Chest", + "container.variantchests.ldbp_palm_chest": "Palm Chest", + "container.variantchests.ldv_cherry_chest": "Cherry Chest", "container.variantchests.mangrove_chest": "Mangrove Chest", + "container.variantchests.mc_putrid_chest": "Putrid Chest", "container.variantchests.oak_chest": "Oak Chest", + "container.variantchests.sp_stone_pine_chest": "Stone Pine Chest", "container.variantchests.spruce_chest": "Spruce Chest", + "container.variantchests.tr_rubber_chest": "Rubber Chest", "container.variantchests.warped_chest": "Warped Chest", "variantchests.itemgroup": "Variant Chests" } \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/aa_glacian_chest.json b/src/main/generated/assets/variantchests/models/block/aa_glacian_chest.json new file mode 100644 index 0000000..5977985 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/aa_glacian_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "ad_astra:block/glacian_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/ba_rotten_chest.json b/src/main/generated/assets/variantchests/models/block/ba_rotten_chest.json new file mode 100644 index 0000000..34f5c7c --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/ba_rotten_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "betterarcheology:block/rotten_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/dad_echo_chest.json b/src/main/generated/assets/variantchests/models/block/dad_echo_chest.json new file mode 100644 index 0000000..8390976 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/dad_echo_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "deeperdarker:block/echo_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/ldbp_palm_chest.json b/src/main/generated/assets/variantchests/models/block/ldbp_palm_chest.json new file mode 100644 index 0000000..64e01b7 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/ldbp_palm_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "beachparty:block/palm_planks0" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/ldv_cherry_chest.json b/src/main/generated/assets/variantchests/models/block/ldv_cherry_chest.json new file mode 100644 index 0000000..61edd67 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/ldv_cherry_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "vinery:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/mc_putrid_chest.json b/src/main/generated/assets/variantchests/models/block/mc_putrid_chest.json new file mode 100644 index 0000000..3d7f85f --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/mc_putrid_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecells:block/putrid_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/sp_stone_pine_chest.json b/src/main/generated/assets/variantchests/models/block/sp_stone_pine_chest.json new file mode 100644 index 0000000..3a21c78 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/sp_stone_pine_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "snifferplus:block/stone_pine_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/block/tr_rubber_chest.json b/src/main/generated/assets/variantchests/models/block/tr_rubber_chest.json new file mode 100644 index 0000000..08a83d4 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/block/tr_rubber_chest.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "techreborn:block/rubber_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/aa_glacian_chest.json b/src/main/generated/assets/variantchests/models/item/aa_glacian_chest.json new file mode 100644 index 0000000..5375cec --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/aa_glacian_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/aa_glacian_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/ba_rotten_chest.json b/src/main/generated/assets/variantchests/models/item/ba_rotten_chest.json new file mode 100644 index 0000000..e732c9f --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/ba_rotten_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/ba_rotten_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/dad_echo_chest.json b/src/main/generated/assets/variantchests/models/item/dad_echo_chest.json new file mode 100644 index 0000000..0c81b72 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/dad_echo_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/dad_echo_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/ldbp_palm_chest.json b/src/main/generated/assets/variantchests/models/item/ldbp_palm_chest.json new file mode 100644 index 0000000..72e06f4 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/ldbp_palm_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/ldbp_palm_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/ldv_cherry_chest.json b/src/main/generated/assets/variantchests/models/item/ldv_cherry_chest.json new file mode 100644 index 0000000..42d84f0 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/ldv_cherry_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/ldv_cherry_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/mc_putrid_chest.json b/src/main/generated/assets/variantchests/models/item/mc_putrid_chest.json new file mode 100644 index 0000000..1ff4db6 --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/mc_putrid_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/mc_putrid_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/sp_stone_pine_chest.json b/src/main/generated/assets/variantchests/models/item/sp_stone_pine_chest.json new file mode 100644 index 0000000..54f937e --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/sp_stone_pine_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/sp_stone_pine_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/variantchests/models/item/tr_rubber_chest.json b/src/main/generated/assets/variantchests/models/item/tr_rubber_chest.json new file mode 100644 index 0000000..05d9f3d --- /dev/null +++ b/src/main/generated/assets/variantchests/models/item/tr_rubber_chest.json @@ -0,0 +1,6 @@ +{ + "parent": "variantchests:block/variantchest", + "textures": { + "chest": "variantchests:chest/tr_rubber_chest" + } +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/aa_glacian_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/aa_glacian_chest.json new file mode 100644 index 0000000..f8bd5fe --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/aa_glacian_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ad_astra" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:aa_glacian_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/ba_rotten_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/ba_rotten_chest.json new file mode 100644 index 0000000..b0c9319 --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/ba_rotten_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "betterarcheology" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:ba_rotten_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/dad_echo_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/dad_echo_chest.json new file mode 100644 index 0000000..e59cb0f --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/dad_echo_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "deeperdarker" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:dad_echo_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/ldbp_palm_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/ldbp_palm_chest.json new file mode 100644 index 0000000..ab50bf6 --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/ldbp_palm_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "beachparty" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:ldbp_palm_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/ldv_cherry_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/ldv_cherry_chest.json new file mode 100644 index 0000000..14e3387 --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/ldv_cherry_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "vinery" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:ldv_cherry_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/mc_putrid_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/mc_putrid_chest.json new file mode 100644 index 0000000..4469313 --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/mc_putrid_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "minecells" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:mc_putrid_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/sp_stone_pine_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/sp_stone_pine_chest.json new file mode 100644 index 0000000..132657c --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/sp_stone_pine_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "snifferplus" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:sp_stone_pine_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/loot_tables/blocks/tr_rubber_chest.json b/src/main/generated/data/variantchests/loot_tables/blocks/tr_rubber_chest.json new file mode 100644 index 0000000..fdebc15 --- /dev/null +++ b/src/main/generated/data/variantchests/loot_tables/blocks/tr_rubber_chest.json @@ -0,0 +1,34 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "techreborn" + ] + } + ], + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "variantchests:tr_rubber_chest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/variantchests/tags/blocks/chests.json b/src/main/generated/data/variantchests/tags/blocks/chests.json index 7ceea1f..842f967 100644 --- a/src/main/generated/data/variantchests/tags/blocks/chests.json +++ b/src/main/generated/data/variantchests/tags/blocks/chests.json @@ -11,6 +11,38 @@ "variantchests:mangrove_chest", "variantchests:oak_chest", "variantchests:spruce_chest", - "variantchests:warped_chest" + "variantchests:warped_chest", + { + "id": "variantchests:aa_glacian_chest", + "required": false + }, + { + "id": "variantchests:ldbp_palm_chest", + "required": false + }, + { + "id": "variantchests:ba_rotten_chest", + "required": false + }, + { + "id": "variantchests:dad_echo_chest", + "required": false + }, + { + "id": "variantchests:mc_putrid_chest", + "required": false + }, + { + "id": "variantchests:sp_stone_pine_chest", + "required": false + }, + { + "id": "variantchests:tr_rubber_chest", + "required": false + }, + { + "id": "variantchests:ldv_cherry_chest", + "required": false + } ] } \ No newline at end of file diff --git a/src/main/generated/data/variantchests/tags/items/chests.json b/src/main/generated/data/variantchests/tags/items/chests.json index 7ceea1f..842f967 100644 --- a/src/main/generated/data/variantchests/tags/items/chests.json +++ b/src/main/generated/data/variantchests/tags/items/chests.json @@ -11,6 +11,38 @@ "variantchests:mangrove_chest", "variantchests:oak_chest", "variantchests:spruce_chest", - "variantchests:warped_chest" + "variantchests:warped_chest", + { + "id": "variantchests:aa_glacian_chest", + "required": false + }, + { + "id": "variantchests:ldbp_palm_chest", + "required": false + }, + { + "id": "variantchests:ba_rotten_chest", + "required": false + }, + { + "id": "variantchests:dad_echo_chest", + "required": false + }, + { + "id": "variantchests:mc_putrid_chest", + "required": false + }, + { + "id": "variantchests:sp_stone_pine_chest", + "required": false + }, + { + "id": "variantchests:tr_rubber_chest", + "required": false + }, + { + "id": "variantchests:ldv_cherry_chest", + "required": false + } ] } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/ClientInitialise.java b/src/main/java/net/xanthian/variantchests/ClientInitialise.java index e333852..587ede5 100644 --- a/src/main/java/net/xanthian/variantchests/ClientInitialise.java +++ b/src/main/java/net/xanthian/variantchests/ClientInitialise.java @@ -3,13 +3,31 @@ import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.fabricmc.loader.api.FabricLoader; import net.xanthian.variantchests.renderer.EntityRenderInitialise; @Environment(EnvType.CLIENT) public class ClientInitialise implements ClientModInitializer { - @Override - public void onInitializeClient() { - EntityRenderInitialise.register(); + @Override + public void onInitializeClient() { + EntityRenderInitialise.register(); + + ifModLoaded("ad_astra", EntityRenderInitialise::registerAAChests); + ifModLoaded("beachparty", EntityRenderInitialise::registerLDBPChests); + ifModLoaded("betterarcheology", EntityRenderInitialise::registerBAChests); + ifModLoaded("deeperdarker", EntityRenderInitialise::registerDADChests); + ifModLoaded("minecells", EntityRenderInitialise::registerMCChests); + ifModLoaded("snifferplus", EntityRenderInitialise::registerSPChests); + ifModLoaded("techreborn", EntityRenderInitialise::registerTRChests); + ifModLoaded("vinery", EntityRenderInitialise::registerLDVChests); + } + + public static void ifModLoaded(String modId, Runnable... runnables) { + if (FabricLoader.getInstance().isModLoaded(modId)) { + for (Runnable runnable : runnables) { + runnable.run(); + } + } } } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/Initialise.java b/src/main/java/net/xanthian/variantchests/Initialise.java index db8c03b..d6b74f5 100644 --- a/src/main/java/net/xanthian/variantchests/Initialise.java +++ b/src/main/java/net/xanthian/variantchests/Initialise.java @@ -2,7 +2,10 @@ import net.fabricmc.api.ModInitializer; +import net.fabricmc.loader.api.FabricLoader; + import net.xanthian.variantchests.block.Vanilla; +import net.xanthian.variantchests.block.compatability.*; import net.xanthian.variantchests.entity.EntityInitialise; import net.xanthian.variantchests.util.ModCreativeTab; import net.xanthian.variantchests.util.ModFuelRegistry; @@ -18,5 +21,22 @@ public void onInitialize() { EntityInitialise.registerBlockEntities(); ModCreativeTab.registerItemGroup(); ModFuelRegistry.registerFuel(); + + ifModLoaded("ad_astra", AdAstra::registerChests, EntityInitialise::registerAABlockEntities); + ifModLoaded("beachparty", BeachParty::registerChests, EntityInitialise::registerLDBPBlockEntities); + ifModLoaded("betterarcheology", BetterArcheology::registerChests, EntityInitialise::registerBABlockEntities); + ifModLoaded("deeperdarker", DeeperAndDarker::registerChests, EntityInitialise::registerDADBlockEntities); + ifModLoaded("minecells", MineCells::registerChests, EntityInitialise::registerMCBlockEntities); + ifModLoaded("snifferplus", SnifferPlus::registerChests, EntityInitialise::registerSPBlockEntities); + ifModLoaded("techreborn", TechReborn::registerChests, EntityInitialise::registerTRBlockEntities); + ifModLoaded("vinery", Vinery::registerChests, EntityInitialise::registerLDVBlockEntities); + } + + public static void ifModLoaded(String modId, Runnable... runnables) { + if (FabricLoader.getInstance().isModLoaded(modId)) { + for (Runnable runnable : runnables) { + runnable.run(); + } + } } } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/VariantChests.java b/src/main/java/net/xanthian/variantchests/block/VariantChests.java index ef46e18..1af52c5 100644 --- a/src/main/java/net/xanthian/variantchests/block/VariantChests.java +++ b/src/main/java/net/xanthian/variantchests/block/VariantChests.java @@ -22,8 +22,18 @@ public enum VariantChests { OAK, SPRUCE, WARPED, + + AA_GLACIAN, + LDBP_PALM, + BA_ROTTEN, + DAD_ECHO, + MC_PUTRID, + SP_STONE_PINE, + TR_RUBBER, + LDV_CHERRY ; + public BlockEntityType getBlockEntityType() { return switch (this) { case ACACIA -> EntityInitialise.ACACIA_CHEST; @@ -37,8 +47,17 @@ public BlockEntityType getBlockEntityType() { case OAK -> EntityInitialise.OAK_CHEST; case SPRUCE -> EntityInitialise.SPRUCE_CHEST; case WARPED -> EntityInitialise.WARPED_CHEST; - }; + case AA_GLACIAN -> EntityInitialise.AA_GLACIAN_CHEST; + case LDBP_PALM -> EntityInitialise.LDBP_PALM_CHEST; + case BA_ROTTEN -> EntityInitialise.BA_ROTTEN_CHEST; + case DAD_ECHO -> EntityInitialise.DAD_ECHO_CHEST; + case MC_PUTRID -> EntityInitialise.MC_PUTRID_CHEST; + case SP_STONE_PINE -> EntityInitialise.SP_STONE_PINE_CHEST; + case TR_RUBBER -> EntityInitialise.TR_RUBBER_CHEST; + case LDV_CHERRY -> EntityInitialise.LDV_CHERRY_CHEST; + + }; } public VariantChestBlockEntity getBlockEntity(BlockPos pos, BlockState state) { diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/AdAstra.java b/src/main/java/net/xanthian/variantchests/block/compatability/AdAstra.java new file mode 100644 index 0000000..0dee21b --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/AdAstra.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class AdAstra { + + public static Block AA_GLACIAN_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.AA_GLACIAN); + + public static void registerChests() { + registerChests(VariantChests.AA_GLACIAN.getId(), AA_GLACIAN_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/BeachParty.java b/src/main/java/net/xanthian/variantchests/block/compatability/BeachParty.java new file mode 100644 index 0000000..cf91783 --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/BeachParty.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class BeachParty { + + public static Block LDBP_PALM_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.LDBP_PALM); + + public static void registerChests() { + registerChests(VariantChests.LDBP_PALM.getId(), LDBP_PALM_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/BetterArcheology.java b/src/main/java/net/xanthian/variantchests/block/compatability/BetterArcheology.java new file mode 100644 index 0000000..1b62091 --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/BetterArcheology.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class BetterArcheology { + + public static Block BA_ROTTEN_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.BA_ROTTEN); + + public static void registerChests() { + registerChests(VariantChests.BA_ROTTEN.getId(), BA_ROTTEN_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/DeeperAndDarker.java b/src/main/java/net/xanthian/variantchests/block/compatability/DeeperAndDarker.java new file mode 100644 index 0000000..f3d4d9e --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/DeeperAndDarker.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class DeeperAndDarker { + + public static Block DAD_ECHO_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.DAD_ECHO); + + public static void registerChests() { + registerChests(VariantChests.DAD_ECHO.getId(), DAD_ECHO_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/MineCells.java b/src/main/java/net/xanthian/variantchests/block/compatability/MineCells.java new file mode 100644 index 0000000..f9f77ae --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/MineCells.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class MineCells { + + public static Block MC_PUTRID_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.MC_PUTRID); + + public static void registerChests() { + registerChests(VariantChests.MC_PUTRID.getId(), MC_PUTRID_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/SnifferPlus.java b/src/main/java/net/xanthian/variantchests/block/compatability/SnifferPlus.java new file mode 100644 index 0000000..d5d8374 --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/SnifferPlus.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class SnifferPlus { + + public static Block SP_STONE_PINE_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.SP_STONE_PINE); + + public static void registerChests() { + registerChests(VariantChests.SP_STONE_PINE.getId(), SP_STONE_PINE_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/TechReborn.java b/src/main/java/net/xanthian/variantchests/block/compatability/TechReborn.java new file mode 100644 index 0000000..fbcc48f --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/TechReborn.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class TechReborn { + + public static Block TR_RUBBER_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.TR_RUBBER); + + public static void registerChests() { + registerChests(VariantChests.TR_RUBBER.getId(), TR_RUBBER_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/block/compatability/Vinery.java b/src/main/java/net/xanthian/variantchests/block/compatability/Vinery.java new file mode 100644 index 0000000..7d096ee --- /dev/null +++ b/src/main/java/net/xanthian/variantchests/block/compatability/Vinery.java @@ -0,0 +1,29 @@ +package net.xanthian.variantchests.block.compatability; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +import net.xanthian.variantchests.block.VariantChestBlock; +import net.xanthian.variantchests.block.VariantChests; + +public class Vinery { + + public static Block LDV_CHERRY_CHEST = new VariantChestBlock(FabricBlockSettings.copyOf(Blocks.CHEST), VariantChests.LDV_CHERRY); + + public static void registerChests() { + registerChests(VariantChests.LDV_CHERRY.getId(), LDV_CHERRY_CHEST); + } + + private static void registerChests(Identifier Id, Block block) { + Identifier identifier = new Identifier(Id.toString()); + Registry.register(Registries.BLOCK, identifier, block); + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new FabricItemSettings())); + } +} \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/datagen/BlockTagGenerator.java b/src/main/java/net/xanthian/variantchests/datagen/BlockTagGenerator.java index f6eb902..f080959 100644 --- a/src/main/java/net/xanthian/variantchests/datagen/BlockTagGenerator.java +++ b/src/main/java/net/xanthian/variantchests/datagen/BlockTagGenerator.java @@ -41,7 +41,16 @@ protected void configure (RegistryWrapper.WrapperLookup arg){ .add(Vanilla.MANGROVE_CHEST) .add(Vanilla.OAK_CHEST) .add(Vanilla.SPRUCE_CHEST) - .add(Vanilla.WARPED_CHEST); + .add(Vanilla.WARPED_CHEST) + + .addOptional(new Identifier("variantchests:aa_glacian_chest")) + .addOptional(new Identifier("variantchests:ldbp_palm_chest")) + .addOptional(new Identifier("variantchests:ba_rotten_chest")) + .addOptional(new Identifier("variantchests:dad_echo_chest")) + .addOptional(new Identifier("variantchests:mc_putrid_chest")) + .addOptional(new Identifier("variantchests:sp_stone_pine_chest")) + .addOptional(new Identifier("variantchests:tr_rubber_chest")) + .addOptional(new Identifier("variantchests:ldv_cherry_chest")); getOrCreateTagBuilder(AXE_MINEABLE) .forceAddTag(CHESTS); diff --git a/src/main/java/net/xanthian/variantchests/datagen/ItemTagGenerator.java b/src/main/java/net/xanthian/variantchests/datagen/ItemTagGenerator.java index b093c13..a9ef605 100644 --- a/src/main/java/net/xanthian/variantchests/datagen/ItemTagGenerator.java +++ b/src/main/java/net/xanthian/variantchests/datagen/ItemTagGenerator.java @@ -39,7 +39,16 @@ protected void configure (RegistryWrapper.WrapperLookup arg){ .add(Vanilla.MANGROVE_CHEST.asItem()) .add(Vanilla.OAK_CHEST.asItem()) .add(Vanilla.SPRUCE_CHEST.asItem()) - .add(Vanilla.WARPED_CHEST.asItem()); + .add(Vanilla.WARPED_CHEST.asItem()) + + .addOptional(new Identifier("variantchests:aa_glacian_chest")) + .addOptional(new Identifier("variantchests:ldbp_palm_chest")) + .addOptional(new Identifier("variantchests:ba_rotten_chest")) + .addOptional(new Identifier("variantchests:dad_echo_chest")) + .addOptional(new Identifier("variantchests:mc_putrid_chest")) + .addOptional(new Identifier("variantchests:sp_stone_pine_chest")) + .addOptional(new Identifier("variantchests:tr_rubber_chest")) + .addOptional(new Identifier("variantchests:ldv_cherry_chest")); getOrCreateTagBuilder(NON_FLAMMABLE_WOOD) .add(Vanilla.CRIMSON_CHEST.asItem()) diff --git a/src/main/java/net/xanthian/variantchests/datagen/LangFileGenerator.java b/src/main/java/net/xanthian/variantchests/datagen/LangFileGenerator.java index 4fc3e7b..0eea624 100644 --- a/src/main/java/net/xanthian/variantchests/datagen/LangFileGenerator.java +++ b/src/main/java/net/xanthian/variantchests/datagen/LangFileGenerator.java @@ -4,7 +4,9 @@ import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.minecraft.block.Blocks; + import net.xanthian.variantchests.block.*; +import net.xanthian.variantchests.block.compatability.*; public class LangFileGenerator extends FabricLanguageProvider { public LangFileGenerator(FabricDataOutput dataOutput) { @@ -27,6 +29,15 @@ public void generateTranslations(TranslationBuilder translationBuilder) { translationBuilder.add(Blocks.CHEST, "Oak Chest"); translationBuilder.add(Vanilla.SPRUCE_CHEST, "Spruce Chest"); translationBuilder.add(Vanilla.WARPED_CHEST, "Warped Chest"); + // Compatability + translationBuilder.add(AdAstra.AA_GLACIAN_CHEST, "Glacian Chest"); + translationBuilder.add(BeachParty.LDBP_PALM_CHEST, "Palm Chest"); + translationBuilder.add(BetterArcheology.BA_ROTTEN_CHEST, "Rotten Chest"); + translationBuilder.add(DeeperAndDarker.DAD_ECHO_CHEST, "Echo Chest"); + translationBuilder.add(MineCells.MC_PUTRID_CHEST, "Putrid Chest"); + translationBuilder.add(SnifferPlus.SP_STONE_PINE_CHEST, "Stone Pine Chest"); + translationBuilder.add(TechReborn.TR_RUBBER_CHEST, "Rubber Chest"); + translationBuilder.add(Vinery.LDV_CHERRY_CHEST, "Cherry Chest"); translationBuilder.add("container.variantchests.acacia_chest", "Acacia Chest"); translationBuilder.add("container.variantchests.bamboo_chest", "Bamboo Chest"); @@ -40,7 +51,16 @@ public void generateTranslations(TranslationBuilder translationBuilder) { translationBuilder.add("container.chest", "Oak Chest"); translationBuilder.add("container.variantchests.spruce_chest", "Spruce Chest"); translationBuilder.add("container.variantchests.warped_chest", "Warped Chest"); - + // Compatability + translationBuilder.add("container.variantchests.aa_glacian_chest", "Glacian Chest"); + translationBuilder.add("container.variantchests.ldbp_palm_chest", "Palm Chest"); + translationBuilder.add("container.variantchests.ba_rotten_chest", "Rotten Chest"); + translationBuilder.add("container.variantchests.dad_echo_chest", "Echo Chest"); + translationBuilder.add("container.variantchests.mc_putrid_chest", "Putrid Chest"); + translationBuilder.add("container.variantchests.sp_stone_pine_chest", "Stone Pine Chest"); + translationBuilder.add("container.variantchests.tr_rubber_chest", "Rubber Chest"); + translationBuilder.add("container.variantchests.ldv_cherry_chest", "Cherry Chest"); + translationBuilder.add("variantchests.itemgroup", "Variant Chests"); } } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/datagen/LootTableGenerator.java b/src/main/java/net/xanthian/variantchests/datagen/LootTableGenerator.java index b713503..bb8a450 100644 --- a/src/main/java/net/xanthian/variantchests/datagen/LootTableGenerator.java +++ b/src/main/java/net/xanthian/variantchests/datagen/LootTableGenerator.java @@ -3,7 +3,10 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; +import net.fabricmc.fabric.api.resource.conditions.v1.DefaultResourceConditions; + import net.xanthian.variantchests.block.Vanilla; +import net.xanthian.variantchests.block.compatability.*; public class LootTableGenerator extends FabricBlockLootTableProvider { public LootTableGenerator(FabricDataOutput dataOutput) { @@ -21,9 +24,17 @@ public void generate() { addDrop(Vanilla.DARK_OAK_CHEST, this::nameableContainerDrops); addDrop(Vanilla.JUNGLE_CHEST, this::nameableContainerDrops); addDrop(Vanilla.MANGROVE_CHEST, this::nameableContainerDrops); - //addDrop(Vanilla.OAK_CHEST, this::nameableContainerDrops); + addDrop(Vanilla.SPRUCE_CHEST, this::nameableContainerDrops); addDrop(Vanilla.WARPED_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("ad_astra")).addDrop(AdAstra.AA_GLACIAN_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("beachparty")).addDrop(BeachParty.LDBP_PALM_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("betterarcheology")).addDrop(BetterArcheology.BA_ROTTEN_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("deeperdarker")).addDrop(DeeperAndDarker.DAD_ECHO_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("minecells")).addDrop(MineCells.MC_PUTRID_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("snifferplus")).addDrop(SnifferPlus.SP_STONE_PINE_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("techreborn")).addDrop(TechReborn.TR_RUBBER_CHEST, this::nameableContainerDrops); + withConditions(DefaultResourceConditions.allModsLoaded("vinery")).addDrop(Vinery.LDV_CHERRY_CHEST, this::nameableContainerDrops); } } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/datagen/ModelGenerator.java b/src/main/java/net/xanthian/variantchests/datagen/ModelGenerator.java index 3f70bbe..f3e14b0 100644 --- a/src/main/java/net/xanthian/variantchests/datagen/ModelGenerator.java +++ b/src/main/java/net/xanthian/variantchests/datagen/ModelGenerator.java @@ -11,6 +11,7 @@ import net.xanthian.variantchests.block.Vanilla; import net.xanthian.variantchests.block.VariantChests; +import net.xanthian.variantchests.block.compatability.*; import net.xanthian.variantchests.util.ModModel; import net.xanthian.variantchests.util.ModTextureKey; @@ -33,6 +34,16 @@ public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGen blockStateModelGenerator.registerBuiltin(VariantChests.OAK.getId().withPrefixedPath("block/"), Blocks.OAK_PLANKS).includeWithoutItem(Vanilla.OAK_CHEST); blockStateModelGenerator.registerBuiltin(VariantChests.SPRUCE.getId().withPrefixedPath("block/"), Blocks.SPRUCE_PLANKS).includeWithoutItem(Vanilla.SPRUCE_CHEST); blockStateModelGenerator.registerBuiltin(VariantChests.WARPED.getId().withPrefixedPath("block/"), Blocks.WARPED_PLANKS).includeWithoutItem(Vanilla.WARPED_CHEST); + + // Compatability + blockStateModelGenerator.registerBuiltinWithParticle(AdAstra.AA_GLACIAN_CHEST, new Identifier("ad_astra:block/glacian_planks")); + blockStateModelGenerator.registerBuiltinWithParticle(BeachParty.LDBP_PALM_CHEST, new Identifier("beachparty:block/palm_planks0")); + blockStateModelGenerator.registerBuiltinWithParticle(BetterArcheology.BA_ROTTEN_CHEST, new Identifier("betterarcheology:block/rotten_planks")); + blockStateModelGenerator.registerBuiltinWithParticle(DeeperAndDarker.DAD_ECHO_CHEST, new Identifier("deeperdarker:block/echo_planks")); + blockStateModelGenerator.registerBuiltinWithParticle(MineCells.MC_PUTRID_CHEST, new Identifier("minecells:block/putrid_planks")); + blockStateModelGenerator.registerBuiltinWithParticle(SnifferPlus.SP_STONE_PINE_CHEST, new Identifier("snifferplus:block/stone_pine_planks")); + blockStateModelGenerator.registerBuiltinWithParticle(TechReborn.TR_RUBBER_CHEST, new Identifier("techreborn:block/rubber_planks")); + blockStateModelGenerator.registerBuiltinWithParticle(Vinery.LDV_CHERRY_CHEST, new Identifier("vinery:block/cherry_planks")); } @Override @@ -49,12 +60,22 @@ public void generateItemModels(ItemModelGenerator itemModelGenerator) { chestItem(itemModelGenerator, Vanilla.SPRUCE_CHEST); chestItem(itemModelGenerator, Vanilla.WARPED_CHEST); + chestItem(itemModelGenerator, AdAstra.AA_GLACIAN_CHEST); + chestItem(itemModelGenerator, BeachParty.LDBP_PALM_CHEST); + chestItem(itemModelGenerator, BetterArcheology.BA_ROTTEN_CHEST); + chestItem(itemModelGenerator, DeeperAndDarker.DAD_ECHO_CHEST); + chestItem(itemModelGenerator, MineCells.MC_PUTRID_CHEST); + chestItem(itemModelGenerator, SnifferPlus.SP_STONE_PINE_CHEST); + chestItem(itemModelGenerator, TechReborn.TR_RUBBER_CHEST); + chestItem(itemModelGenerator, Vinery.LDV_CHERRY_CHEST); + } public final void chestItem(ItemModelGenerator itemModelGenerator, Block block) { TextureMap textureMap = new TextureMap().put(ModTextureKey.CHEST, getId(block)); ModModel.CHEST.upload(ModelIds.getItemModelId(block.asItem()), textureMap, itemModelGenerator.writer); } + public static Identifier getId(Block block) { Identifier identifier = Registries.BLOCK.getId(block); return identifier.withPrefixedPath("chest/"); diff --git a/src/main/java/net/xanthian/variantchests/datagen/RecipeGenerator.java b/src/main/java/net/xanthian/variantchests/datagen/RecipeGenerator.java index 86ec672..9e11400 100644 --- a/src/main/java/net/xanthian/variantchests/datagen/RecipeGenerator.java +++ b/src/main/java/net/xanthian/variantchests/datagen/RecipeGenerator.java @@ -34,10 +34,19 @@ public void generate(Consumer exporter) { offerChestRecipe(exporter, Vanilla.DARK_OAK_CHEST, Items.DARK_OAK_PLANKS); offerChestRecipe(exporter, Vanilla.JUNGLE_CHEST, Items.JUNGLE_PLANKS); offerChestRecipe(exporter, Vanilla.MANGROVE_CHEST, Items.MANGROVE_PLANKS); - //offerChestRecipe(exporter, Vanilla.OAK_CHEST, Items.OAK_PLANKS); offerChestRecipe(exporter, Vanilla.SPRUCE_CHEST, Items.SPRUCE_PLANKS); offerChestRecipe(exporter, Vanilla.WARPED_CHEST, Items.WARPED_PLANKS); + //too lazy to write so generate and amend :) + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("ad_astra")), AdAstra.AA_GLACIAN_CHEST, Registries.ITEM.get(new Identifier("ad_astra:glacian_planks"))); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("beachparty")), BeachParty.LDBP_PALM_CHEST, Items.ACACIA_PLANKS); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("betterarcheology")), BetterArcheology.BA_ROTTEN_CHEST, Items.ACACIA_PLANKS); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("deeperdarker")), DeeperAndDarker.DAD_ECHO_CHEST, Items.ACACIA_PLANKS); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("minecells")), MineCells.MC_PUTRID_CHEST, Items.ACACIA_PLANKS); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("snifferplus")), SnifferPlus.SP_STONE_PINE_CHEST, Items.ACACIA_PLANKS); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("techreborn")), TechReborn.TR_RUBBER_CHEST, Items.ACACIA_PLANKS); + //offerChestRecipe(withConditions(exporter, DefaultResourceConditions.allModsLoaded("vinery")), Vinery.LDV_CHERRY_CHEST, Items.ACACIA_PLANKS); + offerCustomChestBoatRecipe(exporter,Items.ACACIA_CHEST_BOAT, Items.ACACIA_BOAT, ModItemTags.CHESTS); offerCustomChestBoatRecipe(exporter,Items.BAMBOO_CHEST_RAFT, Items.BAMBOO_RAFT, ModItemTags.CHESTS); offerCustomChestBoatRecipe(exporter,Items.BIRCH_CHEST_BOAT, Items.BIRCH_BOAT, ModItemTags.CHESTS); @@ -48,7 +57,6 @@ public void generate(Consumer exporter) { offerCustomChestBoatRecipe(exporter,Items.OAK_CHEST_BOAT, Items.OAK_BOAT, ModItemTags.CHESTS); offerCustomChestBoatRecipe(exporter,Items.SPRUCE_CHEST_BOAT, Items.SPRUCE_BOAT, ModItemTags.CHESTS); - // Chest Minecart ShapelessRecipeJsonBuilder.create(RecipeCategory.MISC, Items.CHEST_MINECART, 1) .input(ModItemTags.CHESTS).input(Items.MINECART) diff --git a/src/main/java/net/xanthian/variantchests/entity/EntityInitialise.java b/src/main/java/net/xanthian/variantchests/entity/EntityInitialise.java index d5ed395..d02b148 100644 --- a/src/main/java/net/xanthian/variantchests/entity/EntityInitialise.java +++ b/src/main/java/net/xanthian/variantchests/entity/EntityInitialise.java @@ -9,6 +9,7 @@ import net.xanthian.variantchests.block.Vanilla; import net.xanthian.variantchests.block.VariantChests; +import net.xanthian.variantchests.block.compatability.*; public class EntityInitialise { @@ -24,23 +25,57 @@ public class EntityInitialise { public static BlockEntityType OAK_CHEST; public static BlockEntityType WARPED_CHEST; - public static void registerBlockEntities() { - ACACIA_CHEST = register(VariantChests.ACACIA, Vanilla.ACACIA_CHEST); - BAMBOO_CHEST = register(VariantChests.BAMBOO, Vanilla.BAMBOO_CHEST); - BIRCH_CHEST = register(VariantChests.BIRCH, Vanilla.BIRCH_CHEST); - CHERRY_CHEST = register(VariantChests.CHERRY, Vanilla.CHERRY_CHEST); - CRIMSON_CHEST = register(VariantChests.CRIMSON, Vanilla.CRIMSON_CHEST); - DARK_OAK_CHEST = register(VariantChests.DARK_OAK, Vanilla.DARK_OAK_CHEST); - JUNGLE_CHEST = register(VariantChests.JUNGLE, Vanilla.JUNGLE_CHEST); - MANGROVE_CHEST = register(VariantChests.MANGROVE, Vanilla.MANGROVE_CHEST); - OAK_CHEST = register(VariantChests.OAK, Vanilla.OAK_CHEST); - SPRUCE_CHEST = register(VariantChests.SPRUCE, Vanilla.SPRUCE_CHEST); - WARPED_CHEST = register(VariantChests.WARPED, Vanilla.WARPED_CHEST); - } - - private static BlockEntityType register(VariantChests type, Block... block){ - return Registry.register(Registries.BLOCK_ENTITY_TYPE, type.getId(), - FabricBlockEntityTypeBuilder.create((pos, state)-> new VariantChestBlockEntity(type, pos, state), - block).build(null)); - } + public static BlockEntityType AA_GLACIAN_CHEST; + public static BlockEntityType LDBP_PALM_CHEST; + public static BlockEntityType BA_ROTTEN_CHEST; + public static BlockEntityType DAD_ECHO_CHEST; + public static BlockEntityType MC_PUTRID_CHEST; + public static BlockEntityType SP_STONE_PINE_CHEST; + public static BlockEntityType TR_RUBBER_CHEST; + public static BlockEntityType LDV_CHERRY_CHEST; + + public static void registerBlockEntities() { + ACACIA_CHEST = register(VariantChests.ACACIA, Vanilla.ACACIA_CHEST); + BAMBOO_CHEST = register(VariantChests.BAMBOO, Vanilla.BAMBOO_CHEST); + BIRCH_CHEST = register(VariantChests.BIRCH, Vanilla.BIRCH_CHEST); + CHERRY_CHEST = register(VariantChests.CHERRY, Vanilla.CHERRY_CHEST); + CRIMSON_CHEST = register(VariantChests.CRIMSON, Vanilla.CRIMSON_CHEST); + DARK_OAK_CHEST = register(VariantChests.DARK_OAK, Vanilla.DARK_OAK_CHEST); + JUNGLE_CHEST = register(VariantChests.JUNGLE, Vanilla.JUNGLE_CHEST); + MANGROVE_CHEST = register(VariantChests.MANGROVE, Vanilla.MANGROVE_CHEST); + OAK_CHEST = register(VariantChests.OAK, Vanilla.OAK_CHEST); + SPRUCE_CHEST = register(VariantChests.SPRUCE, Vanilla.SPRUCE_CHEST); + WARPED_CHEST = register(VariantChests.WARPED, Vanilla.WARPED_CHEST); + } + + public static void registerAABlockEntities() { + AA_GLACIAN_CHEST = register(VariantChests.AA_GLACIAN, AdAstra.AA_GLACIAN_CHEST); + } + public static void registerLDBPBlockEntities() { + LDBP_PALM_CHEST = register(VariantChests.LDBP_PALM, BeachParty.LDBP_PALM_CHEST); + } + public static void registerBABlockEntities() { + BA_ROTTEN_CHEST = register(VariantChests.BA_ROTTEN, BetterArcheology.BA_ROTTEN_CHEST); + } + public static void registerDADBlockEntities() { + DAD_ECHO_CHEST = register(VariantChests.DAD_ECHO, DeeperAndDarker.DAD_ECHO_CHEST); + } + public static void registerMCBlockEntities() { + MC_PUTRID_CHEST = register(VariantChests.MC_PUTRID, MineCells.MC_PUTRID_CHEST); + } + public static void registerSPBlockEntities() { + SP_STONE_PINE_CHEST = register(VariantChests.SP_STONE_PINE, SnifferPlus.SP_STONE_PINE_CHEST); + } + public static void registerTRBlockEntities() { + TR_RUBBER_CHEST = register(VariantChests.TR_RUBBER, TechReborn.TR_RUBBER_CHEST); + } + public static void registerLDVBlockEntities() { + LDV_CHERRY_CHEST = register(VariantChests.LDV_CHERRY, Vinery.LDV_CHERRY_CHEST); + } + + private static BlockEntityType register(VariantChests type, Block... block) { + return Registry.register(Registries.BLOCK_ENTITY_TYPE, type.getId(), + FabricBlockEntityTypeBuilder.create((pos, state) -> new VariantChestBlockEntity(type, pos, state), + block).build(null)); + } } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/renderer/EntityRenderInitialise.java b/src/main/java/net/xanthian/variantchests/renderer/EntityRenderInitialise.java index e934b4f..ad1210f 100644 --- a/src/main/java/net/xanthian/variantchests/renderer/EntityRenderInitialise.java +++ b/src/main/java/net/xanthian/variantchests/renderer/EntityRenderInitialise.java @@ -23,4 +23,29 @@ public static void register() { BlockEntityRendererFactories.register(EntityInitialise.SPRUCE_CHEST, VariantChestRenderer::new); BlockEntityRendererFactories.register(EntityInitialise.WARPED_CHEST, VariantChestRenderer::new); } + + public static void registerAAChests() { + BlockEntityRendererFactories.register(EntityInitialise.AA_GLACIAN_CHEST, VariantChestRenderer::new); + } + public static void registerLDBPChests() { + BlockEntityRendererFactories.register(EntityInitialise.LDBP_PALM_CHEST, VariantChestRenderer::new); + } + public static void registerBAChests() { + BlockEntityRendererFactories.register(EntityInitialise.BA_ROTTEN_CHEST, VariantChestRenderer::new); + } + public static void registerDADChests() { + BlockEntityRendererFactories.register(EntityInitialise.DAD_ECHO_CHEST, VariantChestRenderer::new); + } + public static void registerMCChests() { + BlockEntityRendererFactories.register(EntityInitialise.MC_PUTRID_CHEST, VariantChestRenderer::new); + } + public static void registerSPChests() { + BlockEntityRendererFactories.register(EntityInitialise.SP_STONE_PINE_CHEST, VariantChestRenderer::new); + } + public static void registerTRChests() { + BlockEntityRendererFactories.register(EntityInitialise.TR_RUBBER_CHEST, VariantChestRenderer::new); + } + public static void registerLDVChests() { + BlockEntityRendererFactories.register(EntityInitialise.LDV_CHERRY_CHEST, VariantChestRenderer::new); + } } \ No newline at end of file diff --git a/src/main/java/net/xanthian/variantchests/util/ModCreativeTab.java b/src/main/java/net/xanthian/variantchests/util/ModCreativeTab.java index 541ac14..9ece9d2 100644 --- a/src/main/java/net/xanthian/variantchests/util/ModCreativeTab.java +++ b/src/main/java/net/xanthian/variantchests/util/ModCreativeTab.java @@ -2,6 +2,8 @@ import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.fabricmc.loader.api.FabricLoader; + import net.minecraft.block.Blocks; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; @@ -12,6 +14,7 @@ import net.xanthian.variantchests.Initialise; import net.xanthian.variantchests.block.Vanilla; +import net.xanthian.variantchests.block.compatability.*; public class ModCreativeTab { @@ -32,9 +35,33 @@ public class ModCreativeTab { entries.add(Vanilla.JUNGLE_CHEST); entries.add(Vanilla.MANGROVE_CHEST); entries.add(Blocks.CHEST); - //entries.add(Vanilla.OAK_CHEST); entries.add(Vanilla.SPRUCE_CHEST); entries.add(Vanilla.WARPED_CHEST); + + if (FabricLoader.getInstance().isModLoaded("ad_astra")) { + entries.add(AdAstra.AA_GLACIAN_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("beachparty")) { + entries.add(BeachParty.LDBP_PALM_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("betterarcheology")) { + entries.add(BetterArcheology.BA_ROTTEN_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("deeperdarker")) { + entries.add(DeeperAndDarker.DAD_ECHO_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("minecells")) { + entries.add(MineCells.MC_PUTRID_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("snifferplus")) { + entries.add(SnifferPlus.SP_STONE_PINE_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("techreborn")) { + entries.add(TechReborn.TR_RUBBER_CHEST); + } + if (FabricLoader.getInstance().isModLoaded("vinery")) { + entries.add(Vinery.LDV_CHERRY_CHEST); + } }) .build()); diff --git a/src/main/java/net/xanthian/variantchests/util/ModFuelRegistry.java b/src/main/java/net/xanthian/variantchests/util/ModFuelRegistry.java index 53949c0..8910b28 100644 --- a/src/main/java/net/xanthian/variantchests/util/ModFuelRegistry.java +++ b/src/main/java/net/xanthian/variantchests/util/ModFuelRegistry.java @@ -2,7 +2,10 @@ import net.fabricmc.fabric.api.registry.FuelRegistry; +import net.fabricmc.loader.api.FabricLoader; + import net.xanthian.variantchests.block.Vanilla; +import net.xanthian.variantchests.block.compatability.*; public class ModFuelRegistry { @@ -23,5 +26,30 @@ private static void registerFuelBlocks() { registry.add(Vanilla.MANGROVE_CHEST, 300); registry.add(Vanilla.OAK_CHEST, 300); registry.add(Vanilla.SPRUCE_CHEST, 300); + + if (FabricLoader.getInstance().isModLoaded("ad_astra")) { + registry.add(AdAstra.AA_GLACIAN_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("beachparty")) { + registry.add(BeachParty.LDBP_PALM_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("betterarcheology")) { + registry.add(BetterArcheology.BA_ROTTEN_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("deeperdarker")) { + registry.add(DeeperAndDarker.DAD_ECHO_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("minecells")) { + registry.add(MineCells.MC_PUTRID_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("snifferplus")) { + registry.add(SnifferPlus.SP_STONE_PINE_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("techreborn")) { + registry.add(TechReborn.TR_RUBBER_CHEST, 300); + } + if (FabricLoader.getInstance().isModLoaded("vinery")) { + registry.add(Vinery.LDV_CHERRY_CHEST, 300); + } } } \ No newline at end of file diff --git a/src/main/resources/assets/icon.png b/src/main/resources/assets/icon.png index 583bd6141c78beabb0463c609b834f3761abf1d3..7ca7d1e56105af45fab34c43139aabfcfce71f40 100644 GIT binary patch literal 11511 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 literal 452 zcmV;#0XzPQP)Rxm~}B2{P!V<-hM6c(9KD|In82NxAdNl8CHKOa|8muf_hOe#Mh5v^S^OE)PD zBO!}TI(IoVE?-ehC>A=7j3>WDQUCw|&PhZ;RCrz;%vEv)F$_gP$?Rcfo`($K?0;dg zbM)7BO8^1<+MG|D;{wny{D?vt$3;<*;~4@zNj&~{zh_gyz^2GeE> z?e5*A_TxC28&A*)+%X~*PLt7}EzC(;{)2c)m6eNK7`WcJK&g^+fL`#DRoB~y!YuogW+*v4NSc zewMF)mqa`;!otG2h?{lgx$OV|00DGTPE!Ct=GbNc00J>dL_t(|UhS1vkJ~U1gtg0B z)a6>PxAb2B{~rrUL!k)RcbiKd^56kY;d>bpBki~-E|wR|VpJ)w>-xHuQq~`9l~Zw8 zcXuEB8i}nr7a}YWYnIbdgQZ_1G2vYA`k+=YCJ+H3$ckeI_xC^i8cFJAKA$&1b1kJd zUDuhQPRk<(%jJb%BQa>5i|4m3C(z%0 z!sWqw0X2gVV*C=C78v6I`!B&*pxvO>jn|k#t&P{8Ww5RQco6Wl%86v~N-4$IgJMB1 zaynx0S*Zsv#r!50Q&NZM?Ck7aq;w`g#d#b#&W9&yb-wx%DK$VyXw2&SlXSUST}CQK zy+C6T_g_2=Q^JGv^J-6Ne1@RKYyVp;209g)sFikHq)MYGFEJ+G{1$PT@)DCe8ED!# z=OxA<84xQiFEPcF0dbu363a568RR7JJtu>_#Ms1uSZR5Q)jApc z$CdVW_I_5Dft*ffiLAO(?4$-Ic^G&4m7Pi~%*Ue_* vAK$jaleF9IUPk)+|Hgl>lTJG6q?3LD3xi3y|ndlG7=1D2n2FyM5kL-hSO`DI86_cz<=}h%rhj3Y5VNr4)|( z1x|B;G)=QC%~D2gN(9CftqBNxzqxUwBJB73O7d82YQlyhr?K!0yqzzBo|{t(Dd!xt zJQ*cg3p)8bQbv~N6st^WYk2~RHL4haj2ozE4>=V^1ERIHM2jXyfF@^DlAB^9D>%od zh#H}y7BZP2o8Cf==V;0Zfn1QK98;wcEMbZew}bT0mr&(UA|L=ttSyvrJE#QH4&?n) zh~I%yssT_8P=l7j(Fg%umYRMC%7m2^jz$O^4q6`wx};F7-^`d^u;TGCFakiMl-!?E z?Jmr&ue}1Yt!Zske(dTXyS?=a0AOtqr_UeS)r{eS0s1>wuUp3YC;h0_A;xe5VM`-2 zr%4DwOB>XJMhNh5=sfJ#98t$43w9p15EzT74y;AzVG9A!Q37)hTM9&-GjapY!X5D~a)S0>0TdId&7(=?LryHAcajxj!e@d`XJ xz8#N8Nh^NIm;e8@lc@F4 z^kuO!_8v2cJ)VFVF@!Wuk{k{RqOXowcFd|OFv{$^drD5>@iF;~igla|;XlAArEpKr z8C;-ZBG0$^)&ZCarKFM`se3wUaCet{LRIO_IF1_!;7XgKD2zwpo=zHETqFlnOqMw` zPy#bp*dcXLDtQ@}yXMQ%IRINOrAkxhV4P2c0nA{t&7B9ZpMjA|!TQQX7*zEbW-tO* zbrEJz0HQi5a~Q$~ms0?O#*%?lPVQ9yljX{7gPJ4lG-G|HXg%U zcMU^BRYMJifz+aNT%=|8m^_E5Nb5QtVSpJ1%*4AnA`CFYfGfS$05c4j$+ZTUVZfHJ zHNXr5UOxkxVWz6r8eoP2ukQde40!zvFvEb^Y6HwLpp5Q=*F{>#`RgK$Jril~+mCJE z_w7yF-t_%kIZaFZmefvbc0&F=fDKVxPy;SzwW65}#M8!=N~wmZWsXZ_=CxB_8V{ej zC2E<8P=mEoCdw2t4h}#=)IS~gQmmZ}xH94Ry8A%X@@?uY=e3i82!9`>@iQPwEjmzA zVJ*(!i`KfXYwdAMRIRDO*PWi%PFrWc-~ZU{c8-4T8=`i5YVhztYF~agS{Ctc{Es-} dj5E$S;}0t?Qwul1T1fx^002ovPDHLkV1mz;b2|V4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/ba_rotten_chest.png b/src/main/resources/assets/variantchests/textures/entity/chest/ba_rotten_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..50ee2ff7e9226b2a5f96c8b9a30b43b75d2d829a GIT binary patch literal 817 zcmV-11J3-3P)#FBlXMDkU93H7qqRCKeJ87ZVReI4%?s z4MsjPDkUBk5)MH-FQuiWEh8L1Gb%49A2uu{Eg~E&Cmt>&9nHdL_t(|UhS1vkJ~U1gtg0B z)a6>PxAb2B{~rrUL!k)RcbiKd^56kY;d>bpBki~-E|wR|VpJ)w>-xHuQq~`9l~Zw8 zcXuEB8i}nr7a}YWYnIbdgQZ_1G2vYA`k+=YCJ+H3$ckeI_xC^i8cFJAKA$&1b1kJd zUDuhQPRk<(%jJb%BQa>5i|4m3C(z%0 z!sWqw0X2gVV*C=C78v6I`!B&*pxvO>jn|k#t&P{8Ww5RQco6Wl%86v~N-4$IgJMB1 zaynx0S*Zsv#r!50Q&NZM?Ck7aq;w`g#d#b#&W9&yb-wx%DK$VyXw2&SlXSUST}CQK zy+C6T_g_2=Q^JGv^J-6Ne1@RKYyVp;209g)sFikHq)MYGFEJ+G{1$PT@)DCe8ED!# z=OxA<84xQiFEPcF0dbu363a568RR7JJtu>_#Ms1uSZR5Q)jApc z$CdVW_I_5Dft*ffiLAO(?4$-Ic^G&4m7Pi~%*Ue_* vAK$jaleF9IUPk)+|Hgl>lTJG6q?3LD3xinB{wlAJ~1gqIWIpmDn>psDkU8%B_0(K z4mL0*C?p+0J1;daCMzZ%L^m!xFDEW09;KzFEh8Luc6K!^B`hZ%EF~R9JTEgVB!-5D zEg~E^FC_o~0FjZACnFv*EhZry7tPJhI4veHC?GB+9Yj1ZF)1P+92YVwBf`SMMLjWl z?OcKY0004WQchC- zK%VDCkrz3mG&KTaiq=E~em*}tQW6%6MJc(db}eB?kyBHJ1wPJ)K+i1;X@C?!%ac)} zwV<;v}jTU=;n-4a#!tS1gF?l2?8<$ z83Lv0Ewp%wrcUWVP~;qQr4cM)ijX#g{QM=52Gj@$fD&5^X&uNnaGrs@e>&+iP)cx|rh^Dut~DFQM9=V6{e zmo|ge;@QJ4c?;Hh9(KVD0OlU%2_#wC$-xq4kY;K74wznUX`1m@mNtyzyKxwX@nIYv zhT%h$5f5L%>S?mfpEg}L}{mMj{#h^eV=(4y#T8dv@f(36Pd%cuXi)$F002ovPDHLkV1mP)7a zBOZ~Fk;1~lI4veEBOECr8Y?CrFeo4~DI!EXFfuJBkX#+M00001bW%=J06^y0W&i*J zfk{L`RCr$PR@ZXlFbou{dUbE9y)Hc3&m>}2u_R>3}8T?HSV3eOjdqa*V{epoWbx%mhVtH%tsJ%gjkWICAwkY`*< zA%#Hw$2pPxVpuoq&05gcD@Qsj721-bY`%C3vP@K#Gm;h!_=4}Q!!mER5f+0l6 zGj4Xq|3La?5JC4-cpx7$(>z9K9zGqI5Zy_bnGo?LsMs&W zo-PcKAC{#M%s?<$c^G`tT8H5dzQ|7EANCr&*LnxgAv}tPsBlM1&(26~x2F&#V|e2j ztBB&98eCkE+HL}1KrQm0L=98Byv+NxL5o*X#ZtBhUQ|TIgVbKfq_#Ucl|l0czD-k6 zRZ)YcA+^rgZ=@x9<8uz|3`2HO@a2;E7}yzx9P+n)_*`c@!;p(~tU+jJ7;-4a8fZJi zkTo0Kft_K<&&YtxFjbVJJFqhhd3*=j&M@R>WMF3)ayZ%`u`>)Q8GjD!3`2HOuq9*v zHqydJM%ugjL!D(=eO=erS=LveX=zrI+HTJ!7xn^HL@`bc81L2csx#n!4lblFE24&T zTu9Zg?fOdHF0Obu>`DpP9kWtH}8yQ8ySufMNWE1)0iim26^8rV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest.png b/src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..d17267e3c4a90e4cbd4f034a1170a1379dadb8f6 GIT binary patch literal 817 zcmV-11J3-3P)dL_t(|UhS1vkJ~U1gtg0B z)a6>PxAb2B{~rrUL!k)RcbiKd^56kY;d>bpBki~-E|wR|VpJ)w>-xHuQq~`9l~Zw8 zcXuEB8i}nr7a}YWYnIbdgQZ_1G2vYA`k+=YCJ+H3$ckeI_xC^i8cFJAKA$&1b1kJd zUDuhQPRk<(%jJb%BQa>5i|4m3C(z%0 z!sWqw0X2gVV*C=C78v6I`!B&*pxvO>jn|k#t&P{8Ww5RQco6Wl%86v~N-4$IgJMB1 zaynx0S*Zsv#r!50Q&NZM?Ck7aq;w`g#d#b#&W9&yb-wx%DK$VyXw2&SlXSUST}CQK zy+C6T_g_2=Q^JGv^J-6Ne1@RKYyVp;209g)sFikHq)MYGFEJ+G{1$PT@)DCe8ED!# z=OxA<84xQiFEPcF0dbu363a568RR7JJtu>_#Ms1uSZR5Q)jApc z$CdVW_I_5Dft*ffiLAO(?4$-Ic^G&4m7Pi~%*Ue_* vAK$jaleF9IUPk)+|Hgl>lTJG6q?3LD3xig4P(UC{JRUYLB{wlAN;@9wzG>E~S4KWEDkU8%B_7YD zQqrbZC?p+0J1^$CV>K@(D<&UEIUP1ICZTpPrKP2Ic6N$nD29fH!JS4dB^^aPFT0pS zEGHg+TO>FyB_A9Y&CSgxBOZ~Fks%!yL_9FZp-QZNGnQ>FGA$;xhd08)!nlw3y|ndlG7=1D2n2FyM5kL-hSO`DI86_cz<=}h%rhj3Y5VNr4)|( z1x|B;G)=QC%~D2gN(9CftqBNxzqxUwBJB73O7d82YQlyhr?K!0yqzzBo|{t(Dd!xt zJQ*cg3p)8bQbv~N6st^WYk2~RHL4haj2ozE4>=V^1ERIHM2jXyfF@^DlAB^9D>%od zh#H}y7BZP2o8Cf==V;0Zfn1QK98;wcEMbZew}bT0mr&(UA|L=ttSyvrJE#QH4&?n) zh~I%yssT_8P=l7j(Fg%umYRMC%7m2^jz$O^4q6`wx};F7-^`d^u;TGCFakiMl-!?E z?Jmr&ue}1Yt!Zske(dTXyS?=a0AOtqr_UeS)r{eS0s1>wuUp3YC;h0_A;xe5VM`-2 zr%4DwOB>XJMhNh5=sfJ#98t$43w9p15EzT74y;AzVG9A!Q37)hTM9&-GjapY!X5D~a)S0>0TdId&7(=?LryHAcajxj!e@d`XJ xz8#N8NRu=#O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest_right.png b/src/main/resources/assets/variantchests/textures/entity/chest/bp_palm_chest_right.png new file mode 100644 index 0000000000000000000000000000000000000000..a414a18112c32c960b556c82218e8a2da312657d GIT binary patch literal 851 zcmV-Z1FZasP){C4m_yCY%{VV5rKP1dFebQ=J;9wuEF~R9JTHcZhAbx^ zmTfI|c6J{e7ezfW0000X9TzJmA15Oo!otFlk&(xtN{VDCL_9DuEhemfGqr~|C?p+! zTO@iFr*;4U00DGTPE!Ct=GbNc00Li0L_t(|UhP)bj^i*4w7T4T>h^NIm;e8@lc@F4 z^kuO!_8v2cJ)VFVF@!Wuk{k{RqOXowcFd|OFv{$^drD5>@iF;~igla|;XlAArEpKr z8C;-ZBG0$^)&ZCarKFM`se3wUaCet{LRIO_IF1_!;7XgKD2zwpo=zHETqFlnOqMw` zPy#bp*dcXLDtQ@}yXMQ%IRINOrAkxhV4P2c0nA{t&7B9ZpMjA|!TQQX7*zEbW-tO* zbrEJz0HQi5a~Q$~ms0?O#*%?lPVQ9yljX{7gPJ4lG-G|HXg%U zcMU^BRYMJifz+aNT%=|8m^_E5Nb5QtVSpJ1%*4AnA`CFYfGfS$05c4j$+ZTUVZfHJ zHNXr5UOxkxVWz6r8eoP2ukQde40!zvFvEb^Y6HwLpp5Q=*F{>#`RgK$Jril~+mCJE z_w7yF-t_%kIZaFZmefvbc0&F=fDKVxPy;SzwW65}#M8!=N~wmZWsXZ_=CxB_8V{ej zC2E<8P=mEoCdw2t4h}#=)IS~gQmmZ}xH94Ry8A%X@@?uY=e3i82!9`>@iQPwEjmzA zVJ*(!i`KfXYwdAMRIRDO*PWi%PFrWc-~ZU{c8-4T8=`i5YVhztYF~agS{Ctc{Es-} dj5E$S;}0t?Qwul1T1fx^002ovPDHLkV1oFjZ*%|v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/dad_echo_chest.png b/src/main/resources/assets/variantchests/textures/entity/chest/dad_echo_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..d0580cf29095ef2bf8e75b68eeba56794a55f7cd GIT binary patch literal 817 zcmV-11J3-3P)CmwZdL_t(|UhS1vkJ~U1gtg0B z)a6>PxAb2B{~rrUL!k)RcbiKd^56kY;d>bpBki~-E|wR|VpJ)w>-xHuQq~`9l~Zw8 zcXuEB8i}nr7a}YWYnIbdgQZ_1G2vYA`k+=YCJ+H3$ckeI_xC^i8cFJAKA$&1b1kJd zUDuhQPRk<(%jJb%BQa>5i|4m3C(z%0 z!sWqw0X2gVV*C=C78v6I`!B&*pxvO>jn|k#t&P{8Ww5RQco6Wl%86v~N-4$IgJMB1 zaynx0S*Zsv#r!50Q&NZM?Ck7aq;w`g#d#b#&W9&yb-wx%DK$VyXw2&SlXSUST}CQK zy+C6T_g_2=Q^JGv^J-6Ne1@RKYyVp;209g)sFikHq)MYGFEJ+G{1$PT@)DCe8ED!# z=OxA<84xQiFEPcF0dbu363a568RR7JJtu>_#Ms1uSZR5Q)jApc z$CdVW_I_5Dft*ffiLAO(?4$-Ic^G&4m7Pi~%*Ue_* vAK$jaleF9IUPk)+|Hgl>lTJG6q?3LD3xiGo-;QpJwh`%J})*eB{wlAI6N+~yPKk}ghoCxDkU8%B_5cd zd!46%C?p+0J1?%emo+aYD<&T|J1sUaCU}s4rKP2Ic6M@%dWMFEi=TTeB^^aPFNd9g zEGHgti+DIMB_A9Y&CSgxBOZ~Fks%!yL_9E$pnH6jgLRI5GA$;5mxjW^!h@QHMLjV9 z0003y|ndlG7=1D2n2FyM5kL-hSO`DI86_cz<=}h%rhj3Y5VNr4)|( z1x|B;G)=QC%~D2gN(9CftqBNxzqxUwBJB73O7d82YQlyhr?K!0yqzzBo|{t(Dd!xt zJQ*cg3p)8bQbv~N6st^WYk2~RHL4haj2ozE4>=V^1ERIHM2jXyfF@^DlAB^9D>%od zh#H}y7BZP2o8Cf==V;0Zfn1QK98;wcEMbZew}bT0mr&(UA|L=ttSyvrJE#QH4&?n) zh~I%yssT_8P=l7j(Fg%umYRMC%7m2^jz$O^4q6`wx};F7-^`d^u;TGCFakiMl-!?E z?Jmr&ue}1Yt!Zske(dTXyS?=a0AOtqr_UeS)r{eS0s1>wuUp3YC;h0_A;xe5VM`-2 zr%4DwOB>XJMhNh5=sfJ#98t$43w9p15EzT74y;AzVG9A!Q37)hTM9&-GjapY!X5D~a)S0>0TdId&7(=?LryHAcajxj!e@d`XJ xz8#N8NvJ})*eC8Dl`Mm{nsB_5rp zfGQ;&K|3!uJ1saoE;BbOc#waGoq)~F%{VV5rKP1dFeZbVg^QniEF~R9JTHcZhAbx^ zb&h>@c6J{e7ezfW0000X9TzJmA15Oo!otFlk&%y}dvc6=L_9DuEhc=FgMXKXC?p+l zi+CWN!QKD>00DGTPE!Ct=GbNc00Li0L_t(|UhP)bj^i*4w7T4T>h^NIm;e8@lc@F4 z^kuO!_8v2cJ)VFVF@!Wuk{k{RqOXowcFd|OFv{$^drD5>@iF;~igla|;XlAArEpKr z8C;-ZBG0$^)&ZCarKFM`se3wUaCet{LRIO_IF1_!;7XgKD2zwpo=zHETqFlnOqMw` zPy#bp*dcXLDtQ@}yXMQ%IRINOrAkxhV4P2c0nA{t&7B9ZpMjA|!TQQX7*zEbW-tO* zbrEJz0HQi5a~Q$~ms0?O#*%?lPVQ9yljX{7gPJ4lG-G|HXg%U zcMU^BRYMJifz+aNT%=|8m^_E5Nb5QtVSpJ1%*4AnA`CFYfGfS$05c4j$+ZTUVZfHJ zHNXr5UOxkxVWz6r8eoP2ukQde40!zvFvEb^Y6HwLpp5Q=*F{>#`RgK$Jril~+mCJE z_w7yF-t_%kIZaFZmefvbc0&F=fDKVxPy;SzwW65}#M8!=N~wmZWsXZ_=CxB_8V{ej zC2E<8P=mEoCdw2t4h}#=)IS~gQmmZ}xH94Ry8A%X@@?uY=e3i82!9`>@iQPwEjmzA zVJ*(!i`KfXYwdAMRIRDO*PWi%PFrWc-~ZU{c8-4T8=`i5YVhztYF~agS{Ctc{Es-} dj5E$S;}0t?Qwul1T1fx^002ovPDHLkV1nZuam4@t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest.png b/src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff695ac1c824e0a45ece7e0b24bcbcf12f44716 GIT binary patch literal 1010 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1I3-AeXJ$v@-(xpqaRAtTdRW0;YP4(4`bk&UYRLjcBCQh7aZm523Rrr}D z0gtyQ+}#)*=&0mkCgWo(|9XGL>wSf7ZEc4R9lEqE+}lRp(@O63zU-HKQg5z}&{mT- zGf>k|k(HMbceK{mQJ2$Emv^%>>P*&{oUOBahLekp!IAl%=a+_@TI}O$YY23UqO7=< zs+_vAoQ|rjtBwAKMw4Y#M*HWuZR@buF~PPzT4ipLK2Vv>x9z)ulvPQPU+{l&0fYI0 z|DaIgEbxddW?MuX7#@tA5TfN&0q>sUZlKMJ}GFkl%Q-Ovd_AOpK*0K;Ses&5 z7kjfn@Lr~i6UC|;Y)@3xevo&+HT~>$-&xCMx1W8c==)gmwc({@Y!y#5wpE?kb0VUj z)#rqgiJbI;?({XseM)R#_*Bcv-y%` z!fxk-z9)ZjGrqQ%{rkC{+j2j?y^}nD>+c)ezg9_0y#6Rww)^h)w`JX@`(w+e*xK6u y<>~qQ|H1x=*C!Y173euwh+Bv&%;B#1&;9%TO8>t(_tpc`DTAl0pUXO@geCw+{?bGM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest_left.png b/src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest_left.png new file mode 100644 index 0000000000000000000000000000000000000000..8df7691a41b2d6e831fd2855c9f2f6d29f055e2f GIT binary patch literal 1041 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~y3h)VWUAlCsnZBxpzN)Fdnvt%Wv7YM0i4)7p${uWvJ-yiP*1CxEOM=V| z)tybH0~{2*ZRB3>uXw$$;LxE%ZEbB{)^Z+}vX_>HKiif3dSB+*vuCfZ3O6%Q(@>Fh zwAPoG5!X?dbF(wjR+H~a(QvUb&{CB>IM>b9)(~j9ma3e(vYd{ptfH*AtBwBgg9D>vFX-P%x+B5 zQttPyYN?~&WxOY@S1m1@bGA=;lFH5*=k=deoWFl|s?NNXcb_Db)znvJUU!(4wKnmC z@yn!>-4k#5@=Z8s;xH|>a^BO5)X0f?-p&HiOB)&F*R6Xa6~XxW>#VrdU)642J1{MG z?_HI$$;~%EJ`Q22+3vvg5|>xl-JXE_125lP23y1 zXDF|D8uakyL&k4qANzs6*~74VZjiNuZsMeGms>R3Rj*%v^zjkLF_RbWuk6?EcAjzf zPDi_V!&RZ18~)t6ZDe&YFaPLa?gsDGt0#GhA5Gr%w`D4y@za+)x3(#7iT{wW_RyMK zp!|bglL?wzXUkMDM#xM2$!OC(pmrs%=z|k;^iGDf8`m`#&FW;8OP^6H+Tu2gc~HTPlkw8uP~*EOw}c#NyZ_{=V@MYm?Mv3K?QH%O+%vIcH< z*qja4N4Nax}-Yq)MT9rj7HA-g~5lnRm-LNrU2GvzU{Q3uG|Cf&MFK#GiIAnRilHsAu cgNi@gb@Mt6Pgcav0VZn(Pgg&ebxsLQ0Jr+%2mk;8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest_right.png b/src/main/resources/assets/variantchests/textures/entity/chest/ldbp_palm_chest_right.png new file mode 100644 index 0000000000000000000000000000000000000000..9d5e8f8581f02f4eaf89d1daf4540dc4fab43fea GIT binary patch literal 1082 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~y3h)VWJ$v@7ma43ozN&@3s;R!3k*-=uvoqQ;!Pdpb;NV<04Hen?XcbpmL!kYNvf^5*a_Y)*I;yg+Hu}dG zdUd5}EG#qFJ;QlTo$=Oo^J%%dKxIAx$Cd*rvyvdc;Q!U3@94Tl#@jO~5Pba!vqbnx1q|Eql`P3`u1 zxcJYrnuN$xoo{4PSVOf#%R3%9PU4wl@oii2WPgL?Ne#PpueSdzv!FdQi>K~H*}B$_ z#7PWl5+7w2oUO2t^k+!fdeUfiEwEh37~N*J!KBMTc{T4kAO8uls}2g4 z@e3&(6Q2I)nWvM?3>ATQ46bjq92a+laI$Jtp5&V}CyT*kf#J!OY#z)KGl9|x5mDT! zbC#u8Ur%ZPSunNO?=}06NpEAg3_KlbOW!d*FyZ+aRq?CQv*)<`!LN>6H*ITae#W1m zY9lPOf4MqPM0D$M)+JS9aVu_}<_-%k{(6)Bs+#tOh!qcVRrh2rxV3%dgI^1ZM3er? z?t5LTYWvLOfXDk){A~LV&73xE2jgUxzE=!evrR;Fb1i&;?orFAmWa%)`*KjFQNeM4 zdt-0$zN^iiOb_{X$+d+=gV~Nv>)I!lYTkbZR8wy9!M5j(s8oks*b!B*$YR-ql?VT= ze6sF`Xq7F`TT!Vkwmob96#(^IoKdrf&u_cQiYzrw7S3~9OllV`{d?!%Ew{iewRiL4 z7q58VcwWVAi)f5|$m)d~-!iUg5&yT?!}tBF%wGpj6+CQu6{)&sLw|IJ$K9*j)Sumb zs9ko5yLyquilgV)ud=OfyL5W~~j=UN>h=KD2V-WA4XM6%TKVP#_V8hK4L99Ys7Z zI4>o3c6K%}CMYBwJsA!wCLcvTF#rGnAsrViCm$yx9>T)Hk&%%@8x9{F7fT)xMH~-E z9S}r3FfuJBR3Z`p6T!#;0004WQchCjI#GK`H)L`saPfS!*TeU$-FeVTIA;^hi1~)e!{pv{?HJMCQ(8Ne-Y|}J0 zs4?=0!Fas$t0xAkiU;rxpcy#CxW99tM-*w^wv|%Bq2gL|0CWxjEOL@T%s{pNQmPU< zWMBckheJU#kmY2bfxnkhmd!o`e=jBR1geT5_(ymP4r2%wQ7~c#;qa~UYC{I$@Zh|F znn4ILehEqeV;o@rC0GZv6Vyg|^%>O0di_}j^Admu0iWxfNCvO9){H%B7W9$eTZhW+51RoPk@s1IC7kKCuy-h}K z58aUPApN@DQyQNxX!^!q(`iSiJjrt_Es0cV6y+tx#M@^Phbb>HX_A4VjdNaN43Yt{ z(()41JQ)zjIWMs+1DZizVzNvIVBBf4@g9i`?prcbV z;ArFcA^=S3lng{1Jp>yvpi|1=+89%or3tzlQhA6zFPG~`=`CzFn{Vs&+CRQ;x|6is oZeK0lZ*ebxI%v{r~^~07*qoM6N<$f(WBK#{d8T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest_left.png b/src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest_left.png new file mode 100644 index 0000000000000000000000000000000000000000..6629cebf6e28ef6150bd6d650d09d6bdc4f6eb31 GIT binary patch literal 811 zcmV+`1JwM9P)R3MLjWl zPj0aQ0004WQchC- zK%VDCkrz3mG&KTaiq=E~em*}tQW6%6MJc(db}eB?kyBHJ1wPJ)K+i1;X@C?!%ac)} zwV<;v}jTU=;n-4a#!tS1gF?l2?8<$ z83Lv0Ewp%wrcUWVP~;qQr4cM)ijX#g{QM=52Gj@$fD&5^X&uNnaGrs@e>&+iP)cx|rh^Dut~DFQM9=V6{e zmo|ge;@QJ4c?;Hh9(KVD0OlU%2_#wC$-xq4kY;K74wznUX`1m@mNtyzyKxwX@nIYv zhT%h$5f5L%>S?mfpEg}L}{mMj{#h^eV=(4y#T8dv@f(36Pd%cuXi)$F002ovPDHLkV1lRXMJ@mU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest_right.png b/src/main/resources/assets/variantchests/textures/entity/chest/ldv_cherry_chest_right.png new file mode 100644 index 0000000000000000000000000000000000000000..000cadb1487f49a586900f722091c27a7b92c421 GIT binary patch literal 847 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/sp_stone_pine_chest.png b/src/main/resources/assets/variantchests/textures/entity/chest/sp_stone_pine_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..4eee582c6c1b21107aa3219b7f4cbadfe2c14f35 GIT binary patch literal 817 zcmV-11J3-3P)YYg$Y!CmwWRQ_aoIkbG>Fe{MK0B`hT! zMLaKdc6Nq_hBh!JC?p+uWmYRDA4NSe0000X9TzMoA15Ook&%%yEhc|%U>_V8iFj#( zb7h5gXGAdL_t(|UhS1vkJ~U1gtg0B z)a6>PxAb2B{~rrUL!k)RcbiKd^56kY;d>bpBki~-E|wR|VpJ)w>-xHuQq~`9l~Zw8 zcXuEB8i}nr7a}YWYnIbdgQZ_1G2vYA`k+=YCJ+H3$ckeI_xC^i8cFJAKA$&1b1kJd zUDuhQPRk<(%jJb%BQa>5i|4m3C(z%0 z!sWqw0X2gVV*C=C78v6I`!B&*pxvO>jn|k#t&P{8Ww5RQco6Wl%86v~N-4$IgJMB1 zaynx0S*Zsv#r!50Q&NZM?Ck7aq;w`g#d#b#&W9&yb-wx%DK$VyXw2&SlXSUST}CQK zy+C6T_g_2=Q^JGv^J-6Ne1@RKYyVp;209g)sFikHq)MYGFEJ+G{1$PT@)DCe8ED!# z=OxA<84xQiFEPcF0dbu363a568RR7JJtu>_#Ms1uSZR5Q)jApc z$CdVW_I_5Dft*ffiLAO(?4$-Ic^G&4m7Pi~%*Ue_* vAK$jaleF9IUPk)+|Hgl>lTJG6q?3LD3xiE>AD<&T~Fex@LCVFRBrKP2Ic6M-HP=3y|ndlG7=1D2n2FyM5kL-hSO`DI86_cz<=}h%rhj3Y5VNr4)|( z1x|B;G)=QC%~D2gN(9CftqBNxzqxUwBJB73O7d82YQlyhr?K!0yqzzBo|{t(Dd!xt zJQ*cg3p)8bQbv~N6st^WYk2~RHL4haj2ozE4>=V^1ERIHM2jXyfF@^DlAB^9D>%od zh#H}y7BZP2o8Cf==V;0Zfn1QK98;wcEMbZew}bT0mr&(UA|L=ttSyvrJE#QH4&?n) zh~I%yssT_8P=l7j(Fg%umYRMC%7m2^jz$O^4q6`wx};F7-^`d^u;TGCFakiMl-!?E z?Jmr&ue}1Yt!Zske(dTXyS?=a0AOtqr_UeS)r{eS0s1>wuUp3YC;h0_A;xe5VM`-2 zr%4DwOB>XJMhNh5=sfJ#98t$43w9p15EzT74y;AzVG9A!Q37)hTM9&-GjapY!X5D~a)S0>0TdId&7(=?LryHAcajxj!e@d`XJ xz8#N8N^iMm{nsB_5-Q zbt)wtK|3!wFey7RDK#x7dS_UPcxlbe%{VV5rKP1dFeZg|XN`JlEF~R9JTHcZhAbx^ zc4Aa^c6J{e7ezfW0000X9TzJmA15Oo!otFlk&%*pZE#*tL_9DuEhc_#UV(CCC?p+g zT1?ESSC{|*00DGTPE!Ct=GbNc00Li0L_t(|UhP)bj^i*4w7T4T>h^NIm;e8@lc@F4 z^kuO!_8v2cJ)VFVF@!Wuk{k{RqOXowcFd|OFv{$^drD5>@iF;~igla|;XlAArEpKr z8C;-ZBG0$^)&ZCarKFM`se3wUaCet{LRIO_IF1_!;7XgKD2zwpo=zHETqFlnOqMw` zPy#bp*dcXLDtQ@}yXMQ%IRINOrAkxhV4P2c0nA{t&7B9ZpMjA|!TQQX7*zEbW-tO* zbrEJz0HQi5a~Q$~ms0?O#*%?lPVQ9yljX{7gPJ4lG-G|HXg%U zcMU^BRYMJifz+aNT%=|8m^_E5Nb5QtVSpJ1%*4AnA`CFYfGfS$05c4j$+ZTUVZfHJ zHNXr5UOxkxVWz6r8eoP2ukQde40!zvFvEb^Y6HwLpp5Q=*F{>#`RgK$Jril~+mCJE z_w7yF-t_%kIZaFZmefvbc0&F=fDKVxPy;SzwW65}#M8!=N~wmZWsXZ_=CxB_8V{ej zC2E<8P=mEoCdw2t4h}#=)IS~gQmmZ}xH94Ry8A%X@@?uY=e3i82!9`>@iQPwEjmzA zVJ*(!i`KfXYwdAMRIRDO*PWi%PFrWc-~ZU{c8-4T8=`i5YVhztYF~agS{Ctc{Es-} dj5E$S;}0t?Qwul1T1fx^002ovPDHLkV1nTHZ7l!* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/variantchests/textures/entity/chest/tr_rubber_chest.png b/src/main/resources/assets/variantchests/textures/entity/chest/tr_rubber_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..65f41c998ff2c987dcb92bd767d6c0626579b896 GIT binary patch literal 817 zcmV-11J3-3P)dL_t(|UhS1vkJ~U1gtg0B z)a6>PxAb2B{~rrUL!k)RcbiKd^56kY;d>bpBki~-E|wR|VpJ)w>-xHuQq~`9l~Zw8 zcXuEB8i}nr7a}YWYnIbdgQZ_1G2vYA`k+=YCJ+H3$ckeI_xC^i8cFJAKA$&1b1kJd zUDuhQPRk<(%jJb%BQa>5i|4m3C(z%0 z!sWqw0X2gVV*C=C78v6I`!B&*pxvO>jn|k#t&P{8Ww5RQco6Wl%86v~N-4$IgJMB1 zaynx0S*Zsv#r!50Q&NZM?Ck7aq;w`g#d#b#&W9&yb-wx%DK$VyXw2&SlXSUST}CQK zy+C6T_g_2=Q^JGv^J-6Ne1@RKYyVp;209g)sFikHq)MYGFEJ+G{1$PT@)DCe8ED!# z=OxA<84xQiFEPcF0dbu363a568RR7JJtu>_#Ms1uSZR5Q)jApc z$CdVW_I_5Dft*ffiLAO(?4$-Ic^G&4m7Pi~%*Ue_* vAK$jaleF9IUPk)+|Hgl>lTJG6q?3LD3xi>&B^^aPFHAxy zEGHf=C>S^|B_A9Y&CSgxBOZ~Fks%!yL_9E5Ni9M-BRMf1GA$-WJSD=y!bm?SMLjV9 z000%t85;lq00DGTPE!Ct=GbNc00KWrL_t(|UhP%alH5QD6iiUg8^h(`n8W}7ngMNj zq^g3y|ndlG7=1D2n2FyM5kL-hSO`DI86_cz<=}h%rhj3Y5VNr4)|( z1x|B;G)=QC%~D2gN(9CftqBNxzqxUwBJB73O7d82YQlyhr?K!0yqzzBo|{t(Dd!xt zJQ*cg3p)8bQbv~N6st^WYk2~RHL4haj2ozE4>=V^1ERIHM2jXyfF@^DlAB^9D>%od zh#H}y7BZP2o8Cf==V;0Zfn1QK98;wcEMbZew}bT0mr&(UA|L=ttSyvrJE#QH4&?n) zh~I%yssT_8P=l7j(Fg%umYRMC%7m2^jz$O^4q6`wx};F7-^`d^u;TGCFakiMl-!?E z?Jmr&ue}1Yt!Zske(dTXyS?=a0AOtqr_UeS)r{eS0s1>wuUp3YC;h0_A;xe5VM`-2 zr%4DwOB>XJMhNh5=sfJ#98t$43w9p15EzT74y;AzVG9A!Q37)hTM9&-GjapY!X5D~a)S0>0TdId&7(=?LryHAcajxj!e@d`XJ xz8#N8NX+wPBs7l00DGTPE!Ct=GbNc00Li0L_t(|UhP)bj^i*4w7T4T>h^NIm;e8@lc@F4 z^kuO!_8v2cJ)VFVF@!Wuk{k{RqOXowcFd|OFv{$^drD5>@iF;~igla|;XlAArEpKr z8C;-ZBG0$^)&ZCarKFM`se3wUaCet{LRIO_IF1_!;7XgKD2zwpo=zHETqFlnOqMw` zPy#bp*dcXLDtQ@}yXMQ%IRINOrAkxhV4P2c0nA{t&7B9ZpMjA|!TQQX7*zEbW-tO* zbrEJz0HQi5a~Q$~ms0?O#*%?lPVQ9yljX{7gPJ4lG-G|HXg%U zcMU^BRYMJifz+aNT%=|8m^_E5Nb5QtVSpJ1%*4AnA`CFYfGfS$05c4j$+ZTUVZfHJ zHNXr5UOxkxVWz6r8eoP2ukQde40!zvFvEb^Y6HwLpp5Q=*F{>#`RgK$Jril~+mCJE z_w7yF-t_%kIZaFZmefvbc0&F=fDKVxPy;SzwW65}#M8!=N~wmZWsXZ_=CxB_8V{ej zC2E<8P=mEoCdw2t4h}#=)IS~gQmmZ}xH94Ry8A%X@@?uY=e3i82!9`>@iQPwEjmzA zVJ*(!i`KfXYwdAMRIRDO*PWi%PFrWc-~ZU{c8-4T8=`i5YVhztYF~agS{Ctc{Es-} dj5E$S;}0t?Qwul1T1fx^002ovPDHLkV1knpTqOVi literal 0 HcmV?d00001 diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/aa_glacian_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/aa_glacian_chest.json new file mode 100644 index 0000000..59a224f --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/aa_glacian_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ad_astra" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "ad_astra:glacian_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aa_glacian_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aa_glacian_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/ba_rotten_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/ba_rotten_chest.json new file mode 100644 index 0000000..4c6f9d8 --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/ba_rotten_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "betterarcheology" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "betterarcheology:rotten_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:ba_rotten_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:ba_rotten_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/dad_echo_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/dad_echo_chest.json new file mode 100644 index 0000000..66f3ac5 --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/dad_echo_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "deeperdarker" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "deeperdarker:echo_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dad_echo_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dad_echo_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/ldbp_palm_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/ldbp_palm_chest.json new file mode 100644 index 0000000..2aa3020 --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/ldbp_palm_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "beachparty" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "beachparty:palm_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:ldbp_palm_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:ldbp_palm_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/ldv_cherry_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/ldv_cherry_chest.json new file mode 100644 index 0000000..5bf1451 --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/ldv_cherry_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "vinery" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "vinery:cherry_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:ldv_cherry_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:ldv_cherry_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/mc_putrid_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/mc_putrid_chest.json new file mode 100644 index 0000000..c617ce6 --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/mc_putrid_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "minecells" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "minecells:putrid_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mc_putrid_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mc_putrid_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/sp_stone_pine_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/sp_stone_pine_chest.json new file mode 100644 index 0000000..2ea5177 --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/sp_stone_pine_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "snifferplus" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "snifferplus:stone_pine_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:sp_stone_pine_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:sp_stone_pine_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/advancements/recipes/misc/tr_rubber_chest.json b/src/main/resources/data/variantchests/advancements/recipes/misc/tr_rubber_chest.json new file mode 100644 index 0000000..775abed --- /dev/null +++ b/src/main/resources/data/variantchests/advancements/recipes/misc/tr_rubber_chest.json @@ -0,0 +1,43 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "techreborn" + ] + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": [ + "techreborn:rubber_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tr_rubber_chest" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_planks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tr_rubber_chest" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/aa_glacian_chest.json b/src/main/resources/data/variantchests/recipes/aa_glacian_chest.json new file mode 100644 index 0000000..5a87d68 --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/aa_glacian_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ad_astra" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "ad_astra:glacian_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:aa_glacian_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/ba_rotten_chest.json b/src/main/resources/data/variantchests/recipes/ba_rotten_chest.json new file mode 100644 index 0000000..3a5a178 --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/ba_rotten_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "betterarcheology" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "betterarcheology:rotten_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:ba_rotten_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/dad_echo_chest.json b/src/main/resources/data/variantchests/recipes/dad_echo_chest.json new file mode 100644 index 0000000..acfb0a3 --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/dad_echo_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "deeperdarker" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "deeperdarker:echo_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:dad_echo_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/ldbp_palm_chest.json b/src/main/resources/data/variantchests/recipes/ldbp_palm_chest.json new file mode 100644 index 0000000..7909b2a --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/ldbp_palm_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "beachparty" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "beachparty:palm_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:ldbp_palm_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/ldv_cherry_chest.json b/src/main/resources/data/variantchests/recipes/ldv_cherry_chest.json new file mode 100644 index 0000000..6512377 --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/ldv_cherry_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "vinery" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "vinery:cherry_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:ldv_cherry_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/mc_putrid_chest.json b/src/main/resources/data/variantchests/recipes/mc_putrid_chest.json new file mode 100644 index 0000000..59329ce --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/mc_putrid_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "minecells" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "minecells:putrid_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:mc_putrid_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/sp_stone_pine_chest.json b/src/main/resources/data/variantchests/recipes/sp_stone_pine_chest.json new file mode 100644 index 0000000..d4985ba --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/sp_stone_pine_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "snifferplus" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "snifferplus:stone_pine_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:sp_stone_pine_chest" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/variantchests/recipes/tr_rubber_chest.json b/src/main/resources/data/variantchests/recipes/tr_rubber_chest.json new file mode 100644 index 0000000..d98db60 --- /dev/null +++ b/src/main/resources/data/variantchests/recipes/tr_rubber_chest.json @@ -0,0 +1,26 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "techreborn" + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "techreborn:rubber_planks" + } + }, + "pattern": [ + "PPP", + "P P", + "PPP" + ], + "result": { + "item": "variantchests:tr_rubber_chest" + }, + "show_notification": true +} \ No newline at end of file