diff --git a/src/main/java/org/betterx/betterend/registry/EndTags.java b/src/main/java/org/betterx/betterend/registry/EndTags.java index 71b6080b..7a8e64c7 100644 --- a/src/main/java/org/betterx/betterend/registry/EndTags.java +++ b/src/main/java/org/betterx/betterend/registry/EndTags.java @@ -39,6 +39,16 @@ public class EndTags { "bonemeal/target/dragon_bone" ); + public static final TagKey BONEMEAL_SOURCE_WATER_GRASS = TagManager.BLOCKS.makeTag( + BetterEnd.MOD_ID, + "bonemeal/source/water_grass" + ); + + public static final TagKey BONEMEAL_TARGET_WATER_GRASS = TagManager.BLOCKS.makeTag( + BetterEnd.MOD_ID, + "bonemeal/target/water_grass" + ); + public static void register() { addEndGround(EndBlocks.THALLASIUM.ore); addEndGround(EndBlocks.ENDSTONE_DUST); @@ -82,6 +92,8 @@ public class EndTags { TagManager.ITEMS.add(ALLOYING_COPPER, Items.COPPER_ORE, Items.DEEPSLATE_COPPER_ORE, Items.RAW_COPPER); TagManager.ITEMS.add(ItemTags.FISHES, EndItems.END_FISH_RAW, EndItems.END_FISH_COOKED); + + TagManager.BLOCKS.addOtherTags(BONEMEAL_TARGET_WATER_GRASS, CommonBlockTags.END_STONES); } public static void addEndGround(Block bl) { diff --git a/src/main/java/org/betterx/betterend/util/BonemealPlants.java b/src/main/java/org/betterx/betterend/util/BonemealPlants.java index e2645fa5..05a41f8a 100644 --- a/src/main/java/org/betterx/betterend/util/BonemealPlants.java +++ b/src/main/java/org/betterx/betterend/util/BonemealPlants.java @@ -1,80 +1,77 @@ package org.betterx.betterend.util; -import org.betterx.bclib.api.v2.BonemealAPI; -import org.betterx.betterend.blocks.basis.EndTerrainBlock; +import org.betterx.bclib.api.v3.bonemeal.BonemealAPI; +import org.betterx.bclib.api.v3.bonemeal.WaterGrassSpreader; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndFeatures; +import org.betterx.betterend.registry.EndTags; +import org.betterx.worlds.together.tag.v3.TagManager; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; - -import com.google.common.collect.Lists; - -import java.util.List; public class BonemealPlants { public static void init() { - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.END_MOSS, EndFeatures.BONEMEAL_END_MOSS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.RUTISCUS, EndFeatures.BONEMEAL_RUTISCUS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.END_MYCELIUM, EndFeatures.BONEMEAL_END_MYCELIUM ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.JUNGLE_MOSS, EndFeatures.BONEMEAL_JUNGLE_MOSS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.SANGNUM, EndFeatures.BONEMEAL_SANGNUM ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.MOSSY_OBSIDIAN, EndFeatures.BONEMEAL_MOSSY_OBSIDIAN ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.MOSSY_DRAGON_BONE, EndFeatures.BONEMEAL_MOSSY_DRAGON_BONE ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.CAVE_MOSS, EndFeatures.BONEMEAL_CAVE_MOSS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.CHORUS_NYLIUM, EndFeatures.BONEMEAL_CHORUS_NYLIUM ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.CRYSTAL_MOSS, EndFeatures.BONEMEAL_CRYSTAL_MOSS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.SHADOW_GRASS, EndFeatures.BONEMEAL_SHADOW_GRASS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.PINK_MOSS, EndFeatures.BONEMEAL_PINK_MOSS ); - org.betterx.bclib.api.v3.bonemeal.BonemealAPI.INSTANCE.addSpreadableFeatures( + BonemealAPI.INSTANCE.addSpreadableFeatures( EndBlocks.AMBER_MOSS, EndFeatures.BONEMEAL_AMBER_MOSS ); @@ -172,25 +169,36 @@ public class BonemealPlants { EndBlocks.CHARNIA_PURPLE, EndBlocks.CHARNIA_RED }; - List terrain = Lists.newArrayList(); - EndBlocks.getModBlocks().forEach(block -> { - if (block instanceof EndTerrainBlock) { - terrain.add(block); - } - }); - terrain.add(Blocks.END_STONE); - terrain.add(EndBlocks.ENDSTONE_DUST); - terrain.add(EndBlocks.CAVE_MOSS); - terrain.add(EndBlocks.SULPHURIC_ROCK.stone); - terrain.add(EndBlocks.VIOLECITE.stone); - terrain.add(EndBlocks.FLAVOLITE.stone); - terrain.add(EndBlocks.AZURE_JADESTONE.stone); - terrain.add(EndBlocks.VIRID_JADESTONE.stone); - terrain.add(EndBlocks.SANDY_JADESTONE.stone); - terrain.add(EndBlocks.BRIMSTONE); - Block[] terrainBlocks = terrain.toArray(new Block[terrain.size()]); +// List terrain = Lists.newArrayList(); +// EndBlocks.getModBlocks().forEach(block -> { +// if (block instanceof EndTerrainBlock) { +// terrain.add(block); +// } +// }); +// terrain.add(Blocks.END_STONE); +// terrain.add(EndBlocks.ENDSTONE_DUST); +// terrain.add(EndBlocks.CAVE_MOSS); +// terrain.add(EndBlocks.SULPHURIC_ROCK.stone); +// terrain.add(EndBlocks.VIOLECITE.stone); +// terrain.add(EndBlocks.FLAVOLITE.stone); +// terrain.add(EndBlocks.AZURE_JADESTONE.stone); +// terrain.add(EndBlocks.VIRID_JADESTONE.stone); +// terrain.add(EndBlocks.SANDY_JADESTONE.stone); +// terrain.add(EndBlocks.BRIMSTONE); +// Block[] terrainBlocks = terrain.toArray(new Block[terrain.size()]); for (Block charnia : charnias) { - BonemealAPI.addWaterGrass(charnia, terrainBlocks); + TagManager.BLOCKS.add(EndTags.BONEMEAL_SOURCE_WATER_GRASS, charnia); + //BonemealAPI.addWaterGrass(charnia, terrainBlocks); } + + BonemealAPI.INSTANCE.addSpreadableBlocks( + EndTags.BONEMEAL_TARGET_WATER_GRASS, + new WaterGrassSpreader(EndTags.BONEMEAL_SOURCE_WATER_GRASS) + ); + + BonemealAPI.INSTANCE.addSpreadableBlocks( + EndTags.BONEMEAL_TARGET_DRAGON_BONE, + EndTags.BONEMEAL_SOURCE_DRAGON_BONE + ); } }