From 8c1f9567a518ac3a80b0de2db8a51623db9bb73f Mon Sep 17 00:00:00 2001 From: Frank Bauer Date: Sun, 4 Jul 2021 18:53:00 +0200 Subject: [PATCH] Automatic tool configuration for Blocks --- .../ru/betterend/blocks/AeterniumBlock.java | 4 +++- .../betterend/blocks/AmaranitaStemBlock.java | 4 ++-- .../java/ru/betterend/blocks/AmberBlock.java | 4 ++-- .../blocks/AncientEmeraldIceBlock.java | 3 +-- .../ru/betterend/blocks/BrimstoneBlock.java | 3 +-- .../ru/betterend/blocks/CavePumpkinBlock.java | 4 ++-- .../ru/betterend/blocks/ChandelierBlock.java | 11 +++++++++-- .../ru/betterend/blocks/CharcoalBlock.java | 4 ++-- .../betterend/blocks/DenseEmeraldIceBlock.java | 4 ++-- .../ru/betterend/blocks/EmeraldIceBlock.java | 4 ++-- .../ru/betterend/blocks/EndLotusStemBlock.java | 3 +-- .../ru/betterend/blocks/EndPortalBlock.java | 4 ++-- .../ru/betterend/blocks/EndStoneSmelter.java | 18 +++++++++++++----- .../java/ru/betterend/blocks/EnderBlock.java | 2 ++ .../ru/betterend/blocks/EndstoneDustBlock.java | 4 ++-- .../betterend/blocks/JellyshroomCapBlock.java | 4 ++-- .../ru/betterend/blocks/MengerSpongeBlock.java | 5 ++--- .../betterend/blocks/MengerSpongeWetBlock.java | 3 +-- .../ru/betterend/blocks/MissingTileBlock.java | 4 ++-- .../betterend/blocks/MossyDragonBoneBlock.java | 4 ++-- .../ru/betterend/blocks/MossyObsidian.java | 4 ++-- .../ru/betterend/blocks/NeonCactusBlock.java | 4 ++-- .../betterend/blocks/NeonCactusPlantBlock.java | 3 +-- .../betterend/blocks/RespawnObeliskBlock.java | 3 +-- .../blocks/UmbrellaTreeClusterBlock.java | 3 +-- .../blocks/UmbrellaTreeClusterEmptyBlock.java | 3 +-- .../blocks/UmbrellaTreeMembraneBlock.java | 4 ++-- .../blocks/basis/EndLanternBlock.java | 4 ++-- .../betterend/blocks/basis/PedestalBlock.java | 15 +++++++-------- .../blocks/basis/StoneLanternBlock.java | 4 ++-- .../blocks/complex/ColoredMaterial.java | 2 +- .../complex/CrystalSubblocksMaterial.java | 3 ++- .../blocks/complex/MetalMaterial.java | 11 ++++++----- .../blocks/complex/StoneMaterial.java | 3 ++- .../blocks/complex/WoodenMaterial.java | 3 ++- 35 files changed, 89 insertions(+), 76 deletions(-) diff --git a/src/main/java/ru/betterend/blocks/AeterniumBlock.java b/src/main/java/ru/betterend/blocks/AeterniumBlock.java index d176689d..f6369d15 100644 --- a/src/main/java/ru/betterend/blocks/AeterniumBlock.java +++ b/src/main/java/ru/betterend/blocks/AeterniumBlock.java @@ -3,6 +3,7 @@ package ru.betterend.blocks; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.SoundType; @@ -17,7 +18,8 @@ public class AeterniumBlock extends BaseBlock { super(FabricBlockSettings.of(Material.METAL, MaterialColor.COLOR_GRAY) .hardness(65F) .resistance(1200F) - .requiresCorrectToolForDrops() + .breakByTool(FabricToolTags.PICKAXES) + .requiresCorrectToolForDrops() .sound(SoundType.NETHERITE_BLOCK)); } diff --git a/src/main/java/ru/betterend/blocks/AmaranitaStemBlock.java b/src/main/java/ru/betterend/blocks/AmaranitaStemBlock.java index 47885625..cfb07510 100644 --- a/src/main/java/ru/betterend/blocks/AmaranitaStemBlock.java +++ b/src/main/java/ru/betterend/blocks/AmaranitaStemBlock.java @@ -1,12 +1,12 @@ package ru.betterend.blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; import ru.bclib.blocks.BaseRotatedPillarBlock; +import ru.bclib.util.BlocksHelper; public class AmaranitaStemBlock extends BaseRotatedPillarBlock { public AmaranitaStemBlock() { - super(FabricBlockSettings.copyOf(Blocks.OAK_PLANKS).materialColor(MaterialColor.COLOR_LIGHT_GREEN)); + super(BlocksHelper.copySettingsOf(Blocks.OAK_PLANKS).materialColor(MaterialColor.COLOR_LIGHT_GREEN)); } } diff --git a/src/main/java/ru/betterend/blocks/AmberBlock.java b/src/main/java/ru/betterend/blocks/AmberBlock.java index feedaea8..a26ea970 100644 --- a/src/main/java/ru/betterend/blocks/AmberBlock.java +++ b/src/main/java/ru/betterend/blocks/AmberBlock.java @@ -1,12 +1,12 @@ package ru.betterend.blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; import ru.bclib.blocks.BaseBlock; +import ru.bclib.util.BlocksHelper; public class AmberBlock extends BaseBlock { public AmberBlock() { - super(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).materialColor(MaterialColor.COLOR_YELLOW)); + super(BlocksHelper.copySettingsOf(Blocks.DIAMOND_BLOCK).materialColor(MaterialColor.COLOR_YELLOW)); } } diff --git a/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java b/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java index 2c73a6d1..c1a62a76 100644 --- a/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java +++ b/src/main/java/ru/betterend/blocks/AncientEmeraldIceBlock.java @@ -4,7 +4,6 @@ import java.util.Collections; import java.util.List; import java.util.Random; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -23,7 +22,7 @@ import ru.betterend.registry.EndParticles; public class AncientEmeraldIceBlock extends BaseBlock { public AncientEmeraldIceBlock() { - super(FabricBlockSettings.copyOf(Blocks.BLUE_ICE).randomTicks()); + super(BlocksHelper.copySettingsOf(Blocks.BLUE_ICE).randomTicks()); } @Override diff --git a/src/main/java/ru/betterend/blocks/BrimstoneBlock.java b/src/main/java/ru/betterend/blocks/BrimstoneBlock.java index e26d2ce1..2e816be9 100644 --- a/src/main/java/ru/betterend/blocks/BrimstoneBlock.java +++ b/src/main/java/ru/betterend/blocks/BrimstoneBlock.java @@ -4,7 +4,6 @@ import java.util.Random; import org.jetbrains.annotations.Nullable; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -29,7 +28,7 @@ public class BrimstoneBlock extends BaseBlock { public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE; public BrimstoneBlock() { - super(FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(MaterialColor.COLOR_BROWN).randomTicks()); + super(BlocksHelper.copySettingsOf(Blocks.END_STONE).materialColor(MaterialColor.COLOR_BROWN).randomTicks()); registerDefaultState(stateDefinition.any().setValue(ACTIVATED, false)); } diff --git a/src/main/java/ru/betterend/blocks/CavePumpkinBlock.java b/src/main/java/ru/betterend/blocks/CavePumpkinBlock.java index f61aa0cb..a4c6c4af 100644 --- a/src/main/java/ru/betterend/blocks/CavePumpkinBlock.java +++ b/src/main/java/ru/betterend/blocks/CavePumpkinBlock.java @@ -3,7 +3,6 @@ package ru.betterend.blocks; import java.util.Collections; import java.util.List; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -20,6 +19,7 @@ import ru.bclib.blocks.BaseBlockNotFull; import ru.bclib.blocks.BlockProperties; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; import ru.betterend.registry.EndBlocks; public class CavePumpkinBlock extends BaseBlockNotFull implements IRenderTyped { @@ -28,7 +28,7 @@ public class CavePumpkinBlock extends BaseBlockNotFull implements IRenderTyped { private static final VoxelShape SHAPE_BIG; public CavePumpkinBlock() { - super(FabricBlockSettings.copyOf(Blocks.PUMPKIN).luminance((state) -> state.getValue(SMALL) ? 10 : 15)); + super(BlocksHelper.copySettingsOf(Blocks.PUMPKIN).luminance((state) -> state.getValue(SMALL) ? 10 : 15)); registerDefaultState(defaultBlockState().setValue(SMALL, false)); } diff --git a/src/main/java/ru/betterend/blocks/ChandelierBlock.java b/src/main/java/ru/betterend/blocks/ChandelierBlock.java index 622eeb5e..2b218dc7 100644 --- a/src/main/java/ru/betterend/blocks/ChandelierBlock.java +++ b/src/main/java/ru/betterend/blocks/ChandelierBlock.java @@ -10,7 +10,7 @@ import com.google.common.collect.Maps; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.resources.model.BlockModelRotation; import net.minecraft.client.resources.model.UnbakedModel; @@ -28,13 +28,20 @@ import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; import ru.betterend.client.models.Patterns; public class ChandelierBlock extends BaseAttachedBlock implements IRenderTyped, BlockModelProvider { private static final EnumMap BOUNDING_SHAPES = Maps.newEnumMap(Direction.class); public ChandelierBlock(Block source) { - super(FabricBlockSettings.copyOf(source).luminance(15).noCollission().noOcclusion().requiresCorrectToolForDrops()); + super(BlocksHelper.copySettingsOf(source) + .breakByTool(FabricToolTags.PICKAXES) + .luminance(15) + .noCollission() + .noOcclusion() + .requiresCorrectToolForDrops() + ); } @Override diff --git a/src/main/java/ru/betterend/blocks/CharcoalBlock.java b/src/main/java/ru/betterend/blocks/CharcoalBlock.java index d9fa10a8..9e9df4c4 100644 --- a/src/main/java/ru/betterend/blocks/CharcoalBlock.java +++ b/src/main/java/ru/betterend/blocks/CharcoalBlock.java @@ -1,13 +1,13 @@ package ru.betterend.blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.registry.FuelRegistry; import net.minecraft.world.level.block.Blocks; import ru.bclib.blocks.BaseBlock; +import ru.bclib.util.BlocksHelper; public class CharcoalBlock extends BaseBlock { public CharcoalBlock() { - super(FabricBlockSettings.copyOf(Blocks.COAL_BLOCK)); + super(BlocksHelper.copySettingsOf(Blocks.COAL_BLOCK)); FuelRegistry.INSTANCE.add(this, 16000); } } diff --git a/src/main/java/ru/betterend/blocks/DenseEmeraldIceBlock.java b/src/main/java/ru/betterend/blocks/DenseEmeraldIceBlock.java index ece46509..3c20c640 100644 --- a/src/main/java/ru/betterend/blocks/DenseEmeraldIceBlock.java +++ b/src/main/java/ru/betterend/blocks/DenseEmeraldIceBlock.java @@ -3,7 +3,6 @@ package ru.betterend.blocks; import java.util.Collections; import java.util.List; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; @@ -14,10 +13,11 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import ru.bclib.blocks.BaseBlock; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; public class DenseEmeraldIceBlock extends BaseBlock implements IRenderTyped { public DenseEmeraldIceBlock() { - super(FabricBlockSettings.copyOf(Blocks.PACKED_ICE)); + super(BlocksHelper.copySettingsOf(Blocks.PACKED_ICE)); } @Override diff --git a/src/main/java/ru/betterend/blocks/EmeraldIceBlock.java b/src/main/java/ru/betterend/blocks/EmeraldIceBlock.java index e4ebe572..ab078c7f 100644 --- a/src/main/java/ru/betterend/blocks/EmeraldIceBlock.java +++ b/src/main/java/ru/betterend/blocks/EmeraldIceBlock.java @@ -8,7 +8,6 @@ import org.jetbrains.annotations.Nullable; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -29,10 +28,11 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; public class EmeraldIceBlock extends HalfTransparentBlock implements IRenderTyped, BlockModelProvider { public EmeraldIceBlock() { - super(FabricBlockSettings.copyOf(Blocks.ICE)); + super(BlocksHelper.copySettingsOf(Blocks.ICE)); } @Override diff --git a/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java b/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java index 0c27ece2..260fa4e2 100644 --- a/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java +++ b/src/main/java/ru/betterend/blocks/EndLotusStemBlock.java @@ -4,7 +4,6 @@ import java.util.Map; import com.google.common.collect.Maps; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; @@ -40,7 +39,7 @@ public class EndLotusStemBlock extends BaseBlock implements SimpleWaterloggedBlo private static final Map SHAPES = Maps.newEnumMap(Axis.class); public EndLotusStemBlock() { - super(FabricBlockSettings.copyOf(Blocks.OAK_PLANKS)); + super(BlocksHelper.copySettingsOf(Blocks.OAK_PLANKS)); this.registerDefaultState(defaultBlockState().setValue(WATERLOGGED, false).setValue(SHAPE, TripleShape.MIDDLE).setValue(LEAF, false).setValue(FACING, Direction.UP)); } diff --git a/src/main/java/ru/betterend/blocks/EndPortalBlock.java b/src/main/java/ru/betterend/blocks/EndPortalBlock.java index a419608e..ab12343f 100644 --- a/src/main/java/ru/betterend/blocks/EndPortalBlock.java +++ b/src/main/java/ru/betterend/blocks/EndPortalBlock.java @@ -6,7 +6,6 @@ import java.util.Random; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -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 net.minecraft.core.BlockPos; @@ -35,6 +34,7 @@ import net.minecraft.world.level.dimension.DimensionType; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IColorProvider; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; import ru.betterend.interfaces.TeleportingEntity; import ru.betterend.registry.EndParticles; import ru.betterend.registry.EndPortals; @@ -44,7 +44,7 @@ public class EndPortalBlock extends NetherPortalBlock implements IRenderTyped, I public static final IntegerProperty PORTAL = EndBlockProperties.PORTAL; public EndPortalBlock() { - super(FabricBlockSettings.copyOf(Blocks.NETHER_PORTAL).resistance(Blocks.BEDROCK.getExplosionResistance()).luminance(15)); + super(BlocksHelper.copySettingsOf(Blocks.NETHER_PORTAL).resistance(Blocks.BEDROCK.getExplosionResistance()).luminance(15)); } @Override diff --git a/src/main/java/ru/betterend/blocks/EndStoneSmelter.java b/src/main/java/ru/betterend/blocks/EndStoneSmelter.java index e7281b88..d921ef0e 100644 --- a/src/main/java/ru/betterend/blocks/EndStoneSmelter.java +++ b/src/main/java/ru/betterend/blocks/EndStoneSmelter.java @@ -1,9 +1,15 @@ package ru.betterend.blocks; +import java.util.List; +import java.util.Random; + import com.google.common.collect.Lists; +import org.jetbrains.annotations.Nullable; + import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -16,7 +22,12 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; @@ -30,14 +41,10 @@ import net.minecraft.world.level.material.MaterialColor; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; -import org.jetbrains.annotations.Nullable; import ru.bclib.blocks.BaseBlockWithEntity; import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; import ru.betterend.registry.EndBlockEntities; -import java.util.List; -import java.util.Random; - public class EndStoneSmelter extends BaseBlockWithEntity { public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; public static final BooleanProperty LIT = BlockStateProperties.LIT; @@ -47,6 +54,7 @@ public class EndStoneSmelter extends BaseBlockWithEntity { super(FabricBlockSettings.of(Material.STONE, MaterialColor.COLOR_GRAY) .hardness(4F) .resistance(100F) + .breakByTool(FabricToolTags.PICKAXES) .requiresCorrectToolForDrops() .sound(SoundType.STONE)); this.registerDefaultState(this.stateDefinition.any() diff --git a/src/main/java/ru/betterend/blocks/EnderBlock.java b/src/main/java/ru/betterend/blocks/EnderBlock.java index 31469430..65994654 100644 --- a/src/main/java/ru/betterend/blocks/EnderBlock.java +++ b/src/main/java/ru/betterend/blocks/EnderBlock.java @@ -3,6 +3,7 @@ package ru.betterend.blocks; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.SoundType; @@ -17,6 +18,7 @@ public class EnderBlock extends BaseBlock { super(FabricBlockSettings.of(Material.STONE, MaterialColor.WARPED_WART_BLOCK) .hardness(5F) .resistance(6F) + .breakByTool(FabricToolTags.PICKAXES) .requiresCorrectToolForDrops() .sound(SoundType.STONE)); } diff --git a/src/main/java/ru/betterend/blocks/EndstoneDustBlock.java b/src/main/java/ru/betterend/blocks/EndstoneDustBlock.java index 28ca0d6e..72c70d69 100644 --- a/src/main/java/ru/betterend/blocks/EndstoneDustBlock.java +++ b/src/main/java/ru/betterend/blocks/EndstoneDustBlock.java @@ -5,7 +5,6 @@ import java.util.List; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; @@ -14,6 +13,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.FallingBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.ColorUtil; public class EndstoneDustBlock extends FallingBlock { @@ -21,7 +21,7 @@ public class EndstoneDustBlock extends FallingBlock { private static final int COLOR = ColorUtil.color(226, 239, 168); public EndstoneDustBlock() { - super(FabricBlockSettings.copyOf(Blocks.SAND) + super(BlocksHelper.copySettingsOf(Blocks.SAND) .breakByTool(FabricToolTags.SHOVELS) .materialColor(Blocks.END_STONE.defaultMaterialColor())); } diff --git a/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java b/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java index 681e3578..7f1a7d9a 100644 --- a/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java +++ b/src/main/java/ru/betterend/blocks/JellyshroomCapBlock.java @@ -9,7 +9,6 @@ import com.google.common.collect.Lists; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -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 net.minecraft.client.renderer.block.model.BlockModel; @@ -30,6 +29,7 @@ import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IColorProvider; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.ColorUtil; import ru.bclib.util.MHelper; import ru.betterend.client.models.Patterns; @@ -43,7 +43,7 @@ public class JellyshroomCapBlock extends SlimeBlock implements IRenderTyped, Blo private final int coloritem; public JellyshroomCapBlock(int r1, int g1, int b1, int r2, int g2, int b2) { - super(FabricBlockSettings.copyOf(Blocks.SLIME_BLOCK)); + super(BlocksHelper.copySettingsOf(Blocks.SLIME_BLOCK)); colorStart = new Vec3i(r1, g1, b1); colorEnd = new Vec3i(r2, g2, b2); coloritem = ColorUtil.color((r1 + r2) >> 1, (g1 + g2) >> 1, (b1 + b2) >> 1); diff --git a/src/main/java/ru/betterend/blocks/MengerSpongeBlock.java b/src/main/java/ru/betterend/blocks/MengerSpongeBlock.java index 6890f22a..798d28ba 100644 --- a/src/main/java/ru/betterend/blocks/MengerSpongeBlock.java +++ b/src/main/java/ru/betterend/blocks/MengerSpongeBlock.java @@ -4,7 +4,6 @@ import java.util.Queue; import com.google.common.collect.Lists; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.tags.FluidTags; @@ -17,17 +16,17 @@ import net.minecraft.world.level.block.LiquidBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Material; import ru.bclib.blocks.BaseBlockNotFull; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; import ru.betterend.registry.EndBlocks; @SuppressWarnings("deprecation") public class MengerSpongeBlock extends BaseBlockNotFull implements IRenderTyped { public MengerSpongeBlock() { - super(FabricBlockSettings.copyOf(Blocks.SPONGE).noOcclusion()); + super(BlocksHelper.copySettingsOf(Blocks.SPONGE).noOcclusion()); } @Override diff --git a/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java b/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java index 0908d9f3..82c58413 100644 --- a/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java +++ b/src/main/java/ru/betterend/blocks/MengerSpongeWetBlock.java @@ -4,7 +4,6 @@ import java.util.Random; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -28,7 +27,7 @@ import ru.betterend.registry.EndBlocks; @SuppressWarnings("deprecation") public class MengerSpongeWetBlock extends BaseBlockNotFull implements IRenderTyped { public MengerSpongeWetBlock() { - super(FabricBlockSettings.copyOf(Blocks.WET_SPONGE).noOcclusion()); + super(BlocksHelper.copySettingsOf(Blocks.WET_SPONGE).noOcclusion()); } @Override diff --git a/src/main/java/ru/betterend/blocks/MissingTileBlock.java b/src/main/java/ru/betterend/blocks/MissingTileBlock.java index 7a516557..2bc243f6 100644 --- a/src/main/java/ru/betterend/blocks/MissingTileBlock.java +++ b/src/main/java/ru/betterend/blocks/MissingTileBlock.java @@ -1,11 +1,11 @@ package ru.betterend.blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.world.level.block.Blocks; import ru.bclib.blocks.BaseBlock; +import ru.bclib.util.BlocksHelper; public class MissingTileBlock extends BaseBlock { public MissingTileBlock() { - super(FabricBlockSettings.copyOf(Blocks.END_STONE)); + super(BlocksHelper.copySettingsOf(Blocks.END_STONE)); } } diff --git a/src/main/java/ru/betterend/blocks/MossyDragonBoneBlock.java b/src/main/java/ru/betterend/blocks/MossyDragonBoneBlock.java index b7d3e7e1..ff885715 100644 --- a/src/main/java/ru/betterend/blocks/MossyDragonBoneBlock.java +++ b/src/main/java/ru/betterend/blocks/MossyDragonBoneBlock.java @@ -4,7 +4,6 @@ import java.util.Collections; import java.util.List; import java.util.Random; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -19,12 +18,13 @@ import net.minecraft.world.level.lighting.LayerLightEngine; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import ru.bclib.blocks.BaseRotatedPillarBlock; +import ru.bclib.util.BlocksHelper; import ru.betterend.registry.EndBlocks; @SuppressWarnings("deprecation") public class MossyDragonBoneBlock extends BaseRotatedPillarBlock { public MossyDragonBoneBlock() { - super(FabricBlockSettings.copyOf(Blocks.BONE_BLOCK).hardness(0.5F).randomTicks()); + super(BlocksHelper.copySettingsOf(Blocks.BONE_BLOCK).hardness(0.5F).randomTicks()); } @Override diff --git a/src/main/java/ru/betterend/blocks/MossyObsidian.java b/src/main/java/ru/betterend/blocks/MossyObsidian.java index d3423fdf..d17588f5 100644 --- a/src/main/java/ru/betterend/blocks/MossyObsidian.java +++ b/src/main/java/ru/betterend/blocks/MossyObsidian.java @@ -4,7 +4,6 @@ import java.util.Collections; import java.util.List; import java.util.Random; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -19,10 +18,11 @@ import net.minecraft.world.level.lighting.LayerLightEngine; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import ru.bclib.blocks.BaseBlock; +import ru.bclib.util.BlocksHelper; public class MossyObsidian extends BaseBlock { public MossyObsidian() { - super(FabricBlockSettings.copyOf(Blocks.OBSIDIAN).hardness(3).randomTicks()); + super(BlocksHelper.copySettingsOf(Blocks.OBSIDIAN).hardness(3).randomTicks()); } @Override diff --git a/src/main/java/ru/betterend/blocks/NeonCactusBlock.java b/src/main/java/ru/betterend/blocks/NeonCactusBlock.java index 2d1d9acd..bc6fb3ef 100644 --- a/src/main/java/ru/betterend/blocks/NeonCactusBlock.java +++ b/src/main/java/ru/betterend/blocks/NeonCactusBlock.java @@ -1,11 +1,11 @@ package ru.betterend.blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.world.level.block.Blocks; import ru.bclib.blocks.BaseRotatedPillarBlock; +import ru.bclib.util.BlocksHelper; public class NeonCactusBlock extends BaseRotatedPillarBlock { public NeonCactusBlock() { - super(FabricBlockSettings.copyOf(Blocks.CACTUS).luminance(15)); + super(BlocksHelper.copySettingsOf(Blocks.CACTUS).luminance(15)); } } diff --git a/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java b/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java index 568ea567..666e9308 100644 --- a/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java +++ b/src/main/java/ru/betterend/blocks/NeonCactusPlantBlock.java @@ -7,7 +7,6 @@ import java.util.Random; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -64,7 +63,7 @@ public class NeonCactusPlantBlock extends BaseBlockNotFull implements SimpleWate private static final int MAX_LENGTH = 12; public NeonCactusPlantBlock() { - super(FabricBlockSettings.copyOf(Blocks.CACTUS).luminance(15).randomTicks()); + super(BlocksHelper.copySettingsOf(Blocks.CACTUS).luminance(15).randomTicks()); registerDefaultState(defaultBlockState().setValue(WATERLOGGED, false).setValue(FACING, Direction.UP).setValue(SHAPE, TripleShape.TOP)); } diff --git a/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java b/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java index 48b5e923..2d274a1a 100644 --- a/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java +++ b/src/main/java/ru/betterend/blocks/RespawnObeliskBlock.java @@ -6,7 +6,6 @@ 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; import net.minecraft.core.BlockPos; @@ -54,7 +53,7 @@ public class RespawnObeliskBlock extends BaseBlock implements IColorProvider, IR public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; public RespawnObeliskBlock() { - super(FabricBlockSettings.copyOf(Blocks.END_STONE).luminance((state) -> { + super(BlocksHelper.copySettingsOf(Blocks.END_STONE).luminance((state) -> { return (state.getValue(SHAPE) == TripleShape.BOTTOM) ? 0 : 15; })); } diff --git a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java index a8d3dcb0..c4d0a1c1 100644 --- a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java +++ b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterBlock.java @@ -1,6 +1,5 @@ package ru.betterend.blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -27,7 +26,7 @@ public class UmbrellaTreeClusterBlock extends BaseBlock { public static final BooleanProperty NATURAL = BlockProperties.NATURAL; public UmbrellaTreeClusterBlock() { - super(FabricBlockSettings.copyOf(Blocks.NETHER_WART_BLOCK) + super(BlocksHelper.copySettingsOf(Blocks.NETHER_WART_BLOCK) .materialColor(MaterialColor.COLOR_PURPLE) .luminance(15)); registerDefaultState(stateDefinition.any().setValue(NATURAL, false)); diff --git a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java index d6569aa3..f176f4aa 100644 --- a/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java +++ b/src/main/java/ru/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java @@ -2,7 +2,6 @@ package ru.betterend.blocks; import java.util.Random; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.block.Block; @@ -19,7 +18,7 @@ public class UmbrellaTreeClusterEmptyBlock extends BaseBlock { public static final BooleanProperty NATURAL = EndBlockProperties.NATURAL; public UmbrellaTreeClusterEmptyBlock() { - super(FabricBlockSettings.copyOf(Blocks.NETHER_WART_BLOCK) + super(BlocksHelper.copySettingsOf(Blocks.NETHER_WART_BLOCK) .materialColor(MaterialColor.COLOR_PURPLE) .randomTicks()); registerDefaultState(stateDefinition.any().setValue(NATURAL, false)); diff --git a/src/main/java/ru/betterend/blocks/UmbrellaTreeMembraneBlock.java b/src/main/java/ru/betterend/blocks/UmbrellaTreeMembraneBlock.java index b267bf84..7d6b4713 100644 --- a/src/main/java/ru/betterend/blocks/UmbrellaTreeMembraneBlock.java +++ b/src/main/java/ru/betterend/blocks/UmbrellaTreeMembraneBlock.java @@ -7,7 +7,6 @@ import com.google.common.collect.Lists; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -25,6 +24,7 @@ import net.minecraft.world.level.storage.loot.LootContext; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.registry.EndBlocks; @@ -34,7 +34,7 @@ public class UmbrellaTreeMembraneBlock extends SlimeBlock implements IRenderType private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0); public UmbrellaTreeMembraneBlock() { - super(FabricBlockSettings.copyOf(Blocks.SLIME_BLOCK)); + super(BlocksHelper.copySettingsOf(Blocks.SLIME_BLOCK)); } @Override diff --git a/src/main/java/ru/betterend/blocks/basis/EndLanternBlock.java b/src/main/java/ru/betterend/blocks/basis/EndLanternBlock.java index f4ada8b3..cc801110 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndLanternBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndLanternBlock.java @@ -4,7 +4,6 @@ import java.util.Map; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -27,6 +26,7 @@ import net.minecraft.world.level.material.Fluids; import ru.bclib.blocks.BaseBlockNotFull; import ru.bclib.blocks.BlockProperties; import ru.bclib.client.models.ModelsHelper; +import ru.bclib.util.BlocksHelper; @SuppressWarnings("deprecation") public class EndLanternBlock extends BaseBlockNotFull implements SimpleWaterloggedBlock, LiquidBlockContainer { @@ -34,7 +34,7 @@ public class EndLanternBlock extends BaseBlockNotFull implements SimpleWaterlogg public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; public EndLanternBlock(Block source) { - this(FabricBlockSettings.copyOf(source).luminance(15).noOcclusion()); + this(BlocksHelper.copySettingsOf(source).luminance(15).noOcclusion()); } public EndLanternBlock(Properties settings) { diff --git a/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java b/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java index 8d79e82f..80355ff3 100644 --- a/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java @@ -6,15 +6,9 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import net.minecraft.world.level.block.entity.BlockEntityTicker; -import net.minecraft.world.level.block.entity.BlockEntityType; +import com.google.common.collect.Lists; import org.jetbrains.annotations.Nullable; -import com.google.common.collect.Lists; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.core.BlockPos; @@ -34,6 +28,8 @@ import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityTicker; +import net.minecraft.world.level.block.entity.BlockEntityType; 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; @@ -44,9 +40,12 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import ru.bclib.blocks.BaseBlockNotFull; import ru.bclib.blocks.BlockProperties; import ru.bclib.client.models.ModelsHelper; +import ru.bclib.util.BlocksHelper; import ru.betterend.blocks.EndBlockProperties; import ru.betterend.blocks.EndBlockProperties.PedestalState; import ru.betterend.blocks.InfusionPedestal; @@ -98,7 +97,7 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { protected float height = 1.0F; public PedestalBlock(Block parent) { - super(FabricBlockSettings.copyOf(parent).luminance(state -> state.getValue(HAS_LIGHT) ? 12 : 0)); + super(BlocksHelper.copySettingsOf(parent).luminance(state -> state.getValue(HAS_LIGHT) ? 12 : 0)); this.registerDefaultState(stateDefinition.any().setValue(STATE, PedestalState.DEFAULT).setValue(HAS_ITEM, false).setValue(HAS_LIGHT, false)); this.parent = parent; } diff --git a/src/main/java/ru/betterend/blocks/basis/StoneLanternBlock.java b/src/main/java/ru/betterend/blocks/basis/StoneLanternBlock.java index b8f2b7c9..6aea47ec 100644 --- a/src/main/java/ru/betterend/blocks/basis/StoneLanternBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/StoneLanternBlock.java @@ -6,7 +6,6 @@ import org.jetbrains.annotations.Nullable; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -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 net.minecraft.client.renderer.block.model.BlockModel; @@ -19,6 +18,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.client.models.ModelsHelper; import ru.bclib.interfaces.IColorProvider; +import ru.bclib.util.BlocksHelper; import ru.betterend.client.models.Patterns; import ru.betterend.registry.EndBlocks; @@ -27,7 +27,7 @@ public class StoneLanternBlock extends EndLanternBlock implements IColorProvider private static final VoxelShape SHAPE_FLOOR = Block.box(3, 0, 3, 13, 15, 13); public StoneLanternBlock(Block source) { - super(FabricBlockSettings.copyOf(source).luminance(15)); + super(BlocksHelper.copySettingsOf(source).luminance(15)); } @Override diff --git a/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java b/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java index 9ae68e51..5b4ac1ea 100644 --- a/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/ColoredMaterial.java @@ -31,7 +31,7 @@ public class ColoredMaterial { String id = Registry.BLOCK.getKey(source).getPath(); colors.forEach((color, name) -> { String blockName = id + "_" + name; - Block block = constructor.apply(FabricBlockSettings.copyOf(source).materialColor(MaterialColor.COLOR_BLACK)); + Block block = constructor.apply(BlocksHelper.copySettingsOf(source).materialColor(MaterialColor.COLOR_BLACK)); EndBlocks.registerBlock(blockName, block); if (craftEight) { GridRecipe.make(BetterEnd.MOD_ID, blockName, block).checkConfig(Configs.RECIPE_CONFIG).setOutputCount(8).setShape("###", "#D#", "###").addMaterial('#', source).addMaterial('D', dyes.get(color)).build(); diff --git a/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java b/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java index 1e82ff4c..4fdf1cae 100644 --- a/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java @@ -10,6 +10,7 @@ import ru.bclib.blocks.BaseSlabBlock; import ru.bclib.blocks.BaseStairsBlock; import ru.bclib.blocks.BaseWallBlock; import ru.bclib.recipes.GridRecipe; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; import ru.betterend.blocks.EndPedestal; @@ -31,7 +32,7 @@ public class CrystalSubblocksMaterial { public final Block brick_wall; public CrystalSubblocksMaterial(String name, Block source) { - FabricBlockSettings material = FabricBlockSettings.copyOf(source); + FabricBlockSettings material = BlocksHelper.copySettingsOf(source); polished = EndBlocks.registerBlock(name + "_polished", new BaseBlock(material)); tiles = EndBlocks.registerBlock(name + "_tiles", new BaseBlock(material)); pillar = EndBlocks.registerBlock(name + "_pillar", new BaseRotatedPillarBlock(material)); diff --git a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java index 4f5577bd..75ca826e 100644 --- a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java @@ -31,6 +31,7 @@ import ru.bclib.items.tool.BaseSwordItem; import ru.bclib.recipes.FurnaceRecipe; import ru.bclib.recipes.GridRecipe; import ru.bclib.recipes.SmithingTableRecipe; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; import ru.betterend.blocks.BulbVineLanternBlock; @@ -90,26 +91,26 @@ public class MetalMaterial { public final Item boots; public static MetalMaterial makeNormal(String name, MaterialColor color, Tier material, ArmorMaterial armor) { - return new MetalMaterial(name, true, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color), EndItems.makeEndItemSettings(), material, armor); + return new MetalMaterial(name, true, BlocksHelper.copySettingsOf(Blocks.IRON_BLOCK).materialColor(color), EndItems.makeEndItemSettings(), material, armor); } public static MetalMaterial makeNormal(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) { - return new MetalMaterial(name, true, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color).hardness(hardness).resistance(resistance), EndItems.makeEndItemSettings(), material, armor); + return new MetalMaterial(name, true, BlocksHelper.copySettingsOf(Blocks.IRON_BLOCK).materialColor(color).hardness(hardness).resistance(resistance), EndItems.makeEndItemSettings(), material, armor); } public static MetalMaterial makeOreless(String name, MaterialColor color, Tier material, ArmorMaterial armor) { - return new MetalMaterial(name, false, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color), EndItems.makeEndItemSettings(), material, armor); + return new MetalMaterial(name, false, BlocksHelper.copySettingsOf(Blocks.IRON_BLOCK).materialColor(color), EndItems.makeEndItemSettings(), material, armor); } public static MetalMaterial makeOreless(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) { - return new MetalMaterial(name, false, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color).hardness(hardness).resistance(resistance), EndItems.makeEndItemSettings(), material, armor); + return new MetalMaterial(name, false, BlocksHelper.copySettingsOf(Blocks.IRON_BLOCK).materialColor(color).hardness(hardness).resistance(resistance), EndItems.makeEndItemSettings(), material, armor); } private MetalMaterial(String name, boolean hasOre, FabricBlockSettings settings, Properties itemSettings, Tier material, ArmorMaterial armor) { BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings).hardness(1).resistance(1).luminance(15).sound(SoundType.LANTERN); final int level = material.getLevel(); - ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseBlock(FabricBlockSettings.copyOf(Blocks.END_STONE))) : null; + ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseBlock(BlocksHelper.copySettingsOf(Blocks.END_STONE))) : null; block = EndBlocks.registerBlock(name + "_block", new BaseBlock(settings)); tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(settings)); stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(tile)); diff --git a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java index 125c391e..43050297 100644 --- a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java @@ -16,6 +16,7 @@ import ru.bclib.blocks.BaseStoneButtonBlock; import ru.bclib.blocks.BaseWallBlock; import ru.bclib.blocks.StonePressurePlateBlock; import ru.bclib.recipes.GridRecipe; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; import ru.betterend.blocks.EndPedestal; @@ -46,7 +47,7 @@ public class StoneMaterial { public final Block furnace; public StoneMaterial(String name, MaterialColor color) { - FabricBlockSettings material = FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color); + FabricBlockSettings material = BlocksHelper.copySettingsOf(Blocks.END_STONE).materialColor(color); stone = EndBlocks.registerBlock(name, new BaseBlock(material)); polished = EndBlocks.registerBlock(name + "_polished", new BaseBlock(material)); diff --git a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java index 57df31f3..174c73ed 100644 --- a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java @@ -33,6 +33,7 @@ import ru.bclib.blocks.BaseWoodenButtonBlock; import ru.bclib.blocks.StripableBarkBlock; import ru.bclib.blocks.WoodenPressurePlateBlock; import ru.bclib.recipes.GridRecipe; +import ru.bclib.util.BlocksHelper; import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; import ru.betterend.config.Configs; @@ -69,7 +70,7 @@ public class WoodenMaterial { public final Tag.Named logItemTag; public WoodenMaterial(String name, MaterialColor woodColor, MaterialColor planksColor) { - FabricBlockSettings materialPlanks = FabricBlockSettings.copyOf(Blocks.OAK_PLANKS).materialColor(planksColor); + FabricBlockSettings materialPlanks = BlocksHelper.copySettingsOf(Blocks.OAK_PLANKS).materialColor(planksColor); log_stripped = EndBlocks.registerBlock(name + "_stripped_log", new BaseRotatedPillarBlock(materialPlanks)); bark_stripped = EndBlocks.registerBlock(name + "_stripped_bark", new BaseBarkBlock(materialPlanks));