diff --git a/src/main/java/ru/betterend/blocks/BlockDragonTreeSapling.java b/src/main/java/ru/betterend/blocks/BlockDragonTreeSapling.java index 0e5e9985..fe2d405c 100644 --- a/src/main/java/ru/betterend/blocks/BlockDragonTreeSapling.java +++ b/src/main/java/ru/betterend/blocks/BlockDragonTreeSapling.java @@ -1,7 +1,11 @@ package ru.betterend.blocks; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; import net.minecraft.world.gen.feature.Feature; import ru.betterend.blocks.basis.BlockFeatureSapling; +import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; public class BlockDragonTreeSapling extends BlockFeatureSapling { @@ -13,4 +17,9 @@ public class BlockDragonTreeSapling extends BlockFeatureSapling { protected Feature getFeature() { return EndFeatures.DRAGON_TREE.getFeature(); } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return world.getBlockState(pos.down()).isOf(EndBlocks.SHADOW_GRASS); + } } diff --git a/src/main/java/ru/betterend/blocks/BlockLacugroveSapling.java b/src/main/java/ru/betterend/blocks/BlockLacugroveSapling.java index ed3d3fc4..95fb5e9f 100644 --- a/src/main/java/ru/betterend/blocks/BlockLacugroveSapling.java +++ b/src/main/java/ru/betterend/blocks/BlockLacugroveSapling.java @@ -1,7 +1,11 @@ package ru.betterend.blocks; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; import net.minecraft.world.gen.feature.Feature; import ru.betterend.blocks.basis.BlockFeatureSapling; +import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; public class BlockLacugroveSapling extends BlockFeatureSapling { @@ -13,4 +17,9 @@ public class BlockLacugroveSapling extends BlockFeatureSapling { protected Feature getFeature() { return EndFeatures.LACUGROVE.getFeature(); } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return world.getBlockState(pos.down()).isOf(EndBlocks.END_MOSS) || world.getBlockState(pos.down()).isOf(EndBlocks.ENDSTONE_DUST); + } } diff --git a/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java b/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java index be6b200d..0a287ab4 100644 --- a/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java +++ b/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java @@ -1,7 +1,11 @@ package ru.betterend.blocks; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; import net.minecraft.world.gen.feature.Feature; import ru.betterend.blocks.basis.BlockFeatureSapling; +import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; public class BlockMossyGlowshroomSapling extends BlockFeatureSapling { @@ -13,4 +17,9 @@ public class BlockMossyGlowshroomSapling extends BlockFeatureSapling { protected Feature getFeature() { return EndFeatures.MOSSY_GLOWSHROOM.getFeature(); } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return world.getBlockState(pos.down()).isOf(EndBlocks.END_MOSS) || world.getBlockState(pos.down()).isOf(EndBlocks.END_MYCELIUM); + } } diff --git a/src/main/java/ru/betterend/blocks/BlockPythadendronSapling.java b/src/main/java/ru/betterend/blocks/BlockPythadendronSapling.java index d9af34fa..cdb301ad 100644 --- a/src/main/java/ru/betterend/blocks/BlockPythadendronSapling.java +++ b/src/main/java/ru/betterend/blocks/BlockPythadendronSapling.java @@ -1,7 +1,11 @@ package ru.betterend.blocks; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; import net.minecraft.world.gen.feature.Feature; import ru.betterend.blocks.basis.BlockFeatureSapling; +import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; public class BlockPythadendronSapling extends BlockFeatureSapling { @@ -13,4 +17,9 @@ public class BlockPythadendronSapling extends BlockFeatureSapling { protected Feature getFeature() { return EndFeatures.PYTHADENDRON_TREE.getFeature(); } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return world.getBlockState(pos.down()).isOf(EndBlocks.CHORUS_NYLIUM); + } } diff --git a/src/main/java/ru/betterend/recipe/CraftingRecipes.java b/src/main/java/ru/betterend/recipe/CraftingRecipes.java index f84d6694..6c67d8fa 100644 --- a/src/main/java/ru/betterend/recipe/CraftingRecipes.java +++ b/src/main/java/ru/betterend/recipe/CraftingRecipes.java @@ -91,6 +91,7 @@ public class CraftingRecipes { GridRecipe.make("paper", Items.PAPER).setShape("###").addMaterial('#', EndItems.END_LILY_LEAF_DRIED).setOutputCount(3).build(); GridRecipe.make("aurora_block", EndBlocks.AURORA_CRYSTAL).setShape("##", "##").addMaterial('#', EndItems.CRYSTAL_SHARDS).build(); + GridRecipe.make("lotus_block", EndBlocks.END_LOTUS.log).setShape("##", "##").addMaterial('#', EndBlocks.END_LOTUS_STEM).build(); } public static void registerPedestal(String name, Block pedestal, Block slab, Block pillar) {