diff --git a/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java b/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java index 4a8ad413..b435489f 100644 --- a/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java +++ b/src/main/java/ru/betterend/blocks/BlockMossyGlowshroomSapling.java @@ -1,10 +1,16 @@ package ru.betterend.blocks; +import net.minecraft.world.gen.feature.Feature; import ru.betterend.blocks.basis.BlockFeatureSapling; import ru.betterend.registry.FeatureRegistry; public class BlockMossyGlowshroomSapling extends BlockFeatureSapling { public BlockMossyGlowshroomSapling() { - super(FeatureRegistry.MOSSY_GLOWSHROOM, 7); + super(7); + } + + @Override + protected Feature getFeature() { + return FeatureRegistry.MOSSY_GLOWSHROOM.getFeature(); } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java b/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java index 689efeb4..85a29aa6 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java @@ -18,29 +18,25 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldView; -import net.minecraft.world.gen.feature.DefaultFeatureConfig; import net.minecraft.world.gen.feature.Feature; import ru.betterend.client.ERenderLayer; import ru.betterend.client.IRenderTypeable; import ru.betterend.registry.BlockTagRegistry; import ru.betterend.util.BlocksHelper; -import ru.betterend.world.features.EndFeature; -public class BlockFeatureSapling extends BlockBaseNotFull implements Fertilizable, IRenderTypeable { +public abstract class BlockFeatureSapling extends BlockBaseNotFull implements Fertilizable, IRenderTypeable { private static final VoxelShape SHAPE = Block.createCuboidShape(4, 2, 4, 12, 16, 12); - private final EndFeature feature; - public BlockFeatureSapling(EndFeature feature) { + public BlockFeatureSapling() { super(FabricBlockSettings.of(Material.PLANT) .breakByHand(true) .collidable(false) .breakInstantly() .sounds(BlockSoundGroup.GRASS) .ticksRandomly()); - this.feature = feature; } - public BlockFeatureSapling(EndFeature feature, int light) { + public BlockFeatureSapling(int light) { super(FabricBlockSettings.of(Material.PLANT) .breakByHand(true) .collidable(false) @@ -48,8 +44,9 @@ public class BlockFeatureSapling extends BlockBaseNotFull implements Fertilizabl .sounds(BlockSoundGroup.GRASS) .lightLevel(light) .ticksRandomly()); - this.feature = feature; } + + protected abstract Feature getFeature(); @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) { @@ -81,10 +78,8 @@ public class BlockFeatureSapling extends BlockBaseNotFull implements Fertilizabl @Override public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state) { - BlocksHelper.setWithoutUpdate(world, pos, Blocks.AIR.getDefaultState()); - @SuppressWarnings("unchecked") - Feature defFeature = (Feature) feature.getFeature(); - defFeature.generate(world, world.getChunkManager().getChunkGenerator(), random, pos, DefaultFeatureConfig.INSTANCE); + BlocksHelper.setWithoutUpdate(world, pos, Blocks.AIR.getDefaultState()); + getFeature().generate(world, world.getChunkManager().getChunkGenerator(), random, pos, null); } @Override diff --git a/src/main/java/ru/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java b/src/main/java/ru/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java index 22d3a4bc..f7bed484 100644 --- a/src/main/java/ru/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java +++ b/src/main/java/ru/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java @@ -8,7 +8,6 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; - import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.recipebook.BlastFurnaceRecipeBookScreen; @@ -19,7 +18,6 @@ import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.Recipe; import net.minecraft.screen.slot.Slot; import net.minecraft.util.collection.DefaultedList; - import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; @Environment(EnvType.CLIENT) diff --git a/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java b/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java index b9612d06..63c7d6c9 100644 --- a/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java +++ b/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java @@ -3,7 +3,6 @@ package ru.betterend.client.gui; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; - import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.inventory.Inventory; @@ -20,7 +19,6 @@ import net.minecraft.screen.ScreenHandlerType; import net.minecraft.screen.slot.Slot; import net.minecraft.util.Identifier; import net.minecraft.world.World; - import ru.betterend.BetterEnd; import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; diff --git a/src/main/java/ru/betterend/mixin/common/DefaultBiomeCreatorMixin.java b/src/main/java/ru/betterend/mixin/common/DefaultBiomeCreatorMixin.java index 91827fa3..b8eb8797 100644 --- a/src/main/java/ru/betterend/mixin/common/DefaultBiomeCreatorMixin.java +++ b/src/main/java/ru/betterend/mixin/common/DefaultBiomeCreatorMixin.java @@ -8,9 +8,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.DefaultBiomeCreator; import net.minecraft.world.biome.GenerationSettings; -import net.minecraft.world.gen.GenerationStep; - -import ru.betterend.registry.FeatureRegistry; @Mixin(DefaultBiomeCreator.class) public abstract class DefaultBiomeCreatorMixin { diff --git a/src/main/java/ru/betterend/world/features/EndFeature.java b/src/main/java/ru/betterend/world/features/EndFeature.java index 17002cb2..21d0b3d6 100644 --- a/src/main/java/ru/betterend/world/features/EndFeature.java +++ b/src/main/java/ru/betterend/world/features/EndFeature.java @@ -6,7 +6,6 @@ import net.minecraft.structure.rule.BlockMatchRuleTest; import net.minecraft.util.Identifier; import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.Registry; - import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.decorator.ChanceDecoratorConfig; import net.minecraft.world.gen.decorator.Decorator;