diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index dc4c5890..8574e10e 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -21,10 +21,8 @@ import ru.betterend.recipe.InfusionRecipes; import ru.betterend.recipe.SmithingRecipes; import ru.betterend.registry.EndBiomes; import ru.betterend.registry.EndBlockEntities; -import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndEntities; import ru.betterend.registry.EndFeatures; -import ru.betterend.registry.EndItems; import ru.betterend.registry.EndPortals; import ru.betterend.registry.EndSounds; import ru.betterend.registry.EndStructures; diff --git a/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java b/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java index 03e52112..9581b061 100644 --- a/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java +++ b/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java @@ -15,11 +15,11 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndParticles; -import ru.betterend.util.BlocksHelper; public class AncientEmeraldIceBlock extends BlockBase { public AncientEmeraldIceBlock() { diff --git a/src/main/java/ru/betterend/blocks/BlockProperties.java b/src/main/java/ru/betterend/blocks/BlockProperties.java index 12bc9343..4749f567 100644 --- a/src/main/java/ru/betterend/blocks/BlockProperties.java +++ b/src/main/java/ru/betterend/blocks/BlockProperties.java @@ -20,6 +20,7 @@ public class BlockProperties { public static final BooleanProperty NATURAL = BooleanProperty.create("natural"); public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); public static final BooleanProperty SMALL = BooleanProperty.create("small"); + public static final BooleanProperty ROOTS = BooleanProperty.create("roots"); public static final IntegerProperty DESTRUCTION_LONG = IntegerProperty.create("destruction", 0, 8); public static final IntegerProperty DESTRUCTION = IntegerProperty.create("destruction", 0, 2); diff --git a/src/main/java/ru/betterend/blocks/BlueVineSeedBlock.java b/src/main/java/ru/betterend/blocks/BlueVineSeedBlock.java index 201b9753..9a486149 100644 --- a/src/main/java/ru/betterend/blocks/BlueVineSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/BlueVineSeedBlock.java @@ -7,12 +7,12 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.EndPlantWithAgeBlock; import ru.betterend.blocks.basis.FurBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class BlueVineSeedBlock extends EndPlantWithAgeBlock { @Override diff --git a/src/main/java/ru/betterend/blocks/BrimstoneBlock.java b/src/main/java/ru/betterend/blocks/BrimstoneBlock.java index 92e34923..609b1702 100644 --- a/src/main/java/ru/betterend/blocks/BrimstoneBlock.java +++ b/src/main/java/ru/betterend/blocks/BrimstoneBlock.java @@ -20,9 +20,9 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class BrimstoneBlock extends BlockBase { public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE; diff --git a/src/main/java/ru/betterend/blocks/BulbVineLanternColoredBlock.java b/src/main/java/ru/betterend/blocks/BulbVineLanternColoredBlock.java index 3e9b74ba..5d2742f3 100644 --- a/src/main/java/ru/betterend/blocks/BulbVineLanternColoredBlock.java +++ b/src/main/java/ru/betterend/blocks/BulbVineLanternColoredBlock.java @@ -3,9 +3,9 @@ package ru.betterend.blocks; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.ColorUtil; import ru.betterend.interfaces.IColorProvider; -import ru.betterend.util.BlocksHelper; public class BulbVineLanternColoredBlock extends BulbVineLanternBlock implements IColorProvider { public BulbVineLanternColoredBlock(FabricBlockSettings settings) { diff --git a/src/main/java/ru/betterend/blocks/BulbVineSeedBlock.java b/src/main/java/ru/betterend/blocks/BulbVineSeedBlock.java index 8444b7b8..a2dfda71 100644 --- a/src/main/java/ru/betterend/blocks/BulbVineSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/BulbVineSeedBlock.java @@ -8,10 +8,10 @@ import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.EndPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class BulbVineSeedBlock extends EndPlantWithAgeBlock { @Override diff --git a/src/main/java/ru/betterend/blocks/EndLilySeedBlock.java b/src/main/java/ru/betterend/blocks/EndLilySeedBlock.java index 9bcdf0ec..c5cde2b6 100644 --- a/src/main/java/ru/betterend/blocks/EndLilySeedBlock.java +++ b/src/main/java/ru/betterend/blocks/EndLilySeedBlock.java @@ -5,10 +5,10 @@ import java.util.Random; import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.material.Fluids; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.UnderwaterPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class EndLilySeedBlock extends UnderwaterPlantWithAgeBlock { @Override diff --git a/src/main/java/ru/betterend/blocks/EndLotusLeafBlock.java b/src/main/java/ru/betterend/blocks/EndLotusLeafBlock.java index f2167e6a..aa3690a4 100644 --- a/src/main/java/ru/betterend/blocks/EndLotusLeafBlock.java +++ b/src/main/java/ru/betterend/blocks/EndLotusLeafBlock.java @@ -20,12 +20,12 @@ import net.minecraft.world.level.material.Material; import net.minecraft.world.level.material.WaterFluid; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.BlockBaseNotFull; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class EndLotusLeafBlock extends BlockBaseNotFull implements IRenderTypeable { public static final EnumProperty HORIZONTAL_FACING = BlockStateProperties.HORIZONTAL_FACING; diff --git a/src/main/java/ru/betterend/blocks/EndLotusSeedBlock.java b/src/main/java/ru/betterend/blocks/EndLotusSeedBlock.java index b9b8fb4d..8610d2be 100644 --- a/src/main/java/ru/betterend/blocks/EndLotusSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/EndLotusSeedBlock.java @@ -8,10 +8,10 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluids; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.UnderwaterPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class EndLotusSeedBlock extends UnderwaterPlantWithAgeBlock { @Override diff --git a/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java b/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java index f007e202..b7bfe96e 100644 --- a/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java +++ b/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java @@ -25,11 +25,11 @@ import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.util.BlocksHelper; public class EndLotusStemBlock extends BlockBase implements SimpleWaterloggedBlock, IRenderTypeable { public static final EnumProperty FACING = BlockStateProperties.FACING; diff --git a/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java b/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java index 8541e7a9..296363a8 100644 --- a/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java @@ -13,11 +13,11 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.material.Material; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.EndPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class GlowingPillarSeedBlock extends EndPlantWithAgeBlock { public GlowingPillarSeedBlock() { diff --git a/src/main/java/ru/betterend/blocks/HydraluxPetalColoredBlock.java b/src/main/java/ru/betterend/blocks/HydraluxPetalColoredBlock.java index 841a2ffc..11c145df 100644 --- a/src/main/java/ru/betterend/blocks/HydraluxPetalColoredBlock.java +++ b/src/main/java/ru/betterend/blocks/HydraluxPetalColoredBlock.java @@ -11,9 +11,9 @@ import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.state.BlockState; import ru.bclib.client.models.ModelsHelper; +import ru.bclib.util.BlocksHelper; import ru.betterend.client.models.Patterns; import ru.betterend.interfaces.IColorProvider; -import ru.betterend.util.BlocksHelper; public class HydraluxPetalColoredBlock extends HydraluxPetalBlock implements IColorProvider { public HydraluxPetalColoredBlock(FabricBlockSettings settings) { diff --git a/src/main/java/ru/betterend/blocks/HydraluxSaplingBlock.java b/src/main/java/ru/betterend/blocks/HydraluxSaplingBlock.java index 4f5ad3a7..b5a61b28 100644 --- a/src/main/java/ru/betterend/blocks/HydraluxSaplingBlock.java +++ b/src/main/java/ru/betterend/blocks/HydraluxSaplingBlock.java @@ -7,11 +7,11 @@ import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties.HydraluxShape; import ru.betterend.blocks.basis.UnderwaterPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock { @Override diff --git a/src/main/java/ru/betterend/blocks/HydrothermalVentBlock.java b/src/main/java/ru/betterend/blocks/HydrothermalVentBlock.java index e8b39590..0067500a 100644 --- a/src/main/java/ru/betterend/blocks/HydrothermalVentBlock.java +++ b/src/main/java/ru/betterend/blocks/HydrothermalVentBlock.java @@ -36,11 +36,11 @@ import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.BlockBaseNotFull; import ru.betterend.blocks.entities.BlockEntityHydrothermalVent; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndParticles; -import ru.betterend.util.BlocksHelper; public class HydrothermalVentBlock extends BlockBaseNotFull implements EntityBlock, LiquidBlockContainer, SimpleWaterloggedBlock { public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; diff --git a/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java b/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java index 79146e5b..326c9a6e 100644 --- a/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java +++ b/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java @@ -1,6 +1,12 @@ package ru.betterend.blocks; +import java.util.List; +import java.util.Optional; + +import org.jetbrains.annotations.Nullable; + import com.google.common.collect.Lists; + import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; @@ -17,7 +23,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.IntegerProperty; import net.minecraft.world.level.storage.loot.LootContext; -import org.jetbrains.annotations.Nullable; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.util.ColorUtil; @@ -28,9 +33,6 @@ import ru.betterend.interfaces.IColorProvider; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.noise.OpenSimplexNoise; -import java.util.List; -import java.util.Optional; - public class JellyshroomCapBlock extends SlimeBlock implements IRenderTypeable, BlockModelProvider, IColorProvider { public static final IntegerProperty COLOR = BlockProperties.COLOR; private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0); diff --git a/src/main/java/ru/betterend/blocks/LanceleafSeedBlock.java b/src/main/java/ru/betterend/blocks/LanceleafSeedBlock.java index 00dfe657..fcec05ae 100644 --- a/src/main/java/ru/betterend/blocks/LanceleafSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/LanceleafSeedBlock.java @@ -8,11 +8,11 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties.PentaShape; import ru.betterend.blocks.basis.EndPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class LanceleafSeedBlock extends EndPlantWithAgeBlock { @Override diff --git a/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java b/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java index 90d219eb..f7b9c57b 100644 --- a/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java +++ b/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java @@ -19,11 +19,11 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.BlockBaseNotFull; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class MengerSpongeWetBlock extends BlockBaseNotFull implements IRenderTypeable { public MengerSpongeWetBlock() { diff --git a/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java b/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java index 7ee13210..43c66f8c 100644 --- a/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java +++ b/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java @@ -38,6 +38,7 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties.CactusBottom; import ru.betterend.blocks.BlockProperties.TripleShape; @@ -45,7 +46,6 @@ import ru.betterend.blocks.basis.BlockBaseNotFull; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class NeonCactusPlantBlock extends BlockBaseNotFull implements SimpleWaterloggedBlock, IRenderTypeable { public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; diff --git a/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java b/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java index ec669099..d4480df1 100644 --- a/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java +++ b/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java @@ -35,6 +35,7 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.ColorUtil; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.BlockBase; @@ -44,7 +45,6 @@ import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.particle.InfusionParticleType; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; -import ru.betterend.util.BlocksHelper; public class RespawnObeliskBlock extends BlockBase implements IColorProvider, IRenderTypeable { private static final VoxelShape VOXEL_SHAPE_BOTTOM = Block.box(1, 0, 1, 15, 16, 15); diff --git a/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java b/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java index 7936da20..fbbde1c3 100644 --- a/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java +++ b/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java @@ -29,12 +29,12 @@ import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.entity.SilkMothEntity; import ru.betterend.registry.EndEntities; import ru.betterend.registry.EndItems; -import ru.betterend.util.BlocksHelper; public class SilkMothHiveBlock extends BlockBase { public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; diff --git a/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java b/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java index 86606189..e1efd4ed 100644 --- a/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java +++ b/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java @@ -39,6 +39,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.client.render.ERenderLayer; @@ -46,7 +47,6 @@ import ru.betterend.entity.SilkMothEntity; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.registry.EndEntities; import ru.betterend.registry.EndItems; -import ru.betterend.util.BlocksHelper; public class SilkMothNestBlock extends BlockBase implements IRenderTypeable { public static final BooleanProperty ACTIVE = BlockProperties.ACTIVE; diff --git a/src/main/java/ru/betterend/blocks/SmallAmaranitaBlock.java b/src/main/java/ru/betterend/blocks/SmallAmaranitaBlock.java index edb75b91..2bc6059b 100644 --- a/src/main/java/ru/betterend/blocks/SmallAmaranitaBlock.java +++ b/src/main/java/ru/betterend/blocks/SmallAmaranitaBlock.java @@ -12,10 +12,10 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.EndPlantBlock; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; -import ru.betterend.util.BlocksHelper; public class SmallAmaranitaBlock extends EndPlantBlock { private static final VoxelShape SHAPE = Block.box(4, 0, 4, 12, 10, 12); diff --git a/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java b/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java index 20fffd86..85cb3a25 100644 --- a/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java +++ b/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java @@ -30,11 +30,11 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.AttachedBlock; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.registry.EndFeatures; -import ru.betterend.util.BlocksHelper; public class SmallJellyshroomBlock extends AttachedBlock implements IRenderTypeable, BonemealableBlock { private static final EnumMap BOUNDING_SHAPES = Maps.newEnumMap(Direction.class); diff --git a/src/main/java/ru/betterend/blocks/TwistedUmbrellaMossBlock.java b/src/main/java/ru/betterend/blocks/TwistedUmbrellaMossBlock.java index 08fe2dbf..754626e3 100644 --- a/src/main/java/ru/betterend/blocks/TwistedUmbrellaMossBlock.java +++ b/src/main/java/ru/betterend/blocks/TwistedUmbrellaMossBlock.java @@ -9,10 +9,10 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.DoublePlantBlock; import ru.betterend.blocks.basis.EndPlantBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class TwistedUmbrellaMossBlock extends EndPlantBlock { public TwistedUmbrellaMossBlock() { diff --git a/src/main/java/ru/betterend/blocks/UmbrellaMossBlock.java b/src/main/java/ru/betterend/blocks/UmbrellaMossBlock.java index e9fb7790..7311d30f 100644 --- a/src/main/java/ru/betterend/blocks/UmbrellaMossBlock.java +++ b/src/main/java/ru/betterend/blocks/UmbrellaMossBlock.java @@ -9,10 +9,10 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.DoublePlantBlock; import ru.betterend.blocks.basis.EndPlantBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class UmbrellaMossBlock extends EndPlantBlock { public UmbrellaMossBlock() { diff --git a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java index 2565ca21..48c55a8c 100644 --- a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java +++ b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java @@ -17,10 +17,10 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.material.MaterialColor; import net.minecraft.world.phys.BlockHitResult; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; -import ru.betterend.util.BlocksHelper; public class UmbrellaTreeClusterBlock extends BlockBase { public static final BooleanProperty NATURAL = BlockProperties.NATURAL; diff --git a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java index a8805689..aa1ce7cf 100644 --- a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java +++ b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java @@ -11,9 +11,9 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class UmbrellaTreeClusterEmptyBlock extends BlockBase { public static final BooleanProperty NATURAL = BlockProperties.NATURAL; diff --git a/src/main/java/ru/betterend/blocks/VentBubbleColumnBlock.java b/src/main/java/ru/betterend/blocks/VentBubbleColumnBlock.java index e01729ef..e58333b7 100644 --- a/src/main/java/ru/betterend/blocks/VentBubbleColumnBlock.java +++ b/src/main/java/ru/betterend/blocks/VentBubbleColumnBlock.java @@ -29,8 +29,8 @@ import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class VentBubbleColumnBlock extends Block implements BucketPickup, LiquidBlockContainer { public VentBubbleColumnBlock() { diff --git a/src/main/java/ru/betterend/blocks/basis/AttachedBlock.java b/src/main/java/ru/betterend/blocks/basis/AttachedBlock.java index 474859ff..6a111b22 100644 --- a/src/main/java/ru/betterend/blocks/basis/AttachedBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/AttachedBlock.java @@ -14,7 +14,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.DirectionProperty; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; public abstract class AttachedBlock extends BlockBaseNotFull { public static final DirectionProperty FACING = BlockStateProperties.FACING; diff --git a/src/main/java/ru/betterend/blocks/basis/DoublePlantBlock.java b/src/main/java/ru/betterend/blocks/basis/DoublePlantBlock.java index 7b2c7948..bf66e266 100644 --- a/src/main/java/ru/betterend/blocks/basis/DoublePlantBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/DoublePlantBlock.java @@ -35,10 +35,10 @@ import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.util.BlocksHelper; public class DoublePlantBlock extends BlockBaseNotFull implements IRenderTypeable, BonemealableBlock { private static final VoxelShape SHAPE = Block.box(4, 2, 4, 12, 16, 12); diff --git a/src/main/java/ru/betterend/blocks/basis/EndCropBlock.java b/src/main/java/ru/betterend/blocks/basis/EndCropBlock.java index d18f937a..983373a7 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndCropBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndCropBlock.java @@ -28,8 +28,8 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; -import ru.betterend.util.BlocksHelper; public class EndCropBlock extends EndPlantBlock { private static final VoxelShape SHAPE = Block.box(2, 0, 2, 14, 14, 14); diff --git a/src/main/java/ru/betterend/blocks/basis/EndLadderBlock.java b/src/main/java/ru/betterend/blocks/basis/EndLadderBlock.java index ec22b239..ba0ad49b 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndLadderBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndLadderBlock.java @@ -31,10 +31,10 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; +import ru.bclib.util.BlocksHelper; import ru.betterend.client.models.Patterns; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.util.BlocksHelper; public class EndLadderBlock extends BlockBaseNotFull implements IRenderTypeable, BlockModelProvider { public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; diff --git a/src/main/java/ru/betterend/blocks/basis/EndPathBlock.java b/src/main/java/ru/betterend/blocks/basis/EndPathBlock.java index 79de1dcf..cab30f36 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndPathBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndPathBlock.java @@ -1,7 +1,6 @@ package ru.betterend.blocks.basis; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; import ru.bclib.blocks.BasePathBlock; public class EndPathBlock extends BasePathBlock { diff --git a/src/main/java/ru/betterend/blocks/basis/EndWallPlantBlock.java b/src/main/java/ru/betterend/blocks/basis/EndWallPlantBlock.java index 69357296..d01cfd5f 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndWallPlantBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndWallPlantBlock.java @@ -26,7 +26,7 @@ import net.minecraft.world.level.block.state.properties.DirectionProperty; import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; public class EndWallPlantBlock extends EndPlantBlock { private static final EnumMap SHAPES = Maps.newEnumMap(ImmutableMap.of( diff --git a/src/main/java/ru/betterend/blocks/basis/VineBlock.java b/src/main/java/ru/betterend/blocks/basis/VineBlock.java index 45875dff..4591d30d 100644 --- a/src/main/java/ru/betterend/blocks/basis/VineBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/VineBlock.java @@ -32,11 +32,11 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.util.BlocksHelper; public class VineBlock extends BlockBaseNotFull implements IRenderTypeable, BonemealableBlock { public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; diff --git a/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java b/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java index 22274872..55b627f9 100644 --- a/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java @@ -12,9 +12,9 @@ import net.minecraft.world.item.DyeItem; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.util.BlocksHelper; import ru.betterend.recipe.builders.GridRecipe; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class ColoredMaterial { private static final Map DYES = Maps.newHashMap(); diff --git a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java index 131b6b52..6c70bf1f 100644 --- a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java @@ -15,15 +15,31 @@ import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.MaterialColor; import ru.bclib.items.ModelProviderItem; -import ru.bclib.items.tool.*; +import ru.bclib.items.tool.BaseAxeItem; +import ru.bclib.items.tool.BaseHoeItem; +import ru.bclib.items.tool.BasePickaxeItem; +import ru.bclib.items.tool.BaseShovelItem; +import ru.bclib.items.tool.BaseSwordItem; import ru.bclib.util.TagHelper; import ru.betterend.blocks.BulbVineLanternBlock; import ru.betterend.blocks.BulbVineLanternColoredBlock; import ru.betterend.blocks.ChandelierBlock; -import ru.betterend.blocks.basis.*; +import ru.betterend.blocks.basis.BlockBase; +import ru.betterend.blocks.basis.EndAnvilBlock; +import ru.betterend.blocks.basis.EndChainBlock; +import ru.betterend.blocks.basis.EndDoorBlock; +import ru.betterend.blocks.basis.EndMetalPaneBlock; +import ru.betterend.blocks.basis.EndSlabBlock; +import ru.betterend.blocks.basis.EndStairsBlock; +import ru.betterend.blocks.basis.EndTrapdoorBlock; +import ru.betterend.blocks.basis.EndWoodenPlateBlock; import ru.betterend.item.EndArmorItem; import ru.betterend.item.tool.EndHammerItem; -import ru.betterend.recipe.builders.*; +import ru.betterend.recipe.builders.AlloyingRecipe; +import ru.betterend.recipe.builders.AnvilRecipe; +import ru.betterend.recipe.builders.FurnaceRecipe; +import ru.betterend.recipe.builders.GridRecipe; +import ru.betterend.recipe.builders.SmithingTableRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; import ru.betterend.registry.EndTags; diff --git a/src/main/java/ru/betterend/blocks/entities/BlockEntityHydrothermalVent.java b/src/main/java/ru/betterend/blocks/entities/BlockEntityHydrothermalVent.java index 48cced23..0d545129 100644 --- a/src/main/java/ru/betterend/blocks/entities/BlockEntityHydrothermalVent.java +++ b/src/main/java/ru/betterend/blocks/entities/BlockEntityHydrothermalVent.java @@ -1,18 +1,14 @@ package ru.betterend.blocks.entities; -import com.mojang.math.Vector3f; -import net.minecraft.core.BlockPos; +import java.util.List; + import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.Vec3i; import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.MoverType; import net.minecraft.world.item.ElytraItem; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.TickableBlockEntity; import net.minecraft.world.level.block.state.BlockState; @@ -24,9 +20,6 @@ import ru.betterend.registry.EndBlockEntities; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndParticles; -import java.util.Comparator; -import java.util.List; - public class BlockEntityHydrothermalVent extends BlockEntity implements TickableBlockEntity { private final static Vec3 POSITIVE_Y = new Vec3(0.0f, 1.0f, 0.0f); diff --git a/src/main/java/ru/betterend/client/BetterEndClient.java b/src/main/java/ru/betterend/client/BetterEndClient.java index c0d601c5..e18c46ab 100644 --- a/src/main/java/ru/betterend/client/BetterEndClient.java +++ b/src/main/java/ru/betterend/client/BetterEndClient.java @@ -1,5 +1,7 @@ package ru.betterend.client; +import java.util.List; + import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.minecraft.ChatFormatting; @@ -10,7 +12,6 @@ import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; import ru.bclib.blocks.BaseChestBlock; import ru.bclib.blocks.BaseSignBlock; import ru.bclib.client.render.BaseChestBlockEntityRenderer; @@ -29,8 +30,6 @@ import ru.betterend.registry.EndModelProviders; import ru.betterend.registry.EndParticles; import ru.betterend.registry.EndScreens; -import java.util.List; - public class BetterEndClient implements ClientModInitializer { @Override public void onInitializeClient() { diff --git a/src/main/java/ru/betterend/client/render/PedestalItemRenderer.java b/src/main/java/ru/betterend/client/render/PedestalItemRenderer.java index c2a18e3c..e66cdee8 100644 --- a/src/main/java/ru/betterend/client/render/PedestalItemRenderer.java +++ b/src/main/java/ru/betterend/client/render/PedestalItemRenderer.java @@ -20,9 +20,6 @@ import net.minecraft.world.level.block.state.BlockState; import ru.betterend.blocks.EternalPedestal; import ru.betterend.blocks.basis.PedestalBlock; import ru.betterend.blocks.entities.PedestalBlockEntity; -import ru.betterend.client.render.BeamRenderer; -import ru.betterend.client.render.EndCrystalRenderer; -import ru.betterend.client.render.EternalCrystalRenderer; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; diff --git a/src/main/java/ru/betterend/entity/DragonflyEntity.java b/src/main/java/ru/betterend/entity/DragonflyEntity.java index 787aedae..63ff1ed3 100644 --- a/src/main/java/ru/betterend/entity/DragonflyEntity.java +++ b/src/main/java/ru/betterend/entity/DragonflyEntity.java @@ -33,10 +33,10 @@ import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.pathfinder.BlockPathTypes; import net.minecraft.world.level.pathfinder.Path; import net.minecraft.world.phys.Vec3; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.registry.EndEntities; import ru.betterend.registry.EndSounds; -import ru.betterend.util.BlocksHelper; public class DragonflyEntity extends Animal implements FlyingAnimal { public DragonflyEntity(EntityType entityType, Level world) { diff --git a/src/main/java/ru/betterend/entity/EndSlimeEntity.java b/src/main/java/ru/betterend/entity/EndSlimeEntity.java index 92e570ce..06486bba 100644 --- a/src/main/java/ru/betterend/entity/EndSlimeEntity.java +++ b/src/main/java/ru/betterend/entity/EndSlimeEntity.java @@ -38,10 +38,10 @@ import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.AABB; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.interfaces.ISlime; import ru.betterend.registry.EndBiomes; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.biome.EndBiome; public class EndSlimeEntity extends Slime { diff --git a/src/main/java/ru/betterend/entity/SilkMothEntity.java b/src/main/java/ru/betterend/entity/SilkMothEntity.java index d41d57b6..c71099dd 100644 --- a/src/main/java/ru/betterend/entity/SilkMothEntity.java +++ b/src/main/java/ru/betterend/entity/SilkMothEntity.java @@ -46,13 +46,13 @@ import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.pathfinder.BlockPathTypes; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.BetterEnd; import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndEntities; import ru.betterend.registry.EndItems; -import ru.betterend.util.BlocksHelper; public class SilkMothEntity extends Animal implements FlyingAnimal { private BlockPos hivePos; diff --git a/src/main/java/ru/betterend/integration/byg/features/GreatNightshadeTreeFeature.java b/src/main/java/ru/betterend/integration/byg/features/GreatNightshadeTreeFeature.java index 8049a382..0a2527ed 100644 --- a/src/main/java/ru/betterend/integration/byg/features/GreatNightshadeTreeFeature.java +++ b/src/main/java/ru/betterend/integration/byg/features/GreatNightshadeTreeFeature.java @@ -25,10 +25,10 @@ import ru.bclib.sdf.operator.SDFFlatWave; import ru.bclib.sdf.operator.SDFSmoothUnion; import ru.bclib.sdf.primitive.SDFCappedCone; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.integration.Integrations; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class GreatNightshadeTreeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java b/src/main/java/ru/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java index 294505a8..e415bb7e 100644 --- a/src/main/java/ru/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java +++ b/src/main/java/ru/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java @@ -25,10 +25,10 @@ import ru.bclib.sdf.operator.SDFFlatWave; import ru.bclib.sdf.operator.SDFSmoothUnion; import ru.bclib.sdf.primitive.SDFCappedCone; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.integration.Integrations; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class NightshadeRedwoodTreeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/mixin/client/BiomeColorsMixin.java b/src/main/java/ru/betterend/mixin/client/BiomeColorsMixin.java index 39a9abc0..e15ed5fe 100644 --- a/src/main/java/ru/betterend/mixin/client/BiomeColorsMixin.java +++ b/src/main/java/ru/betterend/mixin/client/BiomeColorsMixin.java @@ -14,10 +14,10 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.BlockAndTintGetter; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.ColorUtil; import ru.betterend.client.ClientOptions; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; @Mixin(BiomeColors.class) public class BiomeColorsMixin { diff --git a/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java b/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java index adba0f1a..4c65b28b 100644 --- a/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java +++ b/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java @@ -1,10 +1,11 @@ package ru.betterend.mixin.client; -import net.minecraft.client.resources.model.ModelBakery; -import net.minecraft.resources.ResourceLocation; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyVariable; + +import net.minecraft.client.resources.model.ModelBakery; +import net.minecraft.resources.ResourceLocation; import ru.betterend.world.generator.GeneratorOptions; @Mixin(ModelBakery.class) diff --git a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java index 4ebcd077..f6d7d9db 100644 --- a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java @@ -27,8 +27,9 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; +import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.generator.GeneratorOptions; @Mixin(value = ChorusFlowerBlock.class, priority = 100) @@ -61,7 +62,7 @@ public abstract class ChorusFlowerBlockMixin extends Block { if (i < 5) { this.placeGrownFlower(world, up, i + 1); if (GeneratorOptions.changeChorusPlant()) { - BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true).setValue(BlocksHelper.ROOTS, true)); + BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true).setValue(BlockProperties.ROOTS, true)); } else { BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true)); @@ -76,7 +77,7 @@ public abstract class ChorusFlowerBlockMixin extends Block { private static void be_generatePlant(LevelAccessor world, BlockPos pos, Random random, int size, CallbackInfo info) { BlockState state = world.getBlockState(pos); if (GeneratorOptions.changeChorusPlant() && state.is(Blocks.CHORUS_PLANT)) { - BlocksHelper.setWithoutUpdate(world, pos, state.setValue(BlocksHelper.ROOTS, true)); + BlocksHelper.setWithoutUpdate(world, pos, state.setValue(BlockProperties.ROOTS, true)); } } diff --git a/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java index 96de3294..d7dd6332 100644 --- a/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java @@ -21,8 +21,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import ru.bclib.api.TagAPI; +import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.generator.GeneratorOptions; @Mixin(value = ChorusPlantBlock.class, priority = 100) @@ -34,7 +34,7 @@ public abstract class ChorusPlantBlockMixin extends Block { @Inject(method = "*", at = @At("TAIL")) private void beOnInit(BlockBehaviour.Properties settings, CallbackInfo info) { if (GeneratorOptions.changeChorusPlant()) { - this.registerDefaultState(this.defaultBlockState().setValue(BlocksHelper.ROOTS, false)); + this.registerDefaultState(this.defaultBlockState().setValue(BlockProperties.ROOTS, false)); } } @@ -42,7 +42,7 @@ public abstract class ChorusPlantBlockMixin extends Block { private void be_createBlockStateDefinition(StateDefinition.Builder builder, CallbackInfo info) { GeneratorOptions.init(); if (GeneratorOptions.changeChorusPlant()) { - builder.add(BlocksHelper.ROOTS); + builder.add(BlockProperties.ROOTS); } } @@ -53,7 +53,7 @@ public abstract class ChorusPlantBlockMixin extends Block { BlockState plant = info.getReturnValue(); if (ctx.canPlace() && plant.is(Blocks.CHORUS_PLANT) && world.getBlockState(pos.below()).is(TagAPI.END_GROUND)) { if (GeneratorOptions.changeChorusPlant()) { - info.setReturnValue(plant.setValue(BlocksHelper.ROOTS, true).setValue(BlockStateProperties.DOWN, true)); + info.setReturnValue(plant.setValue(BlockProperties.ROOTS, true).setValue(BlockStateProperties.DOWN, true)); } else { info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true)); @@ -71,7 +71,7 @@ public abstract class ChorusPlantBlockMixin extends Block { if (plant.is(Blocks.CHORUS_PLANT)) { if (blockGetter.getBlockState(blockPos.below()).is(TagAPI.END_GROUND)) { if (GeneratorOptions.changeChorusPlant()) { - info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true).setValue(BlocksHelper.ROOTS, true)); + info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true).setValue(BlockProperties.ROOTS, true)); } else { info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true)); @@ -80,7 +80,7 @@ public abstract class ChorusPlantBlockMixin extends Block { } else { if (GeneratorOptions.changeChorusPlant()) { - info.setReturnValue(plant.setValue(BlocksHelper.ROOTS, false)); + info.setReturnValue(plant.setValue(BlockProperties.ROOTS, false)); } info.cancel(); } @@ -102,7 +102,7 @@ public abstract class ChorusPlantBlockMixin extends Block { if (plant.is(Blocks.CHORUS_PLANT)) { if (world.getBlockState(pos.below()).is(TagAPI.END_GROUND)) { if (GeneratorOptions.changeChorusPlant()) { - plant = plant.setValue(BlockStateProperties.DOWN, true).setValue(BlocksHelper.ROOTS, true); + plant = plant.setValue(BlockStateProperties.DOWN, true).setValue(BlockProperties.ROOTS, true); } else { plant = plant.setValue(BlockStateProperties.DOWN, true); @@ -111,7 +111,7 @@ public abstract class ChorusPlantBlockMixin extends Block { } else { if (GeneratorOptions.changeChorusPlant()) { - plant = plant.setValue(BlocksHelper.ROOTS, false); + plant = plant.setValue(BlockProperties.ROOTS, false); } info.cancel(); } diff --git a/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java index f7703b5a..53719554 100644 --- a/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java @@ -16,9 +16,10 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.ChorusPlantFeature; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; +import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.generator.GeneratorOptions; @Mixin(ChorusPlantFeature.class) @@ -30,7 +31,7 @@ public class ChorusPlantFeatureMixin { BlockState bottom = structureWorldAccess.getBlockState(blockPos); if (bottom.is(Blocks.CHORUS_PLANT)) { if ((GeneratorOptions.changeChorusPlant())) { - BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(BlocksHelper.ROOTS, true).setValue(PipeBlock.DOWN, true)); + BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(BlockProperties.ROOTS, true).setValue(PipeBlock.DOWN, true)); } else { BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(PipeBlock.DOWN, true)); diff --git a/src/main/java/ru/betterend/mixin/common/EndDragonFightMixin.java b/src/main/java/ru/betterend/mixin/common/EndDragonFightMixin.java index 43755a47..a4dc5b6a 100644 --- a/src/main/java/ru/betterend/mixin/common/EndDragonFightMixin.java +++ b/src/main/java/ru/betterend/mixin/common/EndDragonFightMixin.java @@ -21,7 +21,7 @@ import net.minecraft.world.level.block.state.pattern.BlockPattern; import net.minecraft.world.level.dimension.end.DragonRespawnAnimation; import net.minecraft.world.level.dimension.end.EndDragonFight; import net.minecraft.world.phys.AABB; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; import ru.betterend.world.generator.GeneratorOptions; @Mixin(EndDragonFight.class) diff --git a/src/main/java/ru/betterend/mixin/common/PlayerMixin.java b/src/main/java/ru/betterend/mixin/common/PlayerMixin.java index 54b6ba39..bfd931d5 100644 --- a/src/main/java/ru/betterend/mixin/common/PlayerMixin.java +++ b/src/main/java/ru/betterend/mixin/common/PlayerMixin.java @@ -20,12 +20,12 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.item.ArmoredElytra; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; @Mixin(Player.class) public abstract class PlayerMixin extends LivingEntity { diff --git a/src/main/java/ru/betterend/mixin/common/SpikeFeatureMixin.java b/src/main/java/ru/betterend/mixin/common/SpikeFeatureMixin.java index 0e11b140..70a75784 100644 --- a/src/main/java/ru/betterend/mixin/common/SpikeFeatureMixin.java +++ b/src/main/java/ru/betterend/mixin/common/SpikeFeatureMixin.java @@ -25,9 +25,9 @@ import net.minecraft.world.level.levelgen.feature.SpikeFeature; import net.minecraft.world.level.levelgen.feature.configurations.SpikeConfiguration; import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.StructureHelper; import ru.betterend.BetterEnd; -import ru.betterend.util.BlocksHelper; import ru.betterend.util.WorldDataUtil; import ru.betterend.world.generator.GeneratorOptions; diff --git a/src/main/java/ru/betterend/registry/EndBlockEntities.java b/src/main/java/ru/betterend/registry/EndBlockEntities.java index 1d42a6dc..6e60409f 100644 --- a/src/main/java/ru/betterend/registry/EndBlockEntities.java +++ b/src/main/java/ru/betterend/registry/EndBlockEntities.java @@ -1,21 +1,21 @@ package ru.betterend.registry; -import com.google.common.collect.Lists; import net.minecraft.core.Registry; import net.minecraft.world.item.BlockItem; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; -import ru.bclib.blocks.BaseChestBlock; import ru.bclib.registry.BaseRegistry; import ru.betterend.BetterEnd; import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EternalPedestal; import ru.betterend.blocks.InfusionPedestal; import ru.betterend.blocks.basis.PedestalBlock; -import ru.betterend.blocks.entities.*; - -import java.util.List; +import ru.betterend.blocks.entities.BlockEntityHydrothermalVent; +import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; +import ru.betterend.blocks.entities.EternalPedestalEntity; +import ru.betterend.blocks.entities.InfusionPedestalEntity; +import ru.betterend.blocks.entities.PedestalBlockEntity; public class EndBlockEntities { public final static BlockEntityType END_STONE_SMELTER = registerBlockEntity(EndStoneSmelter.ID, diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 7d593602..b4cc9091 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -1,20 +1,36 @@ package ru.betterend.registry; +import org.jetbrains.annotations.NotNull; + import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; -import org.jetbrains.annotations.NotNull; -import ru.bclib.blocks.*; +import ru.bclib.blocks.BaseBarrelBlock; +import ru.bclib.blocks.BaseChestBlock; +import ru.bclib.blocks.BaseFurnaceBlock; +import ru.bclib.blocks.BaseSignBlock; import ru.bclib.registry.BaseBlockEntities; import ru.bclib.registry.BlocksRegistry; import ru.betterend.BetterEnd; import ru.betterend.blocks.*; -import ru.betterend.blocks.basis.*; +import ru.betterend.blocks.basis.EndCropBlock; +import ru.betterend.blocks.basis.EndFurnaceBlock; +import ru.betterend.blocks.basis.EndLeavesBlock; +import ru.betterend.blocks.basis.EndOreBlock; +import ru.betterend.blocks.basis.EndPathBlock; +import ru.betterend.blocks.basis.EndPillarBlock; +import ru.betterend.blocks.basis.EndSlabBlock; +import ru.betterend.blocks.basis.EndStairsBlock; +import ru.betterend.blocks.basis.EndTerrainBlock; +import ru.betterend.blocks.basis.EndUnderwaterWallPlantBlock; +import ru.betterend.blocks.basis.EndWallPlantBlock; +import ru.betterend.blocks.basis.FurBlock; import ru.betterend.blocks.basis.SimpleLeavesBlock; import ru.betterend.blocks.basis.StalactiteBlock; +import ru.betterend.blocks.basis.StoneLanternBlock; import ru.betterend.blocks.basis.TripleTerrainBlock; import ru.betterend.blocks.basis.VineBlock; import ru.betterend.blocks.basis.WallMushroomBlock; @@ -28,8 +44,6 @@ import ru.betterend.item.material.EndArmorMaterial; import ru.betterend.item.material.EndToolMaterial; import ru.betterend.tab.CreativeTabs; -import java.util.function.Supplier; - public class EndBlocks extends BlocksRegistry { // Terrain // public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new EndstoneDustBlock()); diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index d8612a45..5ea6c40c 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -1,5 +1,7 @@ package ru.betterend.registry; +import org.jetbrains.annotations.NotNull; + import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; @@ -9,14 +11,29 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.food.Foods; -import net.minecraft.world.item.*; -import org.jetbrains.annotations.NotNull; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.TieredItem; +import net.minecraft.world.item.Tiers; import ru.bclib.items.BaseArmorItem; -import ru.bclib.items.tool.*; +import ru.bclib.items.tool.BaseAxeItem; +import ru.bclib.items.tool.BaseHoeItem; +import ru.bclib.items.tool.BasePickaxeItem; +import ru.bclib.items.tool.BaseShovelItem; +import ru.bclib.items.tool.BaseSwordItem; import ru.bclib.registry.ItemsRegistry; import ru.betterend.BetterEnd; import ru.betterend.config.Configs; -import ru.betterend.item.*; +import ru.betterend.item.ArmoredElytra; +import ru.betterend.item.CrystaliteBoots; +import ru.betterend.item.CrystaliteChestplate; +import ru.betterend.item.CrystaliteHelmet; +import ru.betterend.item.CrystaliteLeggings; +import ru.betterend.item.EnchantedPetalItem; +import ru.betterend.item.EndBucketItem; +import ru.betterend.item.EternalCrystalItem; import ru.betterend.item.material.EndArmorMaterial; import ru.betterend.item.material.EndToolMaterial; import ru.betterend.item.tool.EndHammerItem; diff --git a/src/main/java/ru/betterend/tab/CreativeTabs.java b/src/main/java/ru/betterend/tab/CreativeTabs.java index 92162302..28695cab 100644 --- a/src/main/java/ru/betterend/tab/CreativeTabs.java +++ b/src/main/java/ru/betterend/tab/CreativeTabs.java @@ -1,18 +1,14 @@ package ru.betterend.tab; +import java.util.stream.Collectors; + import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import ru.betterend.BetterEnd; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; -import java.util.stream.Collectors; - public class CreativeTabs { public static final CreativeModeTab TAB_BLOCKS; public static final CreativeModeTab TAB_ITEMS; diff --git a/src/main/java/ru/betterend/util/BlockFixer.java b/src/main/java/ru/betterend/util/BlockFixer.java new file mode 100644 index 00000000..bc73d332 --- /dev/null +++ b/src/main/java/ru/betterend/util/BlockFixer.java @@ -0,0 +1,206 @@ +package ru.betterend.util; + +import java.util.Set; + +import com.google.common.collect.Sets; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FallingBlock; +import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; +import ru.betterend.blocks.BlueVineBlock; +import ru.betterend.blocks.basis.DoublePlantBlock; +import ru.betterend.blocks.basis.FurBlock; +import ru.betterend.blocks.basis.StalactiteBlock; +import ru.betterend.blocks.basis.VineBlock; +import ru.betterend.registry.EndBlocks; + +public class BlockFixer { + private static final MutableBlockPos POS = new MutableBlockPos(); + private static final BlockState AIR = Blocks.AIR.defaultBlockState(); + private static final BlockState WATER = Blocks.WATER.defaultBlockState(); + + public static void fixBlocks(LevelAccessor world, BlockPos start, BlockPos end) { + BlockState state; + Set doubleCheck = Sets.newHashSet(); + for (int x = start.getX(); x <= end.getX(); x++) { + POS.setX(x); + for (int z = start.getZ(); z <= end.getZ(); z++) { + POS.setZ(z); + for (int y = start.getY(); y <= end.getY(); y++) { + POS.setY(y); + state = world.getBlockState(POS); + + if (state.getBlock() instanceof FurBlock) { + doubleCheck.add(POS.immutable()); + } + // Liquids + else if (!state.getFluidState().isEmpty()) { + if (!state.canSurvive(world, POS)) { + BlocksHelper.setWithoutUpdate(world, POS, WATER); + POS.setY(POS.getY() - 1); + state = world.getBlockState(POS); + while (!state.canSurvive(world, POS)) { + state = state.getFluidState().isEmpty() ? AIR : WATER; + BlocksHelper.setWithoutUpdate(world, POS, state); + POS.setY(POS.getY() - 1); + state = world.getBlockState(POS); + } + } + POS.setY(y - 1); + if (world.isEmptyBlock(POS)) { + POS.setY(y); + while (!world.getFluidState(POS).isEmpty()) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() + 1); + } + continue; + } + for (Direction dir : BlocksHelper.HORIZONTAL) { + if (world.isEmptyBlock(POS.relative(dir))) { + world.getLiquidTicks().scheduleTick(POS, state.getFluidState().getType(), 0); + break; + } + } + } + else if (state.is(EndBlocks.SMARAGDANT_CRYSTAL)) { + POS.setY(POS.getY() - 1); + if (world.isEmptyBlock(POS)) { + POS.setY(POS.getY() + 1); + while (state.is(EndBlocks.SMARAGDANT_CRYSTAL)) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() + 1); + state = world.getBlockState(POS); + } + } + } + else if (state.getBlock() instanceof StalactiteBlock) { + if (!state.canSurvive(world, POS)) { + if (world.getBlockState(POS.above()).getBlock() instanceof StalactiteBlock) { + while (state.getBlock() instanceof StalactiteBlock) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() + 1); + state = world.getBlockState(POS); + } + } + else { + while (state.getBlock() instanceof StalactiteBlock) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() - 1); + state = world.getBlockState(POS); + } + } + } + } + else if (state.is(EndBlocks.CAVE_PUMPKIN)) { + if (!world.getBlockState(POS.above()).is(EndBlocks.CAVE_PUMPKIN_SEED)) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + } + } + else if (!state.canSurvive(world, POS)) { + // Chorus + if (state.is(Blocks.CHORUS_PLANT)) { + Set ends = Sets.newHashSet(); + Set add = Sets.newHashSet(); + ends.add(POS.immutable()); + + for (int i = 0; i < 64 && !ends.isEmpty(); i++) { + ends.forEach((pos) -> { + BlocksHelper.setWithoutUpdate(world, pos, AIR); + for (Direction dir : BlocksHelper.HORIZONTAL) { + BlockPos p = pos.relative(dir); + BlockState st = world.getBlockState(p); + if ((st.is(Blocks.CHORUS_PLANT) || st.is(Blocks.CHORUS_FLOWER)) && !st.canSurvive(world, p)) { + add.add(p); + } + } + BlockPos p = pos.above(); + BlockState st = world.getBlockState(p); + if ((st.is(Blocks.CHORUS_PLANT) || st.is(Blocks.CHORUS_FLOWER)) && !st.canSurvive(world, p)) { + add.add(p); + } + }); + ends.clear(); + ends.addAll(add); + add.clear(); + } + } + // Vines + else if (state.getBlock() instanceof VineBlock) { + while (world.getBlockState(POS).getBlock() instanceof VineBlock) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() - 1); + } + } + // Falling blocks + else if (state.getBlock() instanceof FallingBlock) { + BlockState falling = state; + + POS.setY(POS.getY() - 1); + state = world.getBlockState(POS); + + int ray = BlocksHelper.downRayRep(world, POS.immutable(), 64); + if (ray > 32) { + BlocksHelper.setWithoutUpdate(world, POS, Blocks.END_STONE.defaultBlockState()); + if (world.getRandom().nextBoolean()) { + POS.setY(POS.getY() - 1); + state = world.getBlockState(POS); + BlocksHelper.setWithoutUpdate(world, POS, Blocks.END_STONE.defaultBlockState()); + } + } + else { + POS.setY(y); + BlockState replacement = AIR; + for (Direction dir : BlocksHelper.HORIZONTAL) { + state = world.getBlockState(POS.relative(dir)); + if (!state.getFluidState().isEmpty()) { + replacement = state; + break; + } + } + BlocksHelper.setWithoutUpdate(world, POS, replacement); + POS.setY(y - ray); + BlocksHelper.setWithoutUpdate(world, POS, falling); + } + } + // Blocks without support + else { + // Blue Vine + if (state.getBlock() instanceof BlueVineBlock) { + while (state.is(EndBlocks.BLUE_VINE) || state.is(EndBlocks.BLUE_VINE_LANTERN) || state.is(EndBlocks.BLUE_VINE_FUR)) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() + 1); + state = world.getBlockState(POS); + } + } + // Double plants + if (state.getBlock() instanceof DoublePlantBlock) { + BlocksHelper.setWithoutUpdate(world, POS, AIR); + POS.setY(POS.getY() + 1); + BlocksHelper.setWithoutUpdate(world, POS, AIR); + } + // Other blocks + else { + BlocksHelper.setWithoutUpdate(world, POS, getAirOrFluid(state)); + } + } + } + } + } + } + + doubleCheck.forEach((pos) -> { + if (!world.getBlockState(pos).canSurvive(world, pos)) { + BlocksHelper.setWithoutUpdate(world, pos, AIR); + } + }); + } + + private static BlockState getAirOrFluid(BlockState state) { + return state.getFluidState().isEmpty() ? AIR : state.getFluidState().createLegacyBlock(); + } +} diff --git a/src/main/java/ru/betterend/util/BlocksHelper.java b/src/main/java/ru/betterend/util/BlocksHelper.java deleted file mode 100644 index 562522b2..00000000 --- a/src/main/java/ru/betterend/util/BlocksHelper.java +++ /dev/null @@ -1,371 +0,0 @@ -package ru.betterend.util; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Random; -import java.util.Set; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.core.Vec3i; -import net.minecraft.tags.BlockTags; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.FallingBlock; -import net.minecraft.world.level.block.Mirror; -import net.minecraft.world.level.block.Rotation; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.BooleanProperty; -import net.minecraft.world.level.block.state.properties.Property; -import ru.bclib.api.TagAPI; -import ru.betterend.blocks.BlueVineBlock; -import ru.betterend.blocks.basis.DoublePlantBlock; -import ru.betterend.blocks.basis.FurBlock; -import ru.betterend.blocks.basis.StalactiteBlock; -import ru.betterend.blocks.basis.VineBlock; -import ru.betterend.registry.EndBlocks; - -public class BlocksHelper { - public static final BooleanProperty ROOTS = BooleanProperty.create("roots"); - private static final Map COLOR_BY_BLOCK = Maps.newHashMap(); - - public static final int FLAG_UPDATE_BLOCK = 1; - public static final int FLAG_SEND_CLIENT_CHANGES = 2; - public static final int FLAG_NO_RERENDER = 4; - public static final int FORSE_RERENDER = 8; - public static final int FLAG_IGNORE_OBSERVERS = 16; - - public static final int SET_SILENT = FLAG_UPDATE_BLOCK | FLAG_IGNORE_OBSERVERS | FLAG_SEND_CLIENT_CHANGES; - public static final int SET_OBSERV = FLAG_UPDATE_BLOCK | FLAG_SEND_CLIENT_CHANGES; - public static final Direction[] HORIZONTAL = makeHorizontal(); - public static final Direction[] DIRECTIONS = Direction.values(); - - private static final MutableBlockPos POS = new MutableBlockPos(); - protected static final BlockState AIR = Blocks.AIR.defaultBlockState(); - protected static final BlockState WATER = Blocks.WATER.defaultBlockState(); - - private static final Vec3i[] OFFSETS = new Vec3i[] { - new Vec3i(-1, -1, -1), new Vec3i(-1, -1, 0), new Vec3i(-1, -1, 1), - new Vec3i(-1, 0, -1), new Vec3i(-1, 0, 0), new Vec3i(-1, 0, 1), - new Vec3i(-1, 1, -1), new Vec3i(-1, 1, 0), new Vec3i(-1, 1, 1), - - new Vec3i(0, -1, -1), new Vec3i(0, -1, 0), new Vec3i(0, -1, 1), - new Vec3i(0, 0, -1), new Vec3i(0, 0, 0), new Vec3i(0, 0, 1), - new Vec3i(0, 1, -1), new Vec3i(0, 1, 0), new Vec3i(0, 1, 1), - - new Vec3i(1, -1, -1), new Vec3i(1, -1, 0), new Vec3i(1, -1, 1), - new Vec3i(1, 0, -1), new Vec3i(1, 0, 0), new Vec3i(1, 0, 1), - new Vec3i(1, 1, -1), new Vec3i(1, 1, 0), new Vec3i(1, 1, 1) - }; - - public static void addBlockColor(Block block, int color) { - COLOR_BY_BLOCK.put(block, color); - } - - public static int getBlockColor(Block block) { - return COLOR_BY_BLOCK.getOrDefault(block, 0xFF000000); - } - - public static void setWithoutUpdate(LevelAccessor world, BlockPos pos, BlockState state) { - world.setBlock(pos, state, SET_SILENT); - } - - public static void setWithoutUpdate(LevelAccessor world, BlockPos pos, Block block) { - world.setBlock(pos, block.defaultBlockState(), SET_SILENT); - } - - public static void setWithUpdate(LevelAccessor world, BlockPos pos, BlockState state) { - world.setBlock(pos, state, SET_OBSERV); - } - - public static void setWithUpdate(LevelAccessor world, BlockPos pos, Block block) { - world.setBlock(pos, block.defaultBlockState(), SET_OBSERV); - } - - public static int upRay(LevelAccessor world, BlockPos pos, int maxDist) { - int length = 0; - for (int j = 1; j < maxDist && (world.isEmptyBlock(pos.above(j))); j++) - length++; - return length; - } - - public static int downRay(LevelAccessor world, BlockPos pos, int maxDist) { - int length = 0; - for (int j = 1; j < maxDist && (world.isEmptyBlock(pos.below(j))); j++) - length++; - return length; - } - - public static int downRayRep(LevelAccessor world, BlockPos pos, int maxDist) { - POS.set(pos); - for (int j = 1; j < maxDist && (world.getBlockState(POS)).getMaterial().isReplaceable(); j++) - { - POS.setY(POS.getY() - 1); - } - return pos.getY() - POS.getY(); - } - - public static int raycastSqr(LevelAccessor world, BlockPos pos, int dx, int dy, int dz, int maxDist) { - POS.set(pos); - for (int j = 1; j < maxDist && (world.getBlockState(POS)).getMaterial().isReplaceable(); j++) - { - POS.move(dx, dy, dz); - } - return (int) pos.distSqr(POS); - } - - public static BlockState rotateHorizontal(BlockState state, Rotation rotation, Property facing) { - return state.setValue(facing, rotation.rotate(state.getValue(facing))); - } - - public static BlockState mirrorHorizontal(BlockState state, Mirror mirror, Property facing) { - return state.rotate(mirror.getRotation(state.getValue(facing))); - } - - public static int getLengthDown(LevelAccessor world, BlockPos pos, Block block) { - int count = 1; - while (world.getBlockState(pos.below(count)).getBlock() == block) - count++; - return count; - } - - public static void cover(LevelAccessor world, BlockPos center, Block ground, BlockState cover, int radius, Random random) { - HashSet points = new HashSet(); - HashSet points2 = new HashSet(); - if (world.getBlockState(center).getBlock() == ground) { - points.add(center); - points2.add(center); - for (int i = 0; i < radius; i++) { - Iterator iterator = points.iterator(); - while (iterator.hasNext()) { - BlockPos pos = iterator.next(); - for (Vec3i offset : OFFSETS) { - if (random.nextBoolean()) { - BlockPos pos2 = pos.offset(offset); - if (random.nextBoolean() && world.getBlockState(pos2).getBlock() == ground - && !points.contains(pos2)) - points2.add(pos2); - } - } - } - points.addAll(points2); - points2.clear(); - } - Iterator iterator = points.iterator(); - while (iterator.hasNext()) { - BlockPos pos = iterator.next(); - BlocksHelper.setWithoutUpdate(world, pos, cover); - } - } - } - - public static void fixBlocks(LevelAccessor world, BlockPos start, BlockPos end) { - BlockState state; - Set doubleCheck = Sets.newHashSet(); - for (int x = start.getX(); x <= end.getX(); x++) { - POS.setX(x); - for (int z = start.getZ(); z <= end.getZ(); z++) { - POS.setZ(z); - for (int y = start.getY(); y <= end.getY(); y++) { - POS.setY(y); - state = world.getBlockState(POS); - - if (state.getBlock() instanceof FurBlock) { - doubleCheck.add(POS.immutable()); - } - // Liquids - else if (!state.getFluidState().isEmpty()) { - if (!state.canSurvive(world, POS)) { - setWithoutUpdate(world, POS, WATER); - POS.setY(POS.getY() - 1); - state = world.getBlockState(POS); - while (!state.canSurvive(world, POS)) { - state = state.getFluidState().isEmpty() ? AIR : WATER; - setWithoutUpdate(world, POS, state); - POS.setY(POS.getY() - 1); - state = world.getBlockState(POS); - } - } - POS.setY(y - 1); - if (world.isEmptyBlock(POS)) { - POS.setY(y); - while (!world.getFluidState(POS).isEmpty()) { - setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() + 1); - } - continue; - } - for (Direction dir : HORIZONTAL) { - if (world.isEmptyBlock(POS.relative(dir))) { - world.getLiquidTicks().scheduleTick(POS, state.getFluidState().getType(), 0); - break; - } - } - } - else if (state.is(EndBlocks.SMARAGDANT_CRYSTAL)) { - POS.setY(POS.getY() - 1); - if (world.isEmptyBlock(POS)) { - POS.setY(POS.getY() + 1); - while (state.is(EndBlocks.SMARAGDANT_CRYSTAL)) { - setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() + 1); - state = world.getBlockState(POS); - } - } - } - else if (state.getBlock() instanceof StalactiteBlock) { - if (!state.canSurvive(world, POS)) { - if (world.getBlockState(POS.above()).getBlock() instanceof StalactiteBlock) { - while (state.getBlock() instanceof StalactiteBlock) { - setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() + 1); - state = world.getBlockState(POS); - } - } - else { - while (state.getBlock() instanceof StalactiteBlock) { - setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() - 1); - state = world.getBlockState(POS); - } - } - } - } - else if (state.is(EndBlocks.CAVE_PUMPKIN)) { - if (!world.getBlockState(POS.above()).is(EndBlocks.CAVE_PUMPKIN_SEED)) { - setWithoutUpdate(world, POS, AIR); - } - } - else if (!state.canSurvive(world, POS)) { - // Chorus - if (state.is(Blocks.CHORUS_PLANT)) { - Set ends = Sets.newHashSet(); - Set add = Sets.newHashSet(); - ends.add(POS.immutable()); - - for (int i = 0; i < 64 && !ends.isEmpty(); i++) { - ends.forEach((pos) -> { - setWithoutUpdate(world, pos, AIR); - for (Direction dir : HORIZONTAL) { - BlockPos p = pos.relative(dir); - BlockState st = world.getBlockState(p); - if ((st.is(Blocks.CHORUS_PLANT) || st.is(Blocks.CHORUS_FLOWER)) && !st.canSurvive(world, p)) { - add.add(p); - } - } - BlockPos p = pos.above(); - BlockState st = world.getBlockState(p); - if ((st.is(Blocks.CHORUS_PLANT) || st.is(Blocks.CHORUS_FLOWER)) && !st.canSurvive(world, p)) { - add.add(p); - } - }); - ends.clear(); - ends.addAll(add); - add.clear(); - } - } - // Vines - else if (state.getBlock() instanceof VineBlock) { - while (world.getBlockState(POS).getBlock() instanceof VineBlock) { - setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() - 1); - } - } - // Falling blocks - else if (state.getBlock() instanceof FallingBlock) { - BlockState falling = state; - - POS.setY(POS.getY() - 1); - state = world.getBlockState(POS); - - int ray = downRayRep(world, POS.immutable(), 64); - if (ray > 32) { - BlocksHelper.setWithoutUpdate(world, POS, Blocks.END_STONE.defaultBlockState()); - if (world.getRandom().nextBoolean()) { - POS.setY(POS.getY() - 1); - state = world.getBlockState(POS); - BlocksHelper.setWithoutUpdate(world, POS, Blocks.END_STONE.defaultBlockState()); - } - } - else { - POS.setY(y); - BlockState replacement = AIR; - for (Direction dir : HORIZONTAL) { - state = world.getBlockState(POS.relative(dir)); - if (!state.getFluidState().isEmpty()) { - replacement = state; - break; - } - } - BlocksHelper.setWithoutUpdate(world, POS, replacement); - POS.setY(y - ray); - BlocksHelper.setWithoutUpdate(world, POS, falling); - } - } - // Blocks without support - else { - // Blue Vine - if (state.getBlock() instanceof BlueVineBlock) { - while (state.is(EndBlocks.BLUE_VINE) || state.is(EndBlocks.BLUE_VINE_LANTERN) || state.is(EndBlocks.BLUE_VINE_FUR)) { - BlocksHelper.setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() + 1); - state = world.getBlockState(POS); - } - } - // Double plants - if (state.getBlock() instanceof DoublePlantBlock) { - BlocksHelper.setWithoutUpdate(world, POS, AIR); - POS.setY(POS.getY() + 1); - BlocksHelper.setWithoutUpdate(world, POS, AIR); - } - // Other blocks - else { - BlocksHelper.setWithoutUpdate(world, POS, getAirOrFluid(state)); - } - } - } - } - } - } - - doubleCheck.forEach((pos) -> { - if (!world.getBlockState(pos).canSurvive(world, pos)) { - BlocksHelper.setWithoutUpdate(world, pos, AIR); - } - }); - } - - private static BlockState getAirOrFluid(BlockState state) { - return state.getFluidState().isEmpty() ? AIR : state.getFluidState().createLegacyBlock(); - } - - public static boolean isEndNylium(Block block) { - return block.is(BlockTags.NYLIUM) && block.is(TagAPI.END_GROUND); - } - - public static boolean isEndNylium(BlockState state) { - return isEndNylium(state.getBlock()); - } - - public static Direction[] makeHorizontal() { - return new Direction[] { Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST }; - } - - public static Direction randomHorizontal(Random random) { - return HORIZONTAL[random.nextInt(4)]; - } - - public static Direction randomDirection(Random random) { - return DIRECTIONS[random.nextInt(6)]; - } - - public static boolean isFluid(BlockState blockState) { - return !blockState.getFluidState().isEmpty(); - } -} diff --git a/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java b/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java index d3837247..18a11d16 100644 --- a/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java +++ b/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java @@ -16,8 +16,8 @@ import ru.bclib.sdf.SDF; import ru.bclib.sdf.operator.SDFDisplacement; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFCappedCone; +import ru.bclib.util.BlocksHelper; import ru.betterend.noise.OpenSimplexNoise; -import ru.betterend.util.BlocksHelper; public class BiomeIslandFeature extends DefaultFeature { private static final MutableBlockPos CENTER = new MutableBlockPos(); diff --git a/src/main/java/ru/betterend/world/features/BlueVineFeature.java b/src/main/java/ru/betterend/world/features/BlueVineFeature.java index 9129a0e7..568424a5 100644 --- a/src/main/java/ru/betterend/world/features/BlueVineFeature.java +++ b/src/main/java/ru/betterend/world/features/BlueVineFeature.java @@ -4,10 +4,10 @@ import java.util.Random; import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.basis.EndPlantWithAgeBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class BlueVineFeature extends ScatterFeature { private boolean small; diff --git a/src/main/java/ru/betterend/world/features/CavePlantFeature.java b/src/main/java/ru/betterend/world/features/CavePlantFeature.java index 760eafc2..285a30a6 100644 --- a/src/main/java/ru/betterend/world/features/CavePlantFeature.java +++ b/src/main/java/ru/betterend/world/features/CavePlantFeature.java @@ -5,7 +5,7 @@ import java.util.Random; import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; public class CavePlantFeature extends FullHeightScatterFeature { private final Block plant; diff --git a/src/main/java/ru/betterend/world/features/CavePumpkinFeature.java b/src/main/java/ru/betterend/world/features/CavePumpkinFeature.java index b465a248..b929ed2a 100644 --- a/src/main/java/ru/betterend/world/features/CavePumpkinFeature.java +++ b/src/main/java/ru/betterend/world/features/CavePumpkinFeature.java @@ -7,9 +7,9 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class CavePumpkinFeature extends DefaultFeature { @Override diff --git a/src/main/java/ru/betterend/world/features/CrashedShipFeature.java b/src/main/java/ru/betterend/world/features/CrashedShipFeature.java index 7e61006a..2b467788 100644 --- a/src/main/java/ru/betterend/world/features/CrashedShipFeature.java +++ b/src/main/java/ru/betterend/world/features/CrashedShipFeature.java @@ -23,7 +23,7 @@ import net.minecraft.world.level.material.Material; import ru.bclib.api.TagAPI; import ru.bclib.util.MHelper; import ru.bclib.util.StructureHelper; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; public class CrashedShipFeature extends NBTStructureFeature { private static final StructureProcessor REPLACER; @@ -99,8 +99,7 @@ public class CrashedShipFeature extends NBTStructureFeature { structure.placeInWorldChunk(world, center, placementData.setBoundingBox(bounds), random); StructureHelper.erodeIntense(world, bounds, random); - BlocksHelper.fixBlocks(world, new BlockPos(bounds.x0, bounds.y0, bounds.z0), - new BlockPos(bounds.x1, bounds.y1, bounds.z1)); + BlockFixer.fixBlocks(world, new BlockPos(bounds.x0, bounds.y0, bounds.z0), new BlockPos(bounds.x1, bounds.y1, bounds.z1)); return true; } diff --git a/src/main/java/ru/betterend/world/features/DefaultFeature.java b/src/main/java/ru/betterend/world/features/DefaultFeature.java index afaf1197..1c55dda0 100644 --- a/src/main/java/ru/betterend/world/features/DefaultFeature.java +++ b/src/main/java/ru/betterend/world/features/DefaultFeature.java @@ -7,7 +7,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; public abstract class DefaultFeature extends Feature { protected static final BlockState AIR = Blocks.AIR.defaultBlockState(); diff --git a/src/main/java/ru/betterend/world/features/DoublePlantFeature.java b/src/main/java/ru/betterend/world/features/DoublePlantFeature.java index 769b24d5..671413ce 100644 --- a/src/main/java/ru/betterend/world/features/DoublePlantFeature.java +++ b/src/main/java/ru/betterend/world/features/DoublePlantFeature.java @@ -6,9 +6,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.basis.DoublePlantBlock; -import ru.betterend.util.BlocksHelper; public class DoublePlantFeature extends ScatterFeature { private final Block smallPlant; diff --git a/src/main/java/ru/betterend/world/features/EndLotusLeafFeature.java b/src/main/java/ru/betterend/world/features/EndLotusLeafFeature.java index 207a20ae..73690828 100644 --- a/src/main/java/ru/betterend/world/features/EndLotusLeafFeature.java +++ b/src/main/java/ru/betterend/world/features/EndLotusLeafFeature.java @@ -8,10 +8,10 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.EndLotusLeafBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class EndLotusLeafFeature extends ScatterFeature { public EndLotusLeafFeature(int radius) { diff --git a/src/main/java/ru/betterend/world/features/FilaluxFeature.java b/src/main/java/ru/betterend/world/features/FilaluxFeature.java index 6e5ad5c0..e04647c2 100644 --- a/src/main/java/ru/betterend/world/features/FilaluxFeature.java +++ b/src/main/java/ru/betterend/world/features/FilaluxFeature.java @@ -7,11 +7,11 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class FilaluxFeature extends SkyScatterFeature { public FilaluxFeature() { diff --git a/src/main/java/ru/betterend/world/features/FullHeightScatterFeature.java b/src/main/java/ru/betterend/world/features/FullHeightScatterFeature.java index ca7de2ab..944baa53 100644 --- a/src/main/java/ru/betterend/world/features/FullHeightScatterFeature.java +++ b/src/main/java/ru/betterend/world/features/FullHeightScatterFeature.java @@ -8,8 +8,8 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; -import ru.betterend.util.BlocksHelper; public abstract class FullHeightScatterFeature extends DefaultFeature { private static final MutableBlockPos POS = new MutableBlockPos(); diff --git a/src/main/java/ru/betterend/world/features/InvertedScatterFeature.java b/src/main/java/ru/betterend/world/features/InvertedScatterFeature.java index a7086045..b74bc307 100644 --- a/src/main/java/ru/betterend/world/features/InvertedScatterFeature.java +++ b/src/main/java/ru/betterend/world/features/InvertedScatterFeature.java @@ -8,8 +8,8 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; -import ru.betterend.util.BlocksHelper; public abstract class InvertedScatterFeature extends DefaultFeature { private static final MutableBlockPos POS = new MutableBlockPos(); diff --git a/src/main/java/ru/betterend/world/features/MengerSpongeFeature.java b/src/main/java/ru/betterend/world/features/MengerSpongeFeature.java index 2a859ab1..d5f9c5fd 100644 --- a/src/main/java/ru/betterend/world/features/MengerSpongeFeature.java +++ b/src/main/java/ru/betterend/world/features/MengerSpongeFeature.java @@ -7,8 +7,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class MengerSpongeFeature extends UnderwaterPlantScatter { private static final Function REPLACE; diff --git a/src/main/java/ru/betterend/world/features/NBTStructureFeature.java b/src/main/java/ru/betterend/world/features/NBTStructureFeature.java index e0ced9fd..6b926708 100644 --- a/src/main/java/ru/betterend/world/features/NBTStructureFeature.java +++ b/src/main/java/ru/betterend/world/features/NBTStructureFeature.java @@ -23,8 +23,9 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlac import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; import net.minecraft.world.level.levelgen.surfacebuilders.SurfaceBuilderConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.registry.EndBiomes; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.processors.DestructionStructureProcessor; public abstract class NBTStructureFeature extends DefaultFeature { @@ -131,21 +132,22 @@ public abstract class NBTStructureFeature extends DefaultFeature { BlockState stateSt = world.getBlockState(mut); if (!stateSt.is(TagAPI.GEN_TERRAIN)) { if (merge == TerrainMerge.SURFACE) { - SurfaceBuilderConfiguration config = world.getBiome(mut).getGenerationSettings() - .getSurfaceBuilderConfig(); + SurfaceBuilderConfiguration config = world.getBiome(mut).getGenerationSettings().getSurfaceBuilderConfig(); boolean isTop = mut.getY() == surfMax && state.getMaterial().isSolidBlocking(); BlockState top = isTop ? config.getTopMaterial() : config.getUnderMaterial(); BlocksHelper.setWithoutUpdate(world, mut, top); - } else { + } + else { BlocksHelper.setWithoutUpdate(world, mut, state); } - } else { + } + else { if (stateSt.is(TagAPI.END_GROUND) && state.getMaterial().isSolidBlocking()) { if (merge == TerrainMerge.SURFACE) { - SurfaceBuilderConfiguration config = world.getBiome(mut).getGenerationSettings() - .getSurfaceBuilderConfig(); + SurfaceBuilderConfiguration config = world.getBiome(mut).getGenerationSettings().getSurfaceBuilderConfig(); BlocksHelper.setWithoutUpdate(world, mut, config.getUnderMaterial()); - } else { + } + else { BlocksHelper.setWithoutUpdate(world, mut, state); } } @@ -156,8 +158,7 @@ public abstract class NBTStructureFeature extends DefaultFeature { } } } - BlocksHelper.fixBlocks(world, new BlockPos(x1, center.getY(), z1), - new BlockPos(x2, center.getY() + offset.getY(), z2)); + BlockFixer.fixBlocks(world, new BlockPos(x1, center.getY(), z1), new BlockPos(x2, center.getY() + offset.getY(), z2)); return true; } @@ -175,8 +176,7 @@ public abstract class NBTStructureFeature extends DefaultFeature { String nm = resource.getPath(); try { - InputStream inputstream = MinecraftServer.class - .getResourceAsStream("/data/" + ns + "/structures/" + nm + ".nbt"); + InputStream inputstream = MinecraftServer.class.getResourceAsStream("/data/" + ns + "/structures/" + nm + ".nbt"); return readStructureFromStream(inputstream); } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/ru/betterend/world/features/ScatterFeature.java b/src/main/java/ru/betterend/world/features/ScatterFeature.java index e0482253..7eaa8479 100644 --- a/src/main/java/ru/betterend/world/features/ScatterFeature.java +++ b/src/main/java/ru/betterend/world/features/ScatterFeature.java @@ -8,8 +8,8 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; -import ru.betterend.util.BlocksHelper; public abstract class ScatterFeature extends DefaultFeature { private static final MutableBlockPos POS = new MutableBlockPos(); diff --git a/src/main/java/ru/betterend/world/features/SilkMothNestFeature.java b/src/main/java/ru/betterend/world/features/SilkMothNestFeature.java index 0fbac2e2..d35ac508 100644 --- a/src/main/java/ru/betterend/world/features/SilkMothNestFeature.java +++ b/src/main/java/ru/betterend/world/features/SilkMothNestFeature.java @@ -12,9 +12,9 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class SilkMothNestFeature extends DefaultFeature { private static final MutableBlockPos POS = new MutableBlockPos(); diff --git a/src/main/java/ru/betterend/world/features/SingleInvertedScatterFeature.java b/src/main/java/ru/betterend/world/features/SingleInvertedScatterFeature.java index 2f91ca33..baf13202 100644 --- a/src/main/java/ru/betterend/world/features/SingleInvertedScatterFeature.java +++ b/src/main/java/ru/betterend/world/features/SingleInvertedScatterFeature.java @@ -8,8 +8,8 @@ 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.block.state.properties.BlockStateProperties; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.AttachedBlock; -import ru.betterend.util.BlocksHelper; public class SingleInvertedScatterFeature extends InvertedScatterFeature { private final Block block; diff --git a/src/main/java/ru/betterend/world/features/SinglePlantFeature.java b/src/main/java/ru/betterend/world/features/SinglePlantFeature.java index fd58b83f..9fe6989f 100644 --- a/src/main/java/ru/betterend/world/features/SinglePlantFeature.java +++ b/src/main/java/ru/betterend/world/features/SinglePlantFeature.java @@ -6,10 +6,10 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.DoublePlantBlock; import ru.betterend.blocks.basis.EndCropBlock; import ru.betterend.blocks.basis.EndPlantWithAgeBlock; -import ru.betterend.util.BlocksHelper; public class SinglePlantFeature extends ScatterFeature { private final Block plant; diff --git a/src/main/java/ru/betterend/world/features/SkyScatterFeature.java b/src/main/java/ru/betterend/world/features/SkyScatterFeature.java index df43a581..d14dbd3a 100644 --- a/src/main/java/ru/betterend/world/features/SkyScatterFeature.java +++ b/src/main/java/ru/betterend/world/features/SkyScatterFeature.java @@ -6,8 +6,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.WorldGenLevel; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; -import ru.betterend.util.BlocksHelper; public abstract class SkyScatterFeature extends ScatterFeature { public SkyScatterFeature(int radius) { diff --git a/src/main/java/ru/betterend/world/features/UnderwaterPlantFeature.java b/src/main/java/ru/betterend/world/features/UnderwaterPlantFeature.java index 9ee99007..7fdfc808 100644 --- a/src/main/java/ru/betterend/world/features/UnderwaterPlantFeature.java +++ b/src/main/java/ru/betterend/world/features/UnderwaterPlantFeature.java @@ -6,8 +6,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.DoublePlantBlock; -import ru.betterend.util.BlocksHelper; public class UnderwaterPlantFeature extends UnderwaterPlantScatter { private final Block plant; diff --git a/src/main/java/ru/betterend/world/features/VineFeature.java b/src/main/java/ru/betterend/world/features/VineFeature.java index 8e31591a..92541968 100644 --- a/src/main/java/ru/betterend/world/features/VineFeature.java +++ b/src/main/java/ru/betterend/world/features/VineFeature.java @@ -6,10 +6,10 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.VineBlock; -import ru.betterend.util.BlocksHelper; public class VineFeature extends InvertedScatterFeature { private final Block vineBlock; diff --git a/src/main/java/ru/betterend/world/features/WallPlantFeature.java b/src/main/java/ru/betterend/world/features/WallPlantFeature.java index 8d38ffaf..978dd1d1 100644 --- a/src/main/java/ru/betterend/world/features/WallPlantFeature.java +++ b/src/main/java/ru/betterend/world/features/WallPlantFeature.java @@ -8,9 +8,9 @@ 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.block.state.properties.BlockStateProperties; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.AttachedBlock; import ru.betterend.blocks.basis.EndWallPlantBlock; -import ru.betterend.util.BlocksHelper; public class WallPlantFeature extends WallScatterFeature { private final Block block; diff --git a/src/main/java/ru/betterend/world/features/WallScatterFeature.java b/src/main/java/ru/betterend/world/features/WallScatterFeature.java index 433e6dd4..f1139874 100644 --- a/src/main/java/ru/betterend/world/features/WallScatterFeature.java +++ b/src/main/java/ru/betterend/world/features/WallScatterFeature.java @@ -9,8 +9,8 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; -import ru.betterend.util.BlocksHelper; public abstract class WallScatterFeature extends DefaultFeature { private static final Direction[] DIR = BlocksHelper.makeHorizontal(); diff --git a/src/main/java/ru/betterend/world/features/bushes/BushFeature.java b/src/main/java/ru/betterend/world/features/bushes/BushFeature.java index 5388430a..7cacbc25 100644 --- a/src/main/java/ru/betterend/world/features/bushes/BushFeature.java +++ b/src/main/java/ru/betterend/world/features/bushes/BushFeature.java @@ -19,9 +19,9 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class BushFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/bushes/BushWithOuterFeature.java b/src/main/java/ru/betterend/world/features/bushes/BushWithOuterFeature.java index cb72aeb4..fcdcafdc 100644 --- a/src/main/java/ru/betterend/world/features/bushes/BushWithOuterFeature.java +++ b/src/main/java/ru/betterend/world/features/bushes/BushWithOuterFeature.java @@ -20,9 +20,9 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class BushWithOuterFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/bushes/LargeAmaranitaFeature.java b/src/main/java/ru/betterend/world/features/bushes/LargeAmaranitaFeature.java index 5ec7f94d..825aff13 100644 --- a/src/main/java/ru/betterend/world/features/bushes/LargeAmaranitaFeature.java +++ b/src/main/java/ru/betterend/world/features/bushes/LargeAmaranitaFeature.java @@ -10,11 +10,11 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class LargeAmaranitaFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/bushes/Lumecorn.java b/src/main/java/ru/betterend/world/features/bushes/Lumecorn.java index b8d73c2e..4a35bb95 100644 --- a/src/main/java/ru/betterend/world/features/bushes/Lumecorn.java +++ b/src/main/java/ru/betterend/world/features/bushes/Lumecorn.java @@ -10,11 +10,11 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties.LumecornShape; import ru.betterend.blocks.LumecornBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class Lumecorn extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/bushes/TenaneaBushFeature.java b/src/main/java/ru/betterend/world/features/bushes/TenaneaBushFeature.java index 61dbfdae..817f461d 100644 --- a/src/main/java/ru/betterend/world/features/bushes/TenaneaBushFeature.java +++ b/src/main/java/ru/betterend/world/features/bushes/TenaneaBushFeature.java @@ -22,13 +22,13 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.FurBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class TenaneaBushFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/BigAuroraCrystalFeature.java b/src/main/java/ru/betterend/world/features/terrain/BigAuroraCrystalFeature.java index 6d66b1a4..06b05c8e 100644 --- a/src/main/java/ru/betterend/world/features/terrain/BigAuroraCrystalFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/BigAuroraCrystalFeature.java @@ -13,9 +13,9 @@ import ru.bclib.api.TagAPI; import ru.bclib.sdf.SDF; import ru.bclib.sdf.operator.SDFRotation; import ru.bclib.sdf.primitive.SDFHexPrism; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class BigAuroraCrystalFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/DesertLakeFeature.java b/src/main/java/ru/betterend/world/features/terrain/DesertLakeFeature.java index 5fddd8c7..a3e5b571 100644 --- a/src/main/java/ru/betterend/world/features/terrain/DesertLakeFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/DesertLakeFeature.java @@ -12,10 +12,11 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Material; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.features.DefaultFeature; public class DesertLakeFeature extends DefaultFeature { @@ -194,7 +195,7 @@ public class DesertLakeFeature extends DefaultFeature { } } - BlocksHelper.fixBlocks(world, new BlockPos(minX - 2, waterLevel - 2, minZ - 2), new BlockPos(maxX + 2, blockPos.getY() + 20, maxZ + 2)); + BlockFixer.fixBlocks(world, new BlockPos(minX - 2, waterLevel - 2, minZ - 2), new BlockPos(maxX + 2, blockPos.getY() + 20, maxZ + 2)); return true; } diff --git a/src/main/java/ru/betterend/world/features/terrain/EndLakeFeature.java b/src/main/java/ru/betterend/world/features/terrain/EndLakeFeature.java index f5fa6bf8..c3e04e97 100644 --- a/src/main/java/ru/betterend/world/features/terrain/EndLakeFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/EndLakeFeature.java @@ -12,10 +12,11 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Material; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.features.DefaultFeature; public class EndLakeFeature extends DefaultFeature { @@ -188,7 +189,7 @@ public class EndLakeFeature extends DefaultFeature { } } - BlocksHelper.fixBlocks(world, new BlockPos(minX - 2, waterLevel - 2, minZ - 2), new BlockPos(maxX + 2, blockPos.getY() + 20, maxZ + 2)); + BlockFixer.fixBlocks(world, new BlockPos(minX - 2, waterLevel - 2, minZ - 2), new BlockPos(maxX + 2, blockPos.getY() + 20, maxZ + 2)); return true; } diff --git a/src/main/java/ru/betterend/world/features/terrain/GeyserFeature.java b/src/main/java/ru/betterend/world/features/terrain/GeyserFeature.java index 12e82c4f..ea0b2b49 100644 --- a/src/main/java/ru/betterend/world/features/terrain/GeyserFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/GeyserFeature.java @@ -31,12 +31,13 @@ import ru.bclib.sdf.primitive.SDFCappedCone; import ru.bclib.sdf.primitive.SDFFlatland; import ru.bclib.sdf.primitive.SDFPrimitive; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.HydrothermalVentBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.features.DefaultFeature; public class GeyserFeature extends DefaultFeature { @@ -245,7 +246,7 @@ public class GeyserFeature extends DefaultFeature { double distance = radius1 * 1.7; BlockPos start = pos.offset(-distance, -halfHeight - 15 - distance, -distance); BlockPos end = pos.offset(distance, -halfHeight - 5 + distance, distance); - BlocksHelper.fixBlocks(world, start, end); + BlockFixer.fixBlocks(world, start, end); return true; } diff --git a/src/main/java/ru/betterend/world/features/terrain/SingleBlockFeature.java b/src/main/java/ru/betterend/world/features/terrain/SingleBlockFeature.java index b28adb55..5e0f948e 100644 --- a/src/main/java/ru/betterend/world/features/terrain/SingleBlockFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/SingleBlockFeature.java @@ -10,7 +10,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class SingleBlockFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/SmaragdantCrystalFeature.java b/src/main/java/ru/betterend/world/features/terrain/SmaragdantCrystalFeature.java index e2b5e145..dead6b50 100644 --- a/src/main/java/ru/betterend/world/features/terrain/SmaragdantCrystalFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/SmaragdantCrystalFeature.java @@ -10,9 +10,9 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class SmaragdantCrystalFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/StalactiteFeature.java b/src/main/java/ru/betterend/world/features/terrain/StalactiteFeature.java index e2e3cc19..e990b5a3 100644 --- a/src/main/java/ru/betterend/world/features/terrain/StalactiteFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/StalactiteFeature.java @@ -12,8 +12,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.basis.StalactiteBlock; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class StalactiteFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/SulphurHillFeature.java b/src/main/java/ru/betterend/world/features/terrain/SulphurHillFeature.java index b7f6791c..cb96d4e0 100644 --- a/src/main/java/ru/betterend/world/features/terrain/SulphurHillFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/SulphurHillFeature.java @@ -10,11 +10,11 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class SulphurHillFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/SulphuricCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/SulphuricCaveFeature.java index c37156c3..25ecb502 100644 --- a/src/main/java/ru/betterend/world/features/terrain/SulphuricCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/SulphuricCaveFeature.java @@ -17,12 +17,13 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.level.material.Material; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.SulphurCrystalBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.features.DefaultFeature; public class SulphuricCaveFeature extends DefaultFeature { @@ -161,7 +162,7 @@ public class SulphuricCaveFeature extends DefaultFeature { } } - BlocksHelper.fixBlocks(world, new BlockPos(x1, y1, z1), new BlockPos(x2, y2, z2)); + BlockFixer.fixBlocks(world, new BlockPos(x1, y1, z1), new BlockPos(x2, y2, z2)); return true; } diff --git a/src/main/java/ru/betterend/world/features/terrain/SulphuricLakeFeature.java b/src/main/java/ru/betterend/world/features/terrain/SulphuricLakeFeature.java index 07754d0d..c36dee2c 100644 --- a/src/main/java/ru/betterend/world/features/terrain/SulphuricLakeFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/SulphuricLakeFeature.java @@ -15,12 +15,12 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.level.material.Fluids; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.SulphurCrystalBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class SulphuricLakeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/SurfaceVentFeature.java b/src/main/java/ru/betterend/world/features/terrain/SurfaceVentFeature.java index 9315fc79..a6e35bed 100644 --- a/src/main/java/ru/betterend/world/features/terrain/SurfaceVentFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/SurfaceVentFeature.java @@ -9,10 +9,10 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.blocks.HydrothermalVentBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class SurfaceVentFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java index e1e1c63d..a4a1c971 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java @@ -16,7 +16,8 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; -import ru.betterend.util.BlocksHelper; +import ru.bclib.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.biome.cave.EndCaveBiome; import ru.betterend.world.features.DefaultFeature; @@ -40,7 +41,7 @@ public class CaveChunkPopulatorFeature extends DefaultFeature { BlockState surfaceBlock = biome.getBiome().getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); placeFloor(world, biome, floorPositions, random, surfaceBlock); placeCeil(world, biome, ceilPositions, random); - BlocksHelper.fixBlocks(world, min, max); + BlockFixer.fixBlocks(world, min, max); return true; } diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java index d5b13e9f..439ccbba 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java @@ -20,10 +20,11 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.interfaces.IBiomeArray; import ru.betterend.registry.EndBiomes; -import ru.betterend.util.BlocksHelper; +import ru.betterend.util.BlockFixer; import ru.betterend.world.biome.EndBiome; import ru.betterend.world.biome.cave.EndCaveBiome; import ru.betterend.world.features.DefaultFeature; @@ -212,7 +213,7 @@ public abstract class EndCaveFeature extends DefaultFeature { end.setZ(bpos.getZ()); } }); - BlocksHelper.fixBlocks(world, start.offset(-2, -2, -2), end.offset(2, 2, 2)); + BlockFixer.fixBlocks(world, start.offset(-2, -2, -2), end.offset(2, 2, 2)); } protected boolean isWaterNear(WorldGenLevel world, BlockPos pos) { diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/RoundCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/RoundCaveFeature.java index db5fdaaf..58364bd6 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/RoundCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/RoundCaveFeature.java @@ -11,9 +11,9 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Material; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; -import ru.betterend.util.BlocksHelper; public class RoundCaveFeature extends EndCaveFeature { @Override diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java index 92fff549..ed518538 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java @@ -19,9 +19,9 @@ import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBiomes; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.biome.cave.EndCaveBiome; public class TunelCaveFeature extends EndCaveFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/DragonTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/DragonTreeFeature.java index 03e20623..d571d711 100644 --- a/src/main/java/ru/betterend/world/features/trees/DragonTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/DragonTreeFeature.java @@ -25,11 +25,11 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class DragonTreeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/GiganticAmaranitaFeature.java b/src/main/java/ru/betterend/world/features/trees/GiganticAmaranitaFeature.java index 5797d9c1..2f123b0b 100644 --- a/src/main/java/ru/betterend/world/features/trees/GiganticAmaranitaFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/GiganticAmaranitaFeature.java @@ -20,11 +20,11 @@ import net.minecraft.world.level.material.Material; import ru.bclib.api.TagAPI; import ru.bclib.sdf.PosInfo; import ru.bclib.sdf.SDF; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.basis.AttachedBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class GiganticAmaranitaFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java index c2b16770..9c7025a2 100644 --- a/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java @@ -23,11 +23,11 @@ import ru.bclib.sdf.operator.SDFScale; import ru.bclib.sdf.operator.SDFSmoothUnion; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.operator.SDFUnion; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.HelixTreeLeavesBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class HelixTreeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/LacugroveFeature.java b/src/main/java/ru/betterend/world/features/trees/LacugroveFeature.java index ce4b2483..63a0aa8c 100644 --- a/src/main/java/ru/betterend/world/features/trees/LacugroveFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/LacugroveFeature.java @@ -22,11 +22,11 @@ import ru.bclib.sdf.operator.SDFDisplacement; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class LacugroveFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/LucerniaFeature.java b/src/main/java/ru/betterend/world/features/trees/LucerniaFeature.java index 513f16dd..278421f8 100644 --- a/src/main/java/ru/betterend/world/features/trees/LucerniaFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/LucerniaFeature.java @@ -24,6 +24,7 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.BlockProperties; @@ -31,7 +32,6 @@ import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.FurBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class LucerniaFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/MossyGlowshroomFeature.java b/src/main/java/ru/betterend/world/features/trees/MossyGlowshroomFeature.java index 9938d492..03b2ef80 100644 --- a/src/main/java/ru/betterend/world/features/trees/MossyGlowshroomFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/MossyGlowshroomFeature.java @@ -27,13 +27,13 @@ import ru.bclib.sdf.operator.SDFUnion; import ru.bclib.sdf.primitive.SDFCappedCone; import ru.bclib.sdf.primitive.SDFPrimitive; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.MossyGlowshroomCapBlock; import ru.betterend.blocks.basis.FurBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class MossyGlowshroomFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/PythadendronTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/PythadendronTreeFeature.java index d080cfb8..d3c473aa 100644 --- a/src/main/java/ru/betterend/world/features/trees/PythadendronTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/PythadendronTreeFeature.java @@ -23,11 +23,11 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class PythadendronTreeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/TenaneaFeature.java b/src/main/java/ru/betterend/world/features/trees/TenaneaFeature.java index 9089be16..f5660287 100644 --- a/src/main/java/ru/betterend/world/features/trees/TenaneaFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/TenaneaFeature.java @@ -24,6 +24,7 @@ import ru.bclib.sdf.operator.SDFScale3D; import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.BlockProperties; @@ -31,7 +32,6 @@ import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.FurBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class TenaneaFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java index 06676b0c..2b5ef373 100644 --- a/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java @@ -26,12 +26,12 @@ import ru.bclib.sdf.operator.SDFSubtraction; import ru.bclib.sdf.operator.SDFTranslate; import ru.bclib.sdf.operator.SDFUnion; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.UmbrellaTreeClusterBlock; import ru.betterend.blocks.UmbrellaTreeMembraneBlock; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; import ru.betterend.world.features.DefaultFeature; public class UmbrellaTreeFeature extends DefaultFeature { diff --git a/src/main/java/ru/betterend/world/structures/features/GiantMossyGlowshroomStructure.java b/src/main/java/ru/betterend/world/structures/features/GiantMossyGlowshroomStructure.java index e0871c36..e24626db 100644 --- a/src/main/java/ru/betterend/world/structures/features/GiantMossyGlowshroomStructure.java +++ b/src/main/java/ru/betterend/world/structures/features/GiantMossyGlowshroomStructure.java @@ -21,13 +21,13 @@ import ru.bclib.sdf.operator.SDFUnion; import ru.bclib.sdf.primitive.SDFCappedCone; import ru.bclib.sdf.primitive.SDFPrimitive; import ru.bclib.sdf.primitive.SDFSphere; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.bclib.util.SplineHelper; import ru.betterend.blocks.MossyGlowshroomCapBlock; import ru.betterend.blocks.basis.FurBlock; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.BlocksHelper; public class GiantMossyGlowshroomStructure extends SDFStructureFeature { @Override diff --git a/src/main/java/ru/betterend/world/structures/piece/CavePiece.java b/src/main/java/ru/betterend/world/structures/piece/CavePiece.java index c997ef0f..a964e0e7 100644 --- a/src/main/java/ru/betterend/world/structures/piece/CavePiece.java +++ b/src/main/java/ru/betterend/world/structures/piece/CavePiece.java @@ -14,10 +14,10 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureManager; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndStructures; -import ru.betterend.util.BlocksHelper; public class CavePiece extends BasePiece { private OpenSimplexNoise noise; diff --git a/src/main/java/ru/betterend/world/structures/piece/LakePiece.java b/src/main/java/ru/betterend/world/structures/piece/LakePiece.java index 6c04a592..3e5bff7a 100644 --- a/src/main/java/ru/betterend/world/structures/piece/LakePiece.java +++ b/src/main/java/ru/betterend/world/structures/piece/LakePiece.java @@ -25,12 +25,12 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureManager; import net.minecraft.world.level.material.FluidState; import ru.bclib.api.TagAPI; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBiomes; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndStructures; -import ru.betterend.util.BlocksHelper; public class LakePiece extends BasePiece { private static final BlockState ENDSTONE = Blocks.END_STONE.defaultBlockState();