From 661a92f23c91a81639333160c934e8ca39c1ed21 Mon Sep 17 00:00:00 2001 From: EnderiumSmith Date: Sun, 2 Feb 2025 21:58:41 -0800 Subject: [PATCH 1/4] Mark Lush Caves as Warm, Humid --- .../.cache/faeaae48de32d8e4741a87aa59c1e3784395b991 | 5 +++-- .../data/forestry/tags/worldgen/biome/humidity/damp.json | 5 +++++ .../data/forestry/tags/worldgen/biome/temperature/warm.json | 1 + .../java/forestry/core/data/ForestryBiomeTagsProvider.java | 3 +++ 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 src/generated/resources/data/forestry/tags/worldgen/biome/humidity/damp.json diff --git a/src/generated/resources/.cache/faeaae48de32d8e4741a87aa59c1e3784395b991 b/src/generated/resources/.cache/faeaae48de32d8e4741a87aa59c1e3784395b991 index 5d494eac0..c11896ed7 100644 --- a/src/generated/resources/.cache/faeaae48de32d8e4741a87aa59c1e3784395b991 +++ b/src/generated/resources/.cache/faeaae48de32d8e4741a87aa59c1e3784395b991 @@ -1,6 +1,7 @@ -// 1.20.1 2024-11-21T17:52:29.5727492 Tags for minecraft:worldgen/biome mod id forestry +// 1.20.1 2025-02-02T21:55:22.3904862 Tags for minecraft:worldgen/biome mod id forestry 2848fd21678020e480817af24906cc7471b13118 data/forestry/tags/worldgen/biome/humidity/arid.json +0f241c94b10e4b16b4304f66ad949bb089955b1e data/forestry/tags/worldgen/biome/humidity/damp.json 3589bb8f8e711112317247a4999588e18ac59e7e data/forestry/tags/worldgen/biome/special/shattered_savanna.json 2848fd21678020e480817af24906cc7471b13118 data/forestry/tags/worldgen/biome/temperature/cold.json a24545b58f3f91c6c033586e2b2ae12f1e8131b1 data/forestry/tags/worldgen/biome/temperature/hellish.json -996fc965de0088cc6a3ba3b45ed2c813ba8adbf9 data/forestry/tags/worldgen/biome/temperature/warm.json +1b4956ddefcf5cb82107f235de51e166a891f5e6 data/forestry/tags/worldgen/biome/temperature/warm.json diff --git a/src/generated/resources/data/forestry/tags/worldgen/biome/humidity/damp.json b/src/generated/resources/data/forestry/tags/worldgen/biome/humidity/damp.json new file mode 100644 index 000000000..14035f0a5 --- /dev/null +++ b/src/generated/resources/data/forestry/tags/worldgen/biome/humidity/damp.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:lush_caves" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forestry/tags/worldgen/biome/temperature/warm.json b/src/generated/resources/data/forestry/tags/worldgen/biome/temperature/warm.json index e37e3da7d..5471bed0c 100644 --- a/src/generated/resources/data/forestry/tags/worldgen/biome/temperature/warm.json +++ b/src/generated/resources/data/forestry/tags/worldgen/biome/temperature/warm.json @@ -3,6 +3,7 @@ "minecraft:wooded_badlands", "minecraft:savanna", "minecraft:savanna_plateau", + "minecraft:lush_caves", "minecraft:windswept_savanna" ] } \ No newline at end of file diff --git a/src/main/java/forestry/core/data/ForestryBiomeTagsProvider.java b/src/main/java/forestry/core/data/ForestryBiomeTagsProvider.java index 691363b89..164e5c617 100644 --- a/src/main/java/forestry/core/data/ForestryBiomeTagsProvider.java +++ b/src/main/java/forestry/core/data/ForestryBiomeTagsProvider.java @@ -18,11 +18,14 @@ public static void addTags(MKTagsProvider tags, HolderLookup.Provider loo .add(Biomes.WOODED_BADLANDS) .add(Biomes.SAVANNA) .add(Biomes.SAVANNA_PLATEAU) + .add(Biomes.LUSH_CAVES) .add(Biomes.WINDSWEPT_SAVANNA); tags.tag(ForestryTags.Biomes.HELLISH_TEMPERATURE) .addTag(BiomeTags.IS_NETHER); tags.tag(ForestryTags.Biomes.ARID_HUMIDITY) .addTag(BiomeTags.IS_END); tags.tag(ForestryTags.Biomes.SHATTERED_SAVANNA).add(Biomes.WINDSWEPT_SAVANNA); + tags.tag(ForestryTags.Biomes.DAMP_HUMIDITY) + .add(Biomes.LUSH_CAVES); } } From 93c6cf229a06e8b8b58449895ed74dfbda37ad11 Mon Sep 17 00:00:00 2001 From: EnderiumSmith Date: Sun, 2 Feb 2025 22:31:17 -0800 Subject: [PATCH 2/4] Add Lush, Verdant, Luxuriant species --- .../bf69d56e532803039407b43dd7d380c632a0162c | 3 +- .../forestry/tags/blocks/flowers/cave.json | 7 +++ src/main/java/forestry/api/ForestryTags.java | 1 + .../api/apiculture/ForestryBeeEffects.java | 1 + .../api/apiculture/ForestryBeeSpecies.java | 3 ++ .../api/apiculture/ForestryFlowerTypes.java | 1 + .../forestry/api/genetics/ForestryTaxa.java | 4 ++ .../api/genetics/alleles/ForestryAlleles.java | 2 + .../genetics/effects/GlowBerryGrowEffect.java | 38 +++++++++++++++ .../core/data/ForestryBlockTagsProvider.java | 1 + .../mutations/MutationConditionCave.java | 29 ++++++++++++ .../java/forestry/core/utils/VecUtil.java | 5 ++ .../java/forestry/plugin/BeeTaxonomy.java | 6 +++ .../forestry/plugin/DefaultBeeSpecies.java | 46 +++++++++++++++++++ .../plugin/DefaultForestryPlugin.java | 3 ++ .../resources/assets/forestry/lang/en_us.json | 9 ++++ 16 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/data/forestry/tags/blocks/flowers/cave.json create mode 100644 src/main/java/forestry/apiculture/genetics/effects/GlowBerryGrowEffect.java create mode 100644 src/main/java/forestry/core/genetics/mutations/MutationConditionCave.java diff --git a/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c b/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c index 61427e0cd..24303f8e1 100644 --- a/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c +++ b/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c @@ -1,4 +1,4 @@ -// 1.20.1 2025-01-15T23:55:41.4379445 Tags for minecraft:block mod id forestry +// 1.20.1 2025-02-02T21:10:30.2815508 Tags for minecraft:block mod id forestry 37a390e7a402ae2ce1addd2b8bbefd6229e8c7c6 data/forestry/tags/blocks/acacia_desert_logs.json d38d236618a81cc1b2e0dbb4e4d7c11e43e522ea data/forestry/tags/blocks/balsa_logs.json 16059fb3cfd04606a73b78eaefbf7659417cb9d5 data/forestry/tags/blocks/baobab_logs.json @@ -7,6 +7,7 @@ d38d236618a81cc1b2e0dbb4e4d7c11e43e522ea data/forestry/tags/blocks/balsa_logs.js a7c007c7c6e32a913007fb71d57b7071baca9550 data/forestry/tags/blocks/cocobolo_logs.json 67f36c77c5893b9d657d5707452976bd7292c1b7 data/forestry/tags/blocks/ebony_logs.json 40fc28555ba86485c2fdf3bc327bb05602bd7cb5 data/forestry/tags/blocks/flowers/cacti.json +e1f99e2c30429c3a0b1d9a31f0c0c41db5496330 data/forestry/tags/blocks/flowers/cave.json 9ec5b3c6e6cf1ca04b004d599f0e1477525d6eaa data/forestry/tags/blocks/flowers/end.json 3d2b45c6d09b6ad2f7d9e988cae1be42464c3d4f data/forestry/tags/blocks/flowers/gourd.json 52d9237a861f244e608b27dc2ce2b3f74c0cf16b data/forestry/tags/blocks/flowers/jungle.json diff --git a/src/generated/resources/data/forestry/tags/blocks/flowers/cave.json b/src/generated/resources/data/forestry/tags/blocks/flowers/cave.json new file mode 100644 index 000000000..c9324c57b --- /dev/null +++ b/src/generated/resources/data/forestry/tags/blocks/flowers/cave.json @@ -0,0 +1,7 @@ +{ + "values": [ + "minecraft:cave_vines", + "minecraft:cave_vines_plant", + "minecraft:spore_blossom" + ] +} \ No newline at end of file diff --git a/src/main/java/forestry/api/ForestryTags.java b/src/main/java/forestry/api/ForestryTags.java index bce2d6471..8c3cda304 100644 --- a/src/main/java/forestry/api/ForestryTags.java +++ b/src/main/java/forestry/api/ForestryTags.java @@ -73,6 +73,7 @@ public static class Blocks { public static final TagKey SNOW_FLOWERS = blockTag("flowers/snow"); public static final TagKey WHEAT_FLOWERS = blockTag("flowers/wheat"); public static final TagKey GOURD_FLOWERS = blockTag("flowers/gourd"); + public static final TagKey CAVE_FLOWERS = blockTag("flowers/cave"); // Flowers that can grow around hives public static final TagKey PLANTABLE_FLOWERS = blockTag("flowers/plantable"); diff --git a/src/main/java/forestry/api/apiculture/ForestryBeeEffects.java b/src/main/java/forestry/api/apiculture/ForestryBeeEffects.java index b8463332c..1b6190450 100644 --- a/src/main/java/forestry/api/apiculture/ForestryBeeEffects.java +++ b/src/main/java/forestry/api/apiculture/ForestryBeeEffects.java @@ -30,4 +30,5 @@ public class ForestryBeeEffects { public static final ResourceLocation PATRIOTIC = ForestryConstants.forestry("bee_effect_patriotic"); public static final ResourceLocation SIFTER = ForestryConstants.forestry("bee_effect_sifter"); public static final ResourceLocation HAKUNA_MATATA = ForestryConstants.forestry("bee_effect_hakuna_matata"); + public static final ResourceLocation GLOW_BERRY_GROW = ForestryConstants.forestry("bee_effect_glow_berry_grow"); } diff --git a/src/main/java/forestry/api/apiculture/ForestryBeeSpecies.java b/src/main/java/forestry/api/apiculture/ForestryBeeSpecies.java index 1aa19d602..decf42c4c 100644 --- a/src/main/java/forestry/api/apiculture/ForestryBeeSpecies.java +++ b/src/main/java/forestry/api/apiculture/ForestryBeeSpecies.java @@ -56,4 +56,7 @@ public class ForestryBeeSpecies { public static final ResourceLocation MONASTIC = forestry("bee_monastic"); public static final ResourceLocation SECLUDED = forestry("bee_secluded"); public static final ResourceLocation HERMITIC = forestry("bee_hermitic"); + public static final ResourceLocation LUSH = forestry("bee_lush"); + public static final ResourceLocation VERDANT = forestry("bee_verdant"); + public static final ResourceLocation LUXURIANT = forestry("bee_luxuriant"); } diff --git a/src/main/java/forestry/api/apiculture/ForestryFlowerTypes.java b/src/main/java/forestry/api/apiculture/ForestryFlowerTypes.java index d6ad9990e..f5667470e 100644 --- a/src/main/java/forestry/api/apiculture/ForestryFlowerTypes.java +++ b/src/main/java/forestry/api/apiculture/ForestryFlowerTypes.java @@ -17,4 +17,5 @@ public class ForestryFlowerTypes { public static final ResourceLocation SNOW = ForestryConstants.forestry("flower_type_snow"); public static final ResourceLocation WHEAT = ForestryConstants.forestry("flower_type_wheat"); public static final ResourceLocation GOURD = ForestryConstants.forestry("flower_type_gourd"); + public static final ResourceLocation CAVE = ForestryConstants.forestry("flower_type_cave"); } diff --git a/src/main/java/forestry/api/genetics/ForestryTaxa.java b/src/main/java/forestry/api/genetics/ForestryTaxa.java index 8fdd8237b..3f6076808 100644 --- a/src/main/java/forestry/api/genetics/ForestryTaxa.java +++ b/src/main/java/forestry/api/genetics/ForestryTaxa.java @@ -96,6 +96,7 @@ public class ForestryTaxa { public static final String GENUS_BOGGY = "paludapis"; public static final String GENUS_SAVANNA = "afrapis"; public static final String GENUS_MONASTIC = "monapis"; + public static final String GENUS_LUSH = "troglobites"; // Tree Genera public static final String GENUS_DIOSPYROS = "diospyros"; public static final String GENUS_ACACIA = "acacia"; @@ -205,6 +206,9 @@ public class ForestryTaxa { public static final String SPECIES_MONASTIC = "monachus"; public static final String SPECIES_SECLUDED = "contractus"; public static final String SPECIES_HERMITIC = "anachoreta"; + public static final String SPECIES_LUSH = "atvatabari"; + public static final String SPECIES_VERDANT = "lidenbrocki"; + public static final String SPECIES_LUXURIANT = "verni"; // Tree Species public static final String SPECIES_OAK = "robur"; public static final String SPECIES_DARK_OAK = "velutina"; diff --git a/src/main/java/forestry/api/genetics/alleles/ForestryAlleles.java b/src/main/java/forestry/api/genetics/alleles/ForestryAlleles.java index 393f4dc56..809d4353d 100644 --- a/src/main/java/forestry/api/genetics/alleles/ForestryAlleles.java +++ b/src/main/java/forestry/api/genetics/alleles/ForestryAlleles.java @@ -127,6 +127,7 @@ public class ForestryAlleles { public static final IRegistryAllele FLOWER_TYPE_SNOW = REGISTRY.registryAllele(ForestryFlowerTypes.SNOW, BeeChromosomes.FLOWER_TYPE); public static final IRegistryAllele FLOWER_TYPE_WHEAT = REGISTRY.registryAllele(ForestryFlowerTypes.WHEAT, BeeChromosomes.FLOWER_TYPE); public static final IRegistryAllele FLOWER_TYPE_GOURD = REGISTRY.registryAllele(ForestryFlowerTypes.GOURD, BeeChromosomes.FLOWER_TYPE); + public static final IRegistryAllele FLOWER_TYPE_CAVE = REGISTRY.registryAllele(ForestryFlowerTypes.CAVE, BeeChromosomes.FLOWER_TYPE); // Bee Effect public static final IRegistryAllele EFFECT_NONE = REGISTRY.registryAllele(ForestryBeeEffects.NONE, BeeChromosomes.EFFECT); @@ -150,6 +151,7 @@ public class ForestryAlleles { public static final IRegistryAllele EFFECT_MYCOPHILIC = REGISTRY.registryAllele(ForestryBeeEffects.MYCOPHILIC, BeeChromosomes.EFFECT); public static final IRegistryAllele EFFECT_SIFTER = REGISTRY.registryAllele(ForestryBeeEffects.SIFTER, BeeChromosomes.EFFECT); public static final IRegistryAllele EFFECT_HAKUNA_MATATA = REGISTRY.registryAllele(ForestryBeeEffects.HAKUNA_MATATA, BeeChromosomes.EFFECT); + public static final IRegistryAllele EFFECT_GLOW_BERRY_GROW = REGISTRY.registryAllele(ForestryBeeEffects.GLOW_BERRY_GROW, BeeChromosomes.EFFECT); //public static final IRegistryAllele EFFECT_PATRIOTIC = Todos.todo(); // Speed diff --git a/src/main/java/forestry/apiculture/genetics/effects/GlowBerryGrowEffect.java b/src/main/java/forestry/apiculture/genetics/effects/GlowBerryGrowEffect.java new file mode 100644 index 000000000..9f9517a38 --- /dev/null +++ b/src/main/java/forestry/apiculture/genetics/effects/GlowBerryGrowEffect.java @@ -0,0 +1,38 @@ +package forestry.apiculture.genetics.effects; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Vec3i; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; + +import forestry.api.apiculture.IBeeHousing; +import forestry.api.genetics.IEffectData; +import forestry.api.genetics.IGenome; +import forestry.apiculture.genetics.Bee; +import forestry.core.utils.VecUtil; + +public class GlowBerryGrowEffect extends ThrottledBeeEffect { + public GlowBerryGrowEffect() { + super(false, 200, true, true); + } + + @Override + IEffectData doEffectThrottled(IGenome genome, IEffectData storedData, IBeeHousing housing) { + Level level = housing.getWorldObj(); + Vec3i area = Bee.getParticleArea(genome, housing); + + BlockPos randomPos = VecUtil.getRandomPositionInArea(level.random, area); + + BlockPos posBlock = randomPos.offset(housing.getCoordinates()).offset(VecUtil.center(area)); + + if (level.hasChunkAt(posBlock)) { + BlockState state = level.getBlockState(posBlock); + if (state.hasProperty(BlockStateProperties.BERRIES) && !state.getValue(BlockStateProperties.BERRIES)) { + level.setBlockAndUpdate(posBlock, state.setValue(BlockStateProperties.BERRIES, true)); + } + } + + return storedData; + } +} \ No newline at end of file diff --git a/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java b/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java index 971ac480c..776b874b8 100644 --- a/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java +++ b/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java @@ -172,6 +172,7 @@ public static void addTags(MKTagsProvider tags, HolderLookup.Provider loo tags.tag(ForestryTags.Blocks.SNOW_FLOWERS).addTag(BlockTags.FLOWERS); tags.tag(ForestryTags.Blocks.WHEAT_FLOWERS).add(Blocks.WHEAT); tags.tag(ForestryTags.Blocks.GOURD_FLOWERS).add(Blocks.MELON_STEM, Blocks.ATTACHED_MELON_STEM, Blocks.PUMPKIN_STEM, Blocks.ATTACHED_PUMPKIN_STEM); + tags.tag(ForestryTags.Blocks.CAVE_FLOWERS).add(Blocks.CAVE_VINES, Blocks.CAVE_VINES_PLANT, Blocks.SPORE_BLOSSOM); tags.tag(ForestryTags.Blocks.PLANTABLE_FLOWERS) .addTag(BlockTags.FLOWERS) diff --git a/src/main/java/forestry/core/genetics/mutations/MutationConditionCave.java b/src/main/java/forestry/core/genetics/mutations/MutationConditionCave.java new file mode 100644 index 000000000..161532ad7 --- /dev/null +++ b/src/main/java/forestry/core/genetics/mutations/MutationConditionCave.java @@ -0,0 +1,29 @@ +package forestry.core.genetics.mutations; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LightLayer; + +import forestry.api.climate.IClimateProvider; +import forestry.api.genetics.IGenome; +import forestry.api.genetics.IMutation; +import forestry.api.genetics.IMutationCondition; + +public class MutationConditionCave implements IMutationCondition { + @Override + public float modifyChance(Level level, BlockPos pos, IMutation mutation, IGenome firstGenome, IGenome secondGenome, IClimateProvider climate, float currentChance) { + for (Direction direction : Direction.VALUES) { + if (level.getBrightness(LightLayer.SKY, pos.relative(direction)) > 0) { + return 0; + } + } + return currentChance; + } + + @Override + public Component getDescription() { + return Component.translatable("for.mutation.condition.underground"); + } +} diff --git a/src/main/java/forestry/core/utils/VecUtil.java b/src/main/java/forestry/core/utils/VecUtil.java index 80df0e55b..066ef0db0 100644 --- a/src/main/java/forestry/core/utils/VecUtil.java +++ b/src/main/java/forestry/core/utils/VecUtil.java @@ -53,6 +53,11 @@ public static BlockPos scale(Vec3i vec, float factor) { return BlockPos.containing(vec.getX() * factor, vec.getY() * factor, vec.getZ() * factor); } + // Returns the offset to translate to the bottom corner of a bee's territory, "centering" the position. + public static Vec3i center(Vec3i vec) { + return new Vec3i(-vec.getZ() / 2, -(vec.getY() - 1) / 2, -vec.getZ() / 2); + } + public static Direction direction(Vec3i a, Vec3i b) { int x = Math.abs(a.getX() - b.getX()); int y = Math.abs(a.getY() - b.getY()); diff --git a/src/main/java/forestry/plugin/BeeTaxonomy.java b/src/main/java/forestry/plugin/BeeTaxonomy.java index f8dce0438..2b6c8e477 100644 --- a/src/main/java/forestry/plugin/BeeTaxonomy.java +++ b/src/main/java/forestry/plugin/BeeTaxonomy.java @@ -90,6 +90,12 @@ public static void defineTaxa(IGeneticRegistration genetics) { genus.setDefaultChromosome(BeeChromosomes.CAVE_DWELLING, ForestryAlleles.TRUE); genus.setDefaultChromosome(BeeChromosomes.FLOWER_TYPE, ForestryAlleles.FLOWER_TYPE_WHEAT); }); + family.defineSubTaxon(ForestryTaxa.GENUS_LUSH, genus -> { + genus.setDefaultChromosome(BeeChromosomes.FERTILITY, ForestryAlleles.FERTILITY_3); + genus.setDefaultChromosome(BeeChromosomes.FLOWER_TYPE, ForestryAlleles.FLOWER_TYPE_CAVE); + genus.setDefaultChromosome(BeeChromosomes.ACTIVITY, ForestryAlleles.ACTIVITY_CATHEMERAL); + genus.setDefaultChromosome(BeeChromosomes.CAVE_DWELLING, ForestryAlleles.TRUE); + }); }); }); } diff --git a/src/main/java/forestry/plugin/DefaultBeeSpecies.java b/src/main/java/forestry/plugin/DefaultBeeSpecies.java index 975162011..32a4ac96d 100644 --- a/src/main/java/forestry/plugin/DefaultBeeSpecies.java +++ b/src/main/java/forestry/plugin/DefaultBeeSpecies.java @@ -23,6 +23,7 @@ import forestry.apiculture.items.EnumHoneyComb; import forestry.apiculture.items.EnumPollenCluster; import forestry.core.features.CoreItems; +import forestry.core.genetics.mutations.MutationConditionCave; import forestry.core.items.definitions.EnumCraftingMaterial; import static forestry.api.genetics.ForestryTaxa.*; @@ -706,5 +707,50 @@ public static void register(IApicultureRegistration apiculture) { mutations.add(ForestryBeeSpecies.MONASTIC, ForestryBeeSpecies.SECLUDED, 8); }) .setGlint(true); + + // Lush + apiculture.registerSpecies(ForestryBeeSpecies.LUSH, GENUS_LUSH, SPECIES_LUSH, true, new Color(0x70922D)) + .setTemperature(TemperatureType.WARM) + .setHumidity(HumidityType.DAMP) + .addProduct(BEE_COMBS.stack(EnumHoneyComb.HONEY), 0.35F) + .setGenome(genome -> { + genome.set(BeeChromosomes.LIFESPAN, ForestryAlleles.LIFESPAN_NORMAL); + genome.set(BeeChromosomes.SPEED, ForestryAlleles.SPEED_SLOWEST); + genome.set(BeeChromosomes.POLLINATION, ForestryAlleles.POLLINATION_SLOWER); + }) + .setAuthority("EnderiumSmith"); + + // Verdant + apiculture.registerSpecies(ForestryBeeSpecies.VERDANT, GENUS_LUSH, SPECIES_VERDANT, true, new Color(0x1C5B3A)) + .setTemperature(TemperatureType.WARM) + .setHumidity(HumidityType.DAMP) + .addProduct(BEE_COMBS.stack(EnumHoneyComb.HONEY), 0.45F) + .addSpecialty(new ItemStack(Items.SMALL_DRIPLEAF), 0.15F) + .setGenome(genome -> { + genome.set(BeeChromosomes.LIFESPAN, ForestryAlleles.LIFESPAN_LONG); + genome.set(BeeChromosomes.SPEED, ForestryAlleles.SPEED_SLOW); + genome.set(BeeChromosomes.POLLINATION, ForestryAlleles.POLLINATION_SLOWER); + }) + .addMutations(mutations -> { + mutations.add(ForestryBeeSpecies.LUSH, ForestryBeeSpecies.VALIANT, 10).addMutationCondition(new MutationConditionCave()); + }) + .setAuthority("EnderiumSmith"); + + // LUXURIANT + apiculture.registerSpecies(ForestryBeeSpecies.LUXURIANT, GENUS_LUSH, SPECIES_LUXURIANT, false, new Color(0xEB8931)) + .setTemperature(TemperatureType.WARM) + .setHumidity(HumidityType.DAMP) + .addProduct(BEE_COMBS.stack(EnumHoneyComb.HONEY), 0.55F) + .setGenome(genome -> { + genome.set(BeeChromosomes.LIFESPAN, ForestryAlleles.LIFESPAN_LONG); + genome.set(BeeChromosomes.SPEED, ForestryAlleles.SPEED_SLOWEST); + genome.set(BeeChromosomes.POLLINATION, ForestryAlleles.POLLINATION_FAST); + genome.set(BeeChromosomes.EFFECT, ForestryAlleles.EFFECT_GLOW_BERRY_GROW); + }) + .addMutations(mutations -> { + mutations.add(ForestryBeeSpecies.LUSH, ForestryBeeSpecies.VERDANT, 8).addMutationCondition(new MutationConditionCave()); + }) + .setAuthority("EnderiumSmith") + .setGlint(true); } } diff --git a/src/main/java/forestry/plugin/DefaultForestryPlugin.java b/src/main/java/forestry/plugin/DefaultForestryPlugin.java index 0a70cf3f4..316737106 100644 --- a/src/main/java/forestry/plugin/DefaultForestryPlugin.java +++ b/src/main/java/forestry/plugin/DefaultForestryPlugin.java @@ -61,6 +61,7 @@ import forestry.apiculture.genetics.effects.FertileBeeEffect; import forestry.apiculture.genetics.effects.FungificationBeeEffect; import forestry.apiculture.genetics.effects.GlacialBeeEffect; +import forestry.apiculture.genetics.effects.GlowBerryGrowEffect; import forestry.apiculture.genetics.effects.HeroicBeeEffect; import forestry.apiculture.genetics.effects.IgnitionBeeEffect; import forestry.apiculture.genetics.effects.MisanthropeBeeEffect; @@ -273,6 +274,7 @@ public void registerApiculture(IApicultureRegistration apiculture) { apiculture.registerFlowerType(ForestryFlowerTypes.SNOW, new FlowerType(ForestryTags.Blocks.SNOW_FLOWERS, true)); apiculture.registerFlowerType(ForestryFlowerTypes.WHEAT, new FlowerType(ForestryTags.Blocks.WHEAT_FLOWERS, true)); apiculture.registerFlowerType(ForestryFlowerTypes.GOURD, new FlowerType(ForestryTags.Blocks.GOURD_FLOWERS, true)); + apiculture.registerFlowerType(ForestryFlowerTypes.CAVE, new FlowerType(ForestryTags.Blocks.CAVE_FLOWERS, true)); apiculture.registerBeeEffect(ForestryBeeEffects.NONE, new DummyBeeEffect(true)); apiculture.registerBeeEffect(ForestryBeeEffects.AGGRESSIVE, new AggressiveBeeEffect()); @@ -295,6 +297,7 @@ public void registerApiculture(IApicultureRegistration apiculture) { apiculture.registerBeeEffect(ForestryBeeEffects.MYCOPHILIC, new FungificationBeeEffect()); apiculture.registerBeeEffect(ForestryBeeEffects.SIFTER, new SifterBeeEffect()); apiculture.registerBeeEffect(ForestryBeeEffects.HAKUNA_MATATA, new PotionBeeEffectExclusive(false, ApicultureEffects.HAKUNA_MATATA.get(), 20 * 60 * 3, 100, 1.0f, ApicultureEffects.MATATA.get())); + apiculture.registerBeeEffect(ForestryBeeEffects.GLOW_BERRY_GROW, new GlowBerryGrowEffect()); apiculture.registerActivityType(ForestryActivityTypes.DIURNAL, new SingleActivityType(0, 12000, ForestryError.NOT_DAY, LightPreference.ANY)); apiculture.registerActivityType(ForestryActivityTypes.NOCTURNAL, new SingleActivityType(12000, 24000, ForestryError.NOT_NIGHT, LightPreference.DARK)); diff --git a/src/main/resources/assets/forestry/lang/en_us.json b/src/main/resources/assets/forestry/lang/en_us.json index 281672196..7e3480e68 100644 --- a/src/main/resources/assets/forestry/lang/en_us.json +++ b/src/main/resources/assets/forestry/lang/en_us.json @@ -58,6 +58,7 @@ "circuit.layout.forestry.machine.upgrade": "Machine Upgrade", "circuit.layout.forestry.machine.upgrade.usage": "Socketed Machines", "allele.forestry.flower_type.flower_type_cacti": "Cacti", + "allele.forestry.flower_type.flower_type_cave": "Cave", "allele.forestry.flower_type.flower_type_end": "End", "allele.forestry.flower_type.flower_type_gourd": "Gourds", "allele.forestry.flower_type.flower_type_jungle": "Jungle", @@ -399,6 +400,7 @@ "for.mutation.condition.temperature.single": "Requires %s temperature.", "for.mutation.condition.resource": "Requires %s as a foundation.", "for.mutation.condition.date": "Occurs between %s and %s.", + "for.mutation.condition.underground": "Occurs in caves.", "for.storage.backpack.mode.locked": "(Locked Mode)", "for.storage.backpack.mode.receiving": "(Receiving Mode)", "for.storage.backpack.mode.resupply": "(Resupply Mode)", @@ -793,6 +795,7 @@ "allele.forestry.bee_effect.bee_effect_easter": "Easter", "allele.forestry.bee_effect.bee_effect_sifter": "Sifter", "allele.forestry.bee_effect.bee_effect_hakuna_matata": "Hakuna Matata", + "allele.forestry.bee_effect.bee_effect_glow_berry_grow": "Luminiferous", "allele.forestry.activity.activity_diurnal": "Diurnal", "allele.forestry.activity.activity_nocturnal": "Nocturnal", "allele.forestry.activity.activity_metaturnal": "Metaturnal", @@ -863,6 +866,9 @@ "allele.forestry.bee_species.bee_savanna": "Savanna", "allele.forestry.bee_species.bee_argil": "Argil", "allele.forestry.bee_species.bee_pride": "Pride", + "allele.forestry.bee_species.bee_lush": "Lush", + "allele.forestry.bee_species.bee_verdant": "Verdant", + "allele.forestry.bee_species.bee_luxuriant": "Luxuriant", "allele.forestry.speed.0.3fd": "Slowest", "allele.forestry.speed.0.6fd": "Slower", "allele.forestry.speed.0.8fd": "Slow", @@ -1045,6 +1051,9 @@ "allele.forestry.bee_species.bee_savanna.desc": "\"A subspecies of ground nesting bees, commonly found in warmer climates.\"|Beekeeping 101", "allele.forestry.bee_species.bee_argil.desc": "\"These bees endure long periods of drought by incorporating increasing amounts of waterproof clays into their nests.\"|Beekeeping 101", "allele.forestry.bee_species.bee_pride.desc": "\"Look, Simba: Everything the bees touch is our kingdom.\"|Mufasa, Local King", + "allele.forestry.bee_species.bee_lush.desc": "\"An offshoot of the Valiant stock, who found refuge beneath the earth.\"|Beekeeping 101", + "allele.forestry.bee_species.bee_verdant.desc": "\"A unique microclimate is maintained within their hives, which promotes the growth of certain plants unable to propagate in captivity.\"|Basil, Botanist", + "allele.forestry.bee_species.bee_luxuriant.desc": "\"So diligent they are in pollinating the vines of the glowing berry, they have even begun glowing themselves!\"|Apiarist's Grimoire", "for.genus.bees.agrarian": "Agrarian", "for.genus.bees.austere": "Austere", "for.genus.bees.boggy": "Boggy", From f6796d50f160840391fe8915797f4fd0e8547ec6 Mon Sep 17 00:00:00 2001 From: EnderiumSmith Date: Mon, 3 Feb 2025 19:24:14 -0800 Subject: [PATCH 3/4] Add Lush hives that generate in Lush Caves --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 3 +- .../bf69d56e532803039407b43dd7d380c632a0162c | 6 +- .../loot_tables/blocks/beehive_lush.json | 21 ++++++ .../hive_grounds/cave_extra_replaceable.json | 9 +++ .../tags/blocks/hive_grounds/lush.json | 6 ++ .../data/forestry/tags/blocks/scoop.json | 1 + src/main/java/forestry/api/ForestryTags.java | 2 + .../apiculture/blocks/BlockHiveType.java | 1 + .../apiculture/hives/HiveDefinition.java | 14 ++++ .../apiculture/hives/HiveGenCaveCeiling.java | 68 +++++++++++++++++++ .../core/data/ForestryBlockTagsProvider.java | 2 + .../plugin/DefaultForestryPlugin.java | 4 ++ 12 files changed, 134 insertions(+), 3 deletions(-) create mode 100644 src/generated/resources/data/forestry/loot_tables/blocks/beehive_lush.json create mode 100644 src/generated/resources/data/forestry/tags/blocks/hive_grounds/cave_extra_replaceable.json create mode 100644 src/generated/resources/data/forestry/tags/blocks/hive_grounds/lush.json create mode 100644 src/main/java/forestry/apiculture/hives/HiveGenCaveCeiling.java diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index b3dcdab1e..e214c0602 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.20.1 2025-01-15T23:29:40.0926931 Loot Tables +// 1.20.1 2025-02-03T18:15:10.2026322 Loot Tables 41fb17dab11f0d0ac4c695eb706119b894401c59 data/forestry/loot_tables/blocks/acacia_desert_button.json cd06ea8f3c3db3fc055cc6b07393f6aa938e0525 data/forestry/loot_tables/blocks/acacia_desert_door.json 0826e330e65982a3be8d6b9d0987e5fc526d62dd data/forestry/loot_tables/blocks/acacia_desert_fence.json @@ -97,6 +97,7 @@ f7a93b91cdcc6f14ab4c0489a2b8e5156f21b7c0 data/forestry/loot_tables/blocks/beehiv f1b817aba7dcf3fc0ddd08f4aa1f44c6512d1198 data/forestry/loot_tables/blocks/beehive_end.json 3d2a9207b55de3fcdd8431ffbe6016511d49d071 data/forestry/loot_tables/blocks/beehive_forest.json 41f7fb87de2d4f466bbd81da053410a1f960d2a9 data/forestry/loot_tables/blocks/beehive_jungle.json +329cac9841e11bf7f76b53e0fbbfdfe18c799436 data/forestry/loot_tables/blocks/beehive_lush.json 05dbcb7c32dc998788cb93323c3c10e63a53dded data/forestry/loot_tables/blocks/beehive_meadows.json c9f20dea972ea84db298bc6da4b88b83c48f4f9b data/forestry/loot_tables/blocks/beehive_savanna.json fda6aa38ac28800d33083c9975ee175e373b050e data/forestry/loot_tables/blocks/beehive_snow.json diff --git a/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c b/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c index 24303f8e1..611f8345b 100644 --- a/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c +++ b/src/generated/resources/.cache/bf69d56e532803039407b43dd7d380c632a0162c @@ -1,4 +1,4 @@ -// 1.20.1 2025-02-02T21:10:30.2815508 Tags for minecraft:block mod id forestry +// 1.20.1 2025-02-03T18:15:10.2142988 Tags for minecraft:block mod id forestry 37a390e7a402ae2ce1addd2b8bbefd6229e8c7c6 data/forestry/tags/blocks/acacia_desert_logs.json d38d236618a81cc1b2e0dbb4e4d7c11e43e522ea data/forestry/tags/blocks/balsa_logs.json 16059fb3cfd04606a73b78eaefbf7659417cb9d5 data/forestry/tags/blocks/baobab_logs.json @@ -22,6 +22,8 @@ a72c613d8786fc7756573ffec9c22f7ed2973d9e data/forestry/tags/blocks/flowers/vanil a4e8097fff07f9a74259d6b5dd583f3437ff28a2 data/forestry/tags/blocks/grafter.json 5bf961f0fb31691326bd59df625f14f6c27424c8 data/forestry/tags/blocks/greenheart_logs.json a433d512a27e91df207a3f220557a8882e9d4129 data/forestry/tags/blocks/hill_cherry_logs.json +c547bcea8bc1ab3a88bba8caaf4d02e7897efb12 data/forestry/tags/blocks/hive_grounds/cave_extra_replaceable.json +02d0d7f14f7fcab4acadaf6d779d37b734afe834 data/forestry/tags/blocks/hive_grounds/lush.json 8bb7638e4835f6c3a07cd7620655ab015c154fc1 data/forestry/tags/blocks/hive_grounds/modest.json 316eaacbc5d5ce516d9d3506a2f1b21e2d166bcf data/forestry/tags/blocks/hive_grounds/wintry.json 75a78e172fd774cde17a3d11c02dd4e1b9ea7041 data/forestry/tags/blocks/ipe_logs.json @@ -37,7 +39,7 @@ c650452f3c2c7523b5d43f7a54ddebe133610760 data/forestry/tags/blocks/padauk_logs.j 24f3c0c5b75c3d2795315ab535de9a7cb30879c0 data/forestry/tags/blocks/pine_logs.json 57a3ddceb21b169b8704e697fd89e03ac1c75cef data/forestry/tags/blocks/plum_logs.json 1e2ec9fb02b1b3126fa83d7bc90fe335db9e48b6 data/forestry/tags/blocks/poplar_logs.json -c9a1e2d59a521114d223c967dcb8fe01515ebb38 data/forestry/tags/blocks/scoop.json +ca92f705378db38c761293f4c6867353f1b151ab data/forestry/tags/blocks/scoop.json 5001373d3cdbe55ab238e1c82b521698c299e190 data/forestry/tags/blocks/sequoia_logs.json ff349380d39ea7002699d10ebb9251ed0391aacb data/forestry/tags/blocks/teak_logs.json b841a00870fdcf55fc0e81960a6fefeec9a84f96 data/forestry/tags/blocks/valid_farm_base.json diff --git a/src/generated/resources/data/forestry/loot_tables/blocks/beehive_lush.json b/src/generated/resources/data/forestry/loot_tables/blocks/beehive_lush.json new file mode 100644 index 000000000..468f9cff6 --- /dev/null +++ b/src/generated/resources/data/forestry/loot_tables/blocks/beehive_lush.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "forestry:beehive_lush" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "forestry:blocks/beehive_lush" +} \ No newline at end of file diff --git a/src/generated/resources/data/forestry/tags/blocks/hive_grounds/cave_extra_replaceable.json b/src/generated/resources/data/forestry/tags/blocks/hive_grounds/cave_extra_replaceable.json new file mode 100644 index 000000000..b25203753 --- /dev/null +++ b/src/generated/resources/data/forestry/tags/blocks/hive_grounds/cave_extra_replaceable.json @@ -0,0 +1,9 @@ +{ + "values": [ + "minecraft:pointed_dripstone", + "minecraft:cave_vines", + "minecraft:cave_vines_plant", + "minecraft:hanging_roots", + "minecraft:glow_lichen" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forestry/tags/blocks/hive_grounds/lush.json b/src/generated/resources/data/forestry/tags/blocks/hive_grounds/lush.json new file mode 100644 index 000000000..78ba6dad9 --- /dev/null +++ b/src/generated/resources/data/forestry/tags/blocks/hive_grounds/lush.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:moss_block", + "minecraft:rooted_dirt" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forestry/tags/blocks/scoop.json b/src/generated/resources/data/forestry/tags/blocks/scoop.json index b583625ad..9afafd740 100644 --- a/src/generated/resources/data/forestry/tags/blocks/scoop.json +++ b/src/generated/resources/data/forestry/tags/blocks/scoop.json @@ -8,6 +8,7 @@ "forestry:beehive_snow", "forestry:beehive_swamp", "forestry:beehive_savanna", + "forestry:beehive_lush", "forestry:beehive_swarm" ] } \ No newline at end of file diff --git a/src/main/java/forestry/api/ForestryTags.java b/src/main/java/forestry/api/ForestryTags.java index 8c3cda304..312e0b2ae 100644 --- a/src/main/java/forestry/api/ForestryTags.java +++ b/src/main/java/forestry/api/ForestryTags.java @@ -83,6 +83,8 @@ public static class Blocks { public static final TagKey MODEST_BEE_GROUND = blockTag("hive_grounds/modest"); public static final TagKey ENDED_BEE_GROUND = blockTag("hive_grounds/ended"); public static final TagKey WINTRY_BEE_GROUND = blockTag("hive_grounds/wintry"); + public static final TagKey LUSH_BEE_CEILING = blockTag("hive_grounds/lush"); + public static final TagKey CAVE_EXTRA_REPLACEABLES = blockTag("hive_grounds/cave_extra_replaceable"); // Blocks where the Alveary Swarmer can spawn hives on top of public static final TagKey SWARM_BEE_GROUND = blockTag("hive_grounds/swarm"); diff --git a/src/main/java/forestry/apiculture/blocks/BlockHiveType.java b/src/main/java/forestry/apiculture/blocks/BlockHiveType.java index 22491c650..c44883790 100644 --- a/src/main/java/forestry/apiculture/blocks/BlockHiveType.java +++ b/src/main/java/forestry/apiculture/blocks/BlockHiveType.java @@ -17,6 +17,7 @@ public enum BlockHiveType implements IBlockSubtype { SNOW(ForestryBeeSpecies.WINTRY), SWAMP(ForestryBeeSpecies.MARSHY), SAVANNA(ForestryBeeSpecies.SAVANNA), + LUSH(ForestryBeeSpecies.LUSH), SWARM(ForestryConstants.forestry("none")); private final ResourceLocation speciesUid; diff --git a/src/main/java/forestry/apiculture/hives/HiveDefinition.java b/src/main/java/forestry/apiculture/hives/HiveDefinition.java index 3f87c11b4..cf29ddefd 100644 --- a/src/main/java/forestry/apiculture/hives/HiveDefinition.java +++ b/src/main/java/forestry/apiculture/hives/HiveDefinition.java @@ -25,6 +25,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraftforge.common.Tags; @@ -110,6 +111,19 @@ public void postGen(WorldGenLevel level, RandomSource rand, BlockPos pos) { //TODO: generate pumpkins in dry biomes and melons in normal ones //postGenFlowers(world,rand,pos,flowerStates); } + }, + LUSH(ApicultureBlocks.BEEHIVE.get(BlockHiveType.LUSH).defaultState(), 2.0F, ForestryBeeSpecies.LUSH, new HiveGenCaveCeiling(ForestryTags.Blocks.LUSH_BEE_CEILING, ForestryTags.Blocks.CAVE_EXTRA_REPLACEABLES)) { + @Override + public boolean isGoodBiome(Holder biome) { + return super.isGoodBiome(biome) && biome.is(Tags.Biomes.IS_CAVE); + } + + @Override + public void postGen(WorldGenLevel level, RandomSource rand, BlockPos pos) { + if (level.getBlockState(pos.below()).canBeReplaced()) { + level.setBlock(pos.below(), Blocks.CAVE_VINES.defaultBlockState().setValue(BlockStateProperties.BERRIES, rand.nextFloat() < 0.11F), Block.UPDATE_CLIENTS); + } + } }; private static final IHiveGen FLOWER_GROUND = new HiveGenGround(ForestryTags.Blocks.PLANTABLE_FLOWERS_GROUND); diff --git a/src/main/java/forestry/apiculture/hives/HiveGenCaveCeiling.java b/src/main/java/forestry/apiculture/hives/HiveGenCaveCeiling.java new file mode 100644 index 000000000..3a6f35c9f --- /dev/null +++ b/src/main/java/forestry/apiculture/hives/HiveGenCaveCeiling.java @@ -0,0 +1,68 @@ +package forestry.apiculture.hives; + +import javax.annotation.Nullable; +import java.util.ArrayList; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.tags.TagKey; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.Heightmap; + +import forestry.api.apiculture.hives.IHiveGen; +import forestry.core.utils.BlockUtil; + +public class HiveGenCaveCeiling implements IHiveGen { + private final TagKey blocks; + private final TagKey extraReplaceable; + + public HiveGenCaveCeiling(TagKey blocks, TagKey extraReplaceable) { + this.blocks = blocks; + this.extraReplaceable = extraReplaceable; + } + + @Override + public @Nullable BlockPos getPosForHive(WorldGenLevel level, int posX, int posZ) { + return null; + } + + @Override + public @Nullable BlockPos getPosForHive(WorldGenLevel level, RandomSource rand, int posX, int posZ) { + // get to the ground + int groundY = level.getHeight(Heightmap.Types.OCEAN_FLOOR_WG, posX, posZ); + int minBuildHeight = level.getMinBuildHeight(); + if (groundY == minBuildHeight) { + return null; + } + + final BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(posX, groundY, posZ); + ArrayList validPos = new ArrayList<>(); + + BlockState blockState = level.getBlockState(pos); + while (pos.getY() > minBuildHeight) { + if (blockState.is(blocks)) { + BlockPos bellow = pos.below(); + if (canReplace(level.getBlockState(bellow), level, bellow)) { + validPos.add(bellow); + } + } + pos.move(Direction.DOWN); + blockState = level.getBlockState(pos); + } + + return !validPos.isEmpty() ? validPos.get(validPos.size() > 1 ? rand.nextInt(validPos.size()) : 0) : null; + } + + @Override + public boolean isValidLocation(WorldGenLevel level, BlockPos pos) { + return level.getBlockState(pos.above()).is(blocks); + } + + @Override + public boolean canReplace(BlockState blockState, WorldGenLevel level, BlockPos pos) { + return BlockUtil.canReplace(blockState, level, pos) || blockState.is(extraReplaceable); + } +} diff --git a/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java b/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java index 776b874b8..aa587116d 100644 --- a/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java +++ b/src/main/java/forestry/core/data/ForestryBlockTagsProvider.java @@ -185,6 +185,8 @@ public static void addTags(MKTagsProvider tags, HolderLookup.Provider loo //why is there no tag for cactus plantable, but there is for dead bush? tags.tag(ForestryTags.Blocks.MODEST_BEE_GROUND).addTag(BlockTags.SAND).addTag(BlockTags.TERRACOTTA); tags.tag(ForestryTags.Blocks.WINTRY_BEE_GROUND).addTag(BlockTags.DIRT).addTag(BlockTags.SNOW); + tags.tag(ForestryTags.Blocks.LUSH_BEE_CEILING).add(Blocks.MOSS_BLOCK).add(Blocks.ROOTED_DIRT); + tags.tag(ForestryTags.Blocks.CAVE_EXTRA_REPLACEABLES).add(Blocks.POINTED_DRIPSTONE).add(Blocks.CAVE_VINES).add(Blocks.CAVE_VINES_PLANT).add(Blocks.HANGING_ROOTS).add(Blocks.GLOW_LICHEN); } private static Collection union(FeatureBlockGroup... features) { diff --git a/src/main/java/forestry/plugin/DefaultForestryPlugin.java b/src/main/java/forestry/plugin/DefaultForestryPlugin.java index 316737106..c3d554c27 100644 --- a/src/main/java/forestry/plugin/DefaultForestryPlugin.java +++ b/src/main/java/forestry/plugin/DefaultForestryPlugin.java @@ -248,6 +248,10 @@ public void registerApiculture(IApicultureRegistration apiculture) { .addDrop(0.80, ForestryBeeSpecies.SAVANNA, parchedComb, 0.7f) .addDrop(0.03, ForestryBeeSpecies.VALIANT, parchedComb); + apiculture.registerHive(ForestryBeeSpecies.LUSH, HiveDefinition.LUSH) + .addDrop(0.80, ForestryBeeSpecies.LUSH, honeyComb, 0.5F) + .addDrop(0.08, ForestryBeeSpecies.VALIANT, honeyComb); + // Common village bees apiculture.addVillageBee(ForestryBeeSpecies.FOREST, false); From a99d9acd142c5d40deb5bb99776a4c74f6c5ddee Mon Sep 17 00:00:00 2001 From: thedarkcolour <30441001+thedarkcolour@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:24:46 -0800 Subject: [PATCH 4/4] Add textures for Lush hive + data gen hive models --- .../3887f581e0dc0d35d3fd35922d715f9a11b6fcce | 32 +++++++++++++++++- .../forestry/blockstates/beehive_desert.json | 7 ++++ .../forestry/blockstates/beehive_end.json | 7 ++++ .../forestry/blockstates/beehive_forest.json | 7 ++++ .../forestry/blockstates/beehive_jungle.json | 7 ++++ .../forestry/blockstates/beehive_lush.json | 7 ++++ .../forestry/blockstates/beehive_meadows.json | 7 ++++ .../forestry/blockstates/beehive_savanna.json | 7 ++++ .../forestry/blockstates/beehive_snow.json | 7 ++++ .../forestry/blockstates/beehive_swamp.json | 7 ++++ .../forestry/blockstates/beehive_swarm.json | 7 ++++ .../forestry/models/block/beehive_desert.json | 8 +++++ .../forestry/models/block/beehive_end.json | 8 +++++ .../forestry/models/block/beehive_forest.json | 8 +++++ .../forestry/models/block/beehive_jungle.json | 8 +++++ .../forestry/models/block/beehive_lush.json | 8 +++++ .../models/block/beehive_meadows.json | 8 +++++ .../models/block/beehive_savanna.json | 8 +++++ .../forestry/models/block/beehive_snow.json | 8 +++++ .../forestry/models/block/beehive_swamp.json | 8 +++++ .../forestry/models/block/beehive_swarm.json | 8 +++++ .../forestry/models/item/beehive_desert.json | 3 ++ .../forestry/models/item/beehive_end.json | 3 ++ .../forestry/models/item/beehive_forest.json | 3 ++ .../forestry/models/item/beehive_jungle.json | 3 ++ .../forestry/models/item/beehive_lush.json | 3 ++ .../forestry/models/item/beehive_meadows.json | 3 ++ .../forestry/models/item/beehive_savanna.json | 3 ++ .../forestry/models/item/beehive_snow.json | 3 ++ .../forestry/models/item/beehive_swamp.json | 3 ++ .../forestry/models/item/beehive_swarm.json | 3 ++ .../models/ForestryBlockStateProvider.java | 18 ++++++++++ .../forestry/blockstates/beehive_desert.json | 7 ---- .../forestry/blockstates/beehive_end.json | 7 ---- .../forestry/blockstates/beehive_forest.json | 7 ---- .../forestry/blockstates/beehive_jungle.json | 7 ---- .../forestry/blockstates/beehive_meadows.json | 7 ---- .../forestry/blockstates/beehive_savanna.json | 7 ---- .../forestry/blockstates/beehive_snow.json | 7 ---- .../forestry/blockstates/beehive_swamp.json | 7 ---- .../forestry/blockstates/beehive_swarm.json | 7 ---- .../assets/forestry/blockstates/beehives.json | 28 --------------- .../resources/assets/forestry/lang/en_us.json | 1 + .../models/block/beehives/desert.json | 12 ------- .../forestry/models/block/beehives/end.json | 12 ------- .../models/block/beehives/forest.json | 12 ------- .../models/block/beehives/jungle.json | 12 ------- .../models/block/beehives/meadows.json | 12 ------- .../models/block/beehives/savanna.json | 12 ------- .../forestry/models/block/beehives/snow.json | 12 ------- .../forestry/models/block/beehives/swamp.json | 12 ------- .../forestry/models/block/beehives/swarm.json | 12 ------- .../forestry/models/item/beehive_desert.json | 22 ------------ .../forestry/models/item/beehive_end.json | 22 ------------ .../forestry/models/item/beehive_forest.json | 22 ------------ .../forestry/models/item/beehive_jungle.json | 22 ------------ .../forestry/models/item/beehive_meadows.json | 22 ------------ .../forestry/models/item/beehive_savanna.json | 22 ------------ .../forestry/models/item/beehive_snow.json | 22 ------------ .../forestry/models/item/beehive_swamp.json | 22 ------------ .../forestry/models/item/beehive_swarm.json | 22 ------------ .../textures/block/beehives/lush.bottom.png | Bin 0 -> 465 bytes .../textures/block/beehives/lush.side.png | Bin 0 -> 530 bytes .../textures/block/beehives/lush.top.png | Bin 0 -> 508 bytes 64 files changed, 230 insertions(+), 398 deletions(-) create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_desert.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_end.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_forest.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_jungle.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_lush.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_meadows.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_savanna.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_snow.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_swamp.json create mode 100644 src/generated/resources/assets/forestry/blockstates/beehive_swarm.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_desert.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_end.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_forest.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_jungle.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_lush.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_meadows.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_savanna.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_snow.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_swamp.json create mode 100644 src/generated/resources/assets/forestry/models/block/beehive_swarm.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_desert.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_end.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_forest.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_jungle.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_lush.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_meadows.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_savanna.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_snow.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_swamp.json create mode 100644 src/generated/resources/assets/forestry/models/item/beehive_swarm.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_desert.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_end.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_forest.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_jungle.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_meadows.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_savanna.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_snow.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_swamp.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehive_swarm.json delete mode 100644 src/main/resources/assets/forestry/blockstates/beehives.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/desert.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/end.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/forest.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/jungle.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/meadows.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/savanna.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/snow.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/swamp.json delete mode 100644 src/main/resources/assets/forestry/models/block/beehives/swarm.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_desert.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_end.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_forest.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_jungle.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_meadows.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_savanna.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_snow.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_swamp.json delete mode 100644 src/main/resources/assets/forestry/models/item/beehive_swarm.json create mode 100644 src/main/resources/assets/forestry/textures/block/beehives/lush.bottom.png create mode 100644 src/main/resources/assets/forestry/textures/block/beehives/lush.side.png create mode 100644 src/main/resources/assets/forestry/textures/block/beehives/lush.top.png diff --git a/src/generated/resources/.cache/3887f581e0dc0d35d3fd35922d715f9a11b6fcce b/src/generated/resources/.cache/3887f581e0dc0d35d3fd35922d715f9a11b6fcce index 8c3f1f171..d2920d404 100644 --- a/src/generated/resources/.cache/3887f581e0dc0d35d3fd35922d715f9a11b6fcce +++ b/src/generated/resources/.cache/3887f581e0dc0d35d3fd35922d715f9a11b6fcce @@ -1,7 +1,17 @@ -// 1.20.1 2024-12-20T17:33:23.6981192 Block States: forestry +// 1.20.1 2025-02-03T18:48:00.1908785 Block States: forestry efb6cd9088f34afc855db97087b928d69c02ae5f assets/forestry/blockstates/apatite_ore.json f57484d5f7156fddd1a540e02d9ddec37cb1f2bd assets/forestry/blockstates/arboretum_managed.json f57484d5f7156fddd1a540e02d9ddec37cb1f2bd assets/forestry/blockstates/arboretum_manual.json +aefefee959bc56089baf6434decaf5ff1a8773a9 assets/forestry/blockstates/beehive_desert.json +c50532e817eb0fca568821f3ba6f8508ede25f8e assets/forestry/blockstates/beehive_end.json +5f79508faa764bc4ea549a822ac76d2ec54e9584 assets/forestry/blockstates/beehive_forest.json +d6b5189f8f956e35a8d291cba2ea63c216b65c81 assets/forestry/blockstates/beehive_jungle.json +6b396981380f9eac015c45838f809333d3b3ca0b assets/forestry/blockstates/beehive_lush.json +a17b43aaf5af570b8120a5b858ab5a54d6d615be assets/forestry/blockstates/beehive_meadows.json +ec82852b003aa43dd0955b5156afa9ead9941163 assets/forestry/blockstates/beehive_savanna.json +4181eb878799469af0824e65e6208eea1707568a assets/forestry/blockstates/beehive_snow.json +7f8074ed80475da630a24a79d57cfeafa5d76aa1 assets/forestry/blockstates/beehive_swamp.json +842ee3e006d7ee927a676bbac7d012e118a35e16 assets/forestry/blockstates/beehive_swarm.json c15a10b7ebb4eed6ef9bafb7bd6aedf3b18ad1bb assets/forestry/blockstates/bog_earth.json 57a5c594a409429645981afee03237765ce35e59 assets/forestry/blockstates/deepslate_apatite_ore.json fb0190d66aa7f0dfdac27daf22526880635b1f8b assets/forestry/blockstates/deepslate_tin_ore.json @@ -193,6 +203,16 @@ a397f3eedb8d2435def474635b0a4dd23e252ce1 assets/forestry/blockstates/tree_wenge_ 919cbbae5d037403b03b93c64acb7ec603f7f010 assets/forestry/blockstates/tree_zebrawood_default_leaves.json 919cbbae5d037403b03b93c64acb7ec603f7f010 assets/forestry/blockstates/tree_zebrawood_default_leaves_fruit.json c1e2cc6f05bb5ed3019b2dd323646786b9148d65 assets/forestry/models/block/apatite_ore.json +13f7b6019854bd74306f1c2b57e01c39cc1337db assets/forestry/models/block/beehive_desert.json +3afffdc72c7390f9d02e307c7e1800c848d2d6e9 assets/forestry/models/block/beehive_end.json +f74b2c91e018425ed52b05740c114148c488ac20 assets/forestry/models/block/beehive_forest.json +0a267aaa75d0e0942b3d763cf02427e638e09f3d assets/forestry/models/block/beehive_jungle.json +0605f7abb55616d4911442285702298055fa9dc5 assets/forestry/models/block/beehive_lush.json +8d9a2cbc763ac50c871ef9bed6713e4a487825c2 assets/forestry/models/block/beehive_meadows.json +e68cb32ceb2edf15cc7f89c7444b2fd83127ffca assets/forestry/models/block/beehive_savanna.json +9165b90ce88c311a3731c42735f015e8d372e2a6 assets/forestry/models/block/beehive_snow.json +0b786c345265694430e4e513b229b3fdfdda299b assets/forestry/models/block/beehive_swamp.json +f3236b6e47025ac20dd397ae036e204f41177cfd assets/forestry/models/block/beehive_swarm.json aaf770a5bcab152daa4ca1e85d8f1c7fcd2b2941 assets/forestry/models/block/bog_earth.json 7711405427982028dc577825c9bc40666cf2ceb1 assets/forestry/models/block/deepslate_apatite_ore.json f26074de1c36c512ce65a02b23114ae7b076f906 assets/forestry/models/block/deepslate_tin_ore.json @@ -311,6 +331,16 @@ f436e4fd30c90a5549aac5c4b8b179bf5b149f2e assets/forestry/models/block/tree_wenge bf3d2203d55590dbdaeb064114a01d95aac3579a assets/forestry/models/block/tree_willow_default_leaves.json dcb48dadb634675a8f8aee9fd202e404c9060698 assets/forestry/models/block/tree_zebrawood_default_leaves.json f77d9f3afb7a1f72f9ae4c48d34b49d3b1dabbbb assets/forestry/models/item/apatite_ore.json +d0eef751812bbf2ce67e31b4dff72b5a311415f5 assets/forestry/models/item/beehive_desert.json +07d7836e31acab066077a5cc4e1e7704af7449ba assets/forestry/models/item/beehive_end.json +2164c31b692c28d0020e2c71313d8c42a5817325 assets/forestry/models/item/beehive_forest.json +b3cd02039ef025ff6429a3655944e22a8659ea01 assets/forestry/models/item/beehive_jungle.json +d04ddfe5198dbf6a289cca624a06df2774a8ec34 assets/forestry/models/item/beehive_lush.json +614c49deddd68f81f641a2f439f1f0e86f9410fe assets/forestry/models/item/beehive_meadows.json +93da685134a2cba3c2359f9fd4c3a80e7be22ee3 assets/forestry/models/item/beehive_savanna.json +eaf59827ef2dd8b360b6733535f342a25d54f8a4 assets/forestry/models/item/beehive_snow.json +f4cd9e4406b6b20e00ef3473f2a8ca5382612fab assets/forestry/models/item/beehive_swamp.json +f298a645d1724e252886ccd37847c92bac011d76 assets/forestry/models/item/beehive_swarm.json d54cf546ef520cea5a3fe5f28b285829231acad7 assets/forestry/models/item/deepslate_apatite_ore.json 87de1938f8f93b1fd7f8b66d7fb33746e37c207c assets/forestry/models/item/deepslate_tin_ore.json 54e96bdcdfc8e4d9c286c03209781878ccc65268 assets/forestry/models/item/farm_control_brick.json diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_desert.json b/src/generated/resources/assets/forestry/blockstates/beehive_desert.json new file mode 100644 index 000000000..148f427fa --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_desert.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_desert" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_end.json b/src/generated/resources/assets/forestry/blockstates/beehive_end.json new file mode 100644 index 000000000..f5e1d004c --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_end.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_end" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_forest.json b/src/generated/resources/assets/forestry/blockstates/beehive_forest.json new file mode 100644 index 000000000..bb454a60d --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_forest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_forest" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_jungle.json b/src/generated/resources/assets/forestry/blockstates/beehive_jungle.json new file mode 100644 index 000000000..ab63890b9 --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_jungle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_jungle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_lush.json b/src/generated/resources/assets/forestry/blockstates/beehive_lush.json new file mode 100644 index 000000000..965e701a6 --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_lush.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_lush" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_meadows.json b/src/generated/resources/assets/forestry/blockstates/beehive_meadows.json new file mode 100644 index 000000000..db06806da --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_meadows.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_meadows" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_savanna.json b/src/generated/resources/assets/forestry/blockstates/beehive_savanna.json new file mode 100644 index 000000000..9d226bec1 --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_savanna.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_savanna" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_snow.json b/src/generated/resources/assets/forestry/blockstates/beehive_snow.json new file mode 100644 index 000000000..84bd9b2ca --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_snow.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_snow" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_swamp.json b/src/generated/resources/assets/forestry/blockstates/beehive_swamp.json new file mode 100644 index 000000000..e7ac0efd7 --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_swamp.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_swamp" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/blockstates/beehive_swarm.json b/src/generated/resources/assets/forestry/blockstates/beehive_swarm.json new file mode 100644 index 000000000..626218040 --- /dev/null +++ b/src/generated/resources/assets/forestry/blockstates/beehive_swarm.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "forestry:block/beehive_swarm" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_desert.json b/src/generated/resources/assets/forestry/models/block/beehive_desert.json new file mode 100644 index 000000000..5e6524c4c --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_desert.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/desert.top", + "side": "forestry:block/beehives/desert.side", + "top": "forestry:block/beehives/desert.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_end.json b/src/generated/resources/assets/forestry/models/block/beehive_end.json new file mode 100644 index 000000000..304f51b56 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_end.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/end.top", + "side": "forestry:block/beehives/end.side", + "top": "forestry:block/beehives/end.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_forest.json b/src/generated/resources/assets/forestry/models/block/beehive_forest.json new file mode 100644 index 000000000..1daabede7 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_forest.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/forest.top", + "side": "forestry:block/beehives/forest.side", + "top": "forestry:block/beehives/forest.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_jungle.json b/src/generated/resources/assets/forestry/models/block/beehive_jungle.json new file mode 100644 index 000000000..6358b8db1 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_jungle.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/jungle.top", + "side": "forestry:block/beehives/jungle.side", + "top": "forestry:block/beehives/jungle.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_lush.json b/src/generated/resources/assets/forestry/models/block/beehive_lush.json new file mode 100644 index 000000000..bc7fe8e84 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_lush.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/lush.bottom", + "side": "forestry:block/beehives/lush.side", + "top": "forestry:block/beehives/lush.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_meadows.json b/src/generated/resources/assets/forestry/models/block/beehive_meadows.json new file mode 100644 index 000000000..284cb56ab --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_meadows.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/meadows.top", + "side": "forestry:block/beehives/meadows.side", + "top": "forestry:block/beehives/meadows.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_savanna.json b/src/generated/resources/assets/forestry/models/block/beehive_savanna.json new file mode 100644 index 000000000..bb9e3fce4 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_savanna.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/savanna.top", + "side": "forestry:block/beehives/savanna.side", + "top": "forestry:block/beehives/savanna.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_snow.json b/src/generated/resources/assets/forestry/models/block/beehive_snow.json new file mode 100644 index 000000000..1d46e0c7f --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_snow.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/snow.top", + "side": "forestry:block/beehives/snow.side", + "top": "forestry:block/beehives/snow.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_swamp.json b/src/generated/resources/assets/forestry/models/block/beehive_swamp.json new file mode 100644 index 000000000..15ac4ebbe --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_swamp.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/swamp.top", + "side": "forestry:block/beehives/swamp.side", + "top": "forestry:block/beehives/swamp.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/block/beehive_swarm.json b/src/generated/resources/assets/forestry/models/block/beehive_swarm.json new file mode 100644 index 000000000..a58308a5b --- /dev/null +++ b/src/generated/resources/assets/forestry/models/block/beehive_swarm.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "forestry:block/beehives/swarm.top", + "side": "forestry:block/beehives/swarm.side", + "top": "forestry:block/beehives/swarm.top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_desert.json b/src/generated/resources/assets/forestry/models/item/beehive_desert.json new file mode 100644 index 000000000..616c5da79 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_desert.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_desert" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_end.json b/src/generated/resources/assets/forestry/models/item/beehive_end.json new file mode 100644 index 000000000..0a2f431ad --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_end.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_end" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_forest.json b/src/generated/resources/assets/forestry/models/item/beehive_forest.json new file mode 100644 index 000000000..e95168bf0 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_forest.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_forest" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_jungle.json b/src/generated/resources/assets/forestry/models/item/beehive_jungle.json new file mode 100644 index 000000000..5c09c03db --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_jungle.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_jungle" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_lush.json b/src/generated/resources/assets/forestry/models/item/beehive_lush.json new file mode 100644 index 000000000..ba31324cb --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_lush.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_lush" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_meadows.json b/src/generated/resources/assets/forestry/models/item/beehive_meadows.json new file mode 100644 index 000000000..04f3d8f1b --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_meadows.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_meadows" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_savanna.json b/src/generated/resources/assets/forestry/models/item/beehive_savanna.json new file mode 100644 index 000000000..4031f3ea9 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_savanna.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_savanna" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_snow.json b/src/generated/resources/assets/forestry/models/item/beehive_snow.json new file mode 100644 index 000000000..3a59656d3 --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_snow.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_snow" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_swamp.json b/src/generated/resources/assets/forestry/models/item/beehive_swamp.json new file mode 100644 index 000000000..5966b981a --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_swamp.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_swamp" +} \ No newline at end of file diff --git a/src/generated/resources/assets/forestry/models/item/beehive_swarm.json b/src/generated/resources/assets/forestry/models/item/beehive_swarm.json new file mode 100644 index 000000000..b9af7a2ee --- /dev/null +++ b/src/generated/resources/assets/forestry/models/item/beehive_swarm.json @@ -0,0 +1,3 @@ +{ + "parent": "forestry:block/beehive_swarm" +} \ No newline at end of file diff --git a/src/main/java/forestry/core/data/models/ForestryBlockStateProvider.java b/src/main/java/forestry/core/data/models/ForestryBlockStateProvider.java index a663df7aa..15661a383 100644 --- a/src/main/java/forestry/core/data/models/ForestryBlockStateProvider.java +++ b/src/main/java/forestry/core/data/models/ForestryBlockStateProvider.java @@ -2,6 +2,7 @@ import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.BlockItem; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -14,6 +15,9 @@ import forestry.api.ForestryConstants; import forestry.api.client.IForestryClientApi; +import forestry.apiculture.blocks.BlockBeeHive; +import forestry.apiculture.blocks.BlockHiveType; +import forestry.apiculture.features.ApicultureBlocks; import forestry.arboriculture.blocks.ForestryLeafType; import forestry.arboriculture.features.ArboricultureBlocks; import forestry.core.features.CoreBlocks; @@ -26,6 +30,7 @@ import forestry.farming.blocks.EnumFarmMaterial; import forestry.farming.blocks.FarmBlock; import forestry.farming.features.FarmingBlocks; +import forestry.modules.features.FeatureBlock; public class ForestryBlockStateProvider extends BlockStateProvider { public ForestryBlockStateProvider(PackOutput output, ExistingFileHelper exFileHelper) { @@ -97,6 +102,19 @@ protected void registerStatesAndModels() { generic3d(decorativeBlock, defaultBlock); } singleModelBlock(this, ArboricultureBlocks.LEAVES.block(), particleOnly(models(), ArboricultureBlocks.LEAVES.getName(), blockTexture(Blocks.OAK_LEAVES))); + + for (BlockHiveType type : BlockHiveType.values()) { + BlockBeeHive feature = ApicultureBlocks.BEEHIVE.get(type).block(); + String path = path(feature); + + ResourceLocation side = modBlock("beehives/" + type.getSerializedName() + ".side"); + ResourceLocation top = modBlock("beehives/" + type.getSerializedName() + ".top"); + // todo make all hives use bottom textures + ResourceLocation bottom = type == BlockHiveType.LUSH ? modBlock("beehives/" + type.getSerializedName() + ".bottom") : top; + + singleModelBlock(this, feature, models().cubeBottomTop(path, side, bottom, top)); + generic3d(feature); + } } public static void singleModelBlock(ForestryBlockStateProvider states, Block defaultBlock, ModelFile file) { diff --git a/src/main/resources/assets/forestry/blockstates/beehive_desert.json b/src/main/resources/assets/forestry/blockstates/beehive_desert.json deleted file mode 100644 index 7b0baaf8b..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_desert.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/desert" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_end.json b/src/main/resources/assets/forestry/blockstates/beehive_end.json deleted file mode 100644 index bfb1b0538..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_end.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/end" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_forest.json b/src/main/resources/assets/forestry/blockstates/beehive_forest.json deleted file mode 100644 index ce49856a6..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_forest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/forest" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_jungle.json b/src/main/resources/assets/forestry/blockstates/beehive_jungle.json deleted file mode 100644 index f32454dea..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_jungle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/jungle" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_meadows.json b/src/main/resources/assets/forestry/blockstates/beehive_meadows.json deleted file mode 100644 index a6732efeb..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_meadows.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/meadows" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_savanna.json b/src/main/resources/assets/forestry/blockstates/beehive_savanna.json deleted file mode 100644 index 968f620ef..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_savanna.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/savanna" - } - } -} diff --git a/src/main/resources/assets/forestry/blockstates/beehive_snow.json b/src/main/resources/assets/forestry/blockstates/beehive_snow.json deleted file mode 100644 index 6d5e73165..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_snow.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/snow" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_swamp.json b/src/main/resources/assets/forestry/blockstates/beehive_swamp.json deleted file mode 100644 index c25c690b0..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_swamp.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/swamp" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehive_swarm.json b/src/main/resources/assets/forestry/blockstates/beehive_swarm.json deleted file mode 100644 index e8735d914..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehive_swarm.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "forestry:block/beehives/swarm" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/forestry/blockstates/beehives.json b/src/main/resources/assets/forestry/blockstates/beehives.json deleted file mode 100644 index a23d5f240..000000000 --- a/src/main/resources/assets/forestry/blockstates/beehives.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "hive=forest": { - "model": "forestry:block/beehives/forest" - }, - "hive=meadows": { - "model": "forestry:block/beehives/meadows" - }, - "hive=desert": { - "model": "forestry:block/beehives/desert" - }, - "hive=jungle": { - "model": "forestry:block/beehives/jungle" - }, - "hive=end": { - "model": "forestry:block/beehives/end" - }, - "hive=snow": { - "model": "forestry:block/beehives/snow" - }, - "hive=swamp": { - "model": "forestry:block/beehives/swamp" - }, - "hive=swarm": { - "model": "forestry:block/beehives/swarm" - } - } -} diff --git a/src/main/resources/assets/forestry/lang/en_us.json b/src/main/resources/assets/forestry/lang/en_us.json index 7e3480e68..c294e2289 100644 --- a/src/main/resources/assets/forestry/lang/en_us.json +++ b/src/main/resources/assets/forestry/lang/en_us.json @@ -1092,6 +1092,7 @@ "block.forestry.beehive_swamp": "Marshy Hive", "block.forestry.beehive_savanna": "Savanna Hive", "block.forestry.beehive_swarm": "Swarm Hive", + "block.forestry.beehive_lush": "Lush Hive", "block.forestry.candle_wall": "Candle", "block.forestry.candle": "Candle", "block.forestry.candle.stump": "Unlit Candle", diff --git a/src/main/resources/assets/forestry/models/block/beehives/desert.json b/src/main/resources/assets/forestry/models/block/beehives/desert.json deleted file mode 100644 index 5b0500a26..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/desert.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/desert.side", - "down": "forestry:block/beehives/desert.top", - "up": "forestry:block/beehives/desert.top", - "north": "forestry:block/beehives/desert.side", - "east": "forestry:block/beehives/desert.side", - "south": "forestry:block/beehives/desert.side", - "west": "forestry:block/beehives/desert.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/end.json b/src/main/resources/assets/forestry/models/block/beehives/end.json deleted file mode 100644 index 983300a0e..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/end.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/end.side", - "down": "forestry:block/beehives/end.top", - "up": "forestry:block/beehives/end.top", - "north": "forestry:block/beehives/end.side", - "east": "forestry:block/beehives/end.side", - "south": "forestry:block/beehives/end.side", - "west": "forestry:block/beehives/end.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/forest.json b/src/main/resources/assets/forestry/models/block/beehives/forest.json deleted file mode 100644 index 83f2fbc23..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/forest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/forest.side", - "down": "forestry:block/beehives/forest.top", - "up": "forestry:block/beehives/forest.top", - "north": "forestry:block/beehives/forest.side", - "east": "forestry:block/beehives/forest.side", - "south": "forestry:block/beehives/forest.side", - "west": "forestry:block/beehives/forest.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/jungle.json b/src/main/resources/assets/forestry/models/block/beehives/jungle.json deleted file mode 100644 index 796e9bbff..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/jungle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/jungle.side", - "down": "forestry:block/beehives/jungle.top", - "up": "forestry:block/beehives/jungle.top", - "north": "forestry:block/beehives/jungle.side", - "east": "forestry:block/beehives/jungle.side", - "south": "forestry:block/beehives/jungle.side", - "west": "forestry:block/beehives/jungle.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/meadows.json b/src/main/resources/assets/forestry/models/block/beehives/meadows.json deleted file mode 100644 index 6c5018a82..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/meadows.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/meadows.side", - "down": "forestry:block/beehives/meadows.top", - "up": "forestry:block/beehives/meadows.top", - "north": "forestry:block/beehives/meadows.side", - "east": "forestry:block/beehives/meadows.side", - "south": "forestry:block/beehives/meadows.side", - "west": "forestry:block/beehives/meadows.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/savanna.json b/src/main/resources/assets/forestry/models/block/beehives/savanna.json deleted file mode 100644 index e21886991..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/savanna.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/savanna.side", - "down": "forestry:block/beehives/savanna.top", - "up": "forestry:block/beehives/savanna.top", - "north": "forestry:block/beehives/savanna.side", - "east": "forestry:block/beehives/savanna.side", - "south": "forestry:block/beehives/savanna.side", - "west": "forestry:block/beehives/savanna.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/snow.json b/src/main/resources/assets/forestry/models/block/beehives/snow.json deleted file mode 100644 index 9eb26d4e5..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/snow.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/snow.side", - "down": "forestry:block/beehives/snow.top", - "up": "forestry:block/beehives/snow.top", - "north": "forestry:block/beehives/snow.side", - "east": "forestry:block/beehives/snow.side", - "south": "forestry:block/beehives/snow.side", - "west": "forestry:block/beehives/snow.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/swamp.json b/src/main/resources/assets/forestry/models/block/beehives/swamp.json deleted file mode 100644 index eb5bb7735..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/swamp.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/swamp.side", - "down": "forestry:block/beehives/swamp.top", - "up": "forestry:block/beehives/swamp.top", - "north": "forestry:block/beehives/swamp.side", - "east": "forestry:block/beehives/swamp.side", - "south": "forestry:block/beehives/swamp.side", - "west": "forestry:block/beehives/swamp.side" - } -} diff --git a/src/main/resources/assets/forestry/models/block/beehives/swarm.json b/src/main/resources/assets/forestry/models/block/beehives/swarm.json deleted file mode 100644 index 2d4f08ca1..000000000 --- a/src/main/resources/assets/forestry/models/block/beehives/swarm.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "particle": "forestry:block/beehives/swarm.side", - "down": "forestry:block/beehives/swarm.top", - "up": "forestry:block/beehives/swarm.top", - "north": "forestry:block/beehives/swarm.side", - "east": "forestry:block/beehives/swarm.side", - "south": "forestry:block/beehives/swarm.side", - "west": "forestry:block/beehives/swarm.side" - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_desert.json b/src/main/resources/assets/forestry/models/item/beehive_desert.json deleted file mode 100644 index 11dc8e280..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_desert.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/desert", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_end.json b/src/main/resources/assets/forestry/models/item/beehive_end.json deleted file mode 100644 index af745d491..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_end.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/end", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_forest.json b/src/main/resources/assets/forestry/models/item/beehive_forest.json deleted file mode 100644 index 2bcfe0f88..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_forest.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/forest", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_jungle.json b/src/main/resources/assets/forestry/models/item/beehive_jungle.json deleted file mode 100644 index 09327124f..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_jungle.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/jungle", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_meadows.json b/src/main/resources/assets/forestry/models/item/beehive_meadows.json deleted file mode 100644 index 1594b0225..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_meadows.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/meadows", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_savanna.json b/src/main/resources/assets/forestry/models/item/beehive_savanna.json deleted file mode 100644 index 0e67afb2d..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_savanna.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/savanna", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_snow.json b/src/main/resources/assets/forestry/models/item/beehive_snow.json deleted file mode 100644 index 20be3b242..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_snow.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/snow", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_swamp.json b/src/main/resources/assets/forestry/models/item/beehive_swamp.json deleted file mode 100644 index ce79dacc0..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_swamp.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/swamp", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/models/item/beehive_swarm.json b/src/main/resources/assets/forestry/models/item/beehive_swarm.json deleted file mode 100644 index 308c3a167..000000000 --- a/src/main/resources/assets/forestry/models/item/beehive_swarm.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "forestry:block/beehives/swarm", - "display": { - "thirdperson": { - "rotation": [ - 10, - -45, - 170 - ], - "translation": [ - 0, - 1.5, - -2.75 - ], - "scale": [ - 0.375, - 0.375, - 0.375 - ] - } - } -} diff --git a/src/main/resources/assets/forestry/textures/block/beehives/lush.bottom.png b/src/main/resources/assets/forestry/textures/block/beehives/lush.bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c59a3eae87df65d56abdf66de813a1e9a80e59ed GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFi*=nx2hdH<@IePUtK9!U=f=Ml;SM#h%9Dc;5!7ujG`J|4M0JO z64!{5;QX|b^2DN4hJeJ(yb?V>*AN9$JwrXC-+P$10o80vjqptK^weVD0CHFvq!?Kl z7=bJ=AeM%*LGIFEWCn{f0ojI(Okjsc0oj@DEMW00AR7cel`%5B0Qv_;qgl!Tl$yZK zzyefhU}S8-xBy}*$VS!$5R;|=*&x6KG?xjiGRV>b$b#xJG%x_k_E{eczbwAT56DdQ zba4!kxGdUxQSg8QhjVag!y@j8TZ~^~4t(D9--oxxmV;j)RqM*uX}_%lJ>}~7U$Grw z+U4YU=}Xpg$7c*u>YwB?U8a}&+s>6^kYo(DR!umm?|ev4XVWdk{S_DQOx?L|*4>7i Y{D&k2wsZY{rvb9u)78&qol`;+09e;@K>z>% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/forestry/textures/block/beehives/lush.side.png b/src/main/resources/assets/forestry/textures/block/beehives/lush.side.png new file mode 100644 index 0000000000000000000000000000000000000000..e587f23b59e807bf50474253c090b2d5ac4e9a94 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFbhSGfq9F$oSE#X|L{24o#ME@RZlLm6TTI6BOfo zd#n1@m4ZK(6J`T7au#?*7BevL9RguSQ4OyKprAyFYeY$Kep*R+Vo@qXKw@TIiJqTp zh=Qq}p`Ow2J+8?oyLpbH zZ-eX!i^y{Z#aBrK(-+x6W9k)Kz3$33s^i0$OeG~AO`7&(P)-3 z0R23Hoq+|Y!obMbfN=rDRFDqV1rU>_0NEhG1T=>UtTM>b0?2~uGBhv%$-cb$&EnLp zoGKu*-P6S}MB*}U_eQ=$3KDGl#dJ1vUYojd-P&buySfa_6$^9U#K%Y)?Aezy{f?|w z=+`~z%D3hebKGz7)3W1z-S=+S3~B3i8OH*a+&8H82w$f-XJVGJoS?Ya?JsqI6>g-R zjB2tFwBOQW@LOYRFzc(BI=P2zdkfTrpLL!NeW%K|aEHT%59cp_`EFm)E-#XF*GLTH NJWp3Ymvv4FO#tN`gAV`z literal 0 HcmV?d00001