From 3dacd0727f11ffc18328de57b0289164c70fad6b Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sat, 4 Dec 2021 05:46:16 +0300 Subject: [PATCH] Block constructors refactoring --- .../java/ru/bclib/blocks/BaseAnvilBlock.java | 7 ++- .../java/ru/bclib/blocks/BaseBarrelBlock.java | 7 ++- .../ru/bclib/blocks/BaseBlockNotFull.java | 1 - .../ru/bclib/blocks/BaseBookshelfBlock.java | 7 ++- .../java/ru/bclib/blocks/BaseButtonBlock.java | 1 - .../java/ru/bclib/blocks/BaseChainBlock.java | 7 ++- .../bclib/blocks/BaseCraftingTableBlock.java | 7 ++- .../java/ru/bclib/blocks/BaseCropBlock.java | 21 +++++---- .../java/ru/bclib/blocks/BaseDoorBlock.java | 7 ++- .../ru/bclib/blocks/BaseDoublePlantBlock.java | 33 ++++++++----- .../ru/bclib/blocks/BaseFurnaceBlock.java | 7 ++- .../java/ru/bclib/blocks/BaseLadderBlock.java | 7 ++- .../java/ru/bclib/blocks/BaseLeavesBlock.java | 16 +++---- .../ru/bclib/blocks/BaseMetalBarsBlock.java | 7 ++- .../java/ru/bclib/blocks/BaseOreBlock.java | 47 ++++++++++--------- .../java/ru/bclib/blocks/BasePlantBlock.java | 30 +++++++----- .../bclib/blocks/BasePlantWithAgeBlock.java | 14 +++--- .../ru/bclib/blocks/FeatureSaplingBlock.java | 4 +- 18 files changed, 146 insertions(+), 84 deletions(-) diff --git a/src/main/java/ru/bclib/blocks/BaseAnvilBlock.java b/src/main/java/ru/bclib/blocks/BaseAnvilBlock.java index dc5826af..5eae1c38 100644 --- a/src/main/java/ru/bclib/blocks/BaseAnvilBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseAnvilBlock.java @@ -15,6 +15,7 @@ import net.minecraft.world.item.PickaxeItem; import net.minecraft.world.level.block.AnvilBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockBehaviour; 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; @@ -40,7 +41,11 @@ public abstract class BaseAnvilBlock extends AnvilBlock implements BlockModelPro public IntegerProperty durability; public BaseAnvilBlock(MaterialColor color) { - super(FabricBlockSettings.copyOf(Blocks.ANVIL).color(color)); + this(FabricBlockSettings.copyOf(Blocks.ANVIL).color(color)); + } + + public BaseAnvilBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseBarrelBlock.java b/src/main/java/ru/bclib/blocks/BaseBarrelBlock.java index c5d8dd8b..adfff85a 100644 --- a/src/main/java/ru/bclib/blocks/BaseBarrelBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseBarrelBlock.java @@ -22,6 +22,7 @@ import net.minecraft.world.level.block.BarrelBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.phys.BlockHitResult; @@ -40,7 +41,11 @@ import java.util.Random; public class BaseBarrelBlock extends BarrelBlock implements BlockModelProvider { public BaseBarrelBlock(Block source) { - super(FabricBlockSettings.copyOf(source).noOcclusion()); + this(FabricBlockSettings.copyOf(source).noOcclusion()); + } + + public BaseBarrelBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseBlockNotFull.java b/src/main/java/ru/bclib/blocks/BaseBlockNotFull.java index 0ddc700c..d483ea4f 100644 --- a/src/main/java/ru/bclib/blocks/BaseBlockNotFull.java +++ b/src/main/java/ru/bclib/blocks/BaseBlockNotFull.java @@ -6,7 +6,6 @@ import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.state.BlockState; public class BaseBlockNotFull extends BaseBlock { - public BaseBlockNotFull(Properties settings) { super(settings); } diff --git a/src/main/java/ru/bclib/blocks/BaseBookshelfBlock.java b/src/main/java/ru/bclib/blocks/BaseBookshelfBlock.java index 68999421..0a6e570f 100644 --- a/src/main/java/ru/bclib/blocks/BaseBookshelfBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseBookshelfBlock.java @@ -10,6 +10,7 @@ import net.minecraft.world.item.Items; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; 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; @@ -24,7 +25,11 @@ import java.util.Optional; public class BaseBookshelfBlock extends BaseBlock { public BaseBookshelfBlock(Block source) { - super(FabricBlockSettings.copyOf(source)); + this(FabricBlockSettings.copyOf(source)); + } + + public BaseBookshelfBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseButtonBlock.java b/src/main/java/ru/bclib/blocks/BaseButtonBlock.java index 289eef21..e60f2ba0 100644 --- a/src/main/java/ru/bclib/blocks/BaseButtonBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseButtonBlock.java @@ -25,7 +25,6 @@ import java.util.Map; import java.util.Optional; public abstract class BaseButtonBlock extends ButtonBlock implements BlockModelProvider { - private final Block parent; protected BaseButtonBlock(Block parent, Properties properties, boolean sensitive) { diff --git a/src/main/java/ru/bclib/blocks/BaseChainBlock.java b/src/main/java/ru/bclib/blocks/BaseChainBlock.java index a0c5863c..4af5392b 100644 --- a/src/main/java/ru/bclib/blocks/BaseChainBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseChainBlock.java @@ -10,6 +10,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.ChainBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.MaterialColor; import net.minecraft.world.level.storage.loot.LootContext; @@ -28,7 +29,11 @@ import java.util.Optional; public class BaseChainBlock extends ChainBlock implements BlockModelProvider, RenderLayerProvider { public BaseChainBlock(MaterialColor color) { - super(FabricBlockSettings.copyOf(Blocks.CHAIN).color(color)); + this(FabricBlockSettings.copyOf(Blocks.CHAIN).color(color)); + } + + public BaseChainBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseCraftingTableBlock.java b/src/main/java/ru/bclib/blocks/BaseCraftingTableBlock.java index 6be8cbb9..a161d979 100644 --- a/src/main/java/ru/bclib/blocks/BaseCraftingTableBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseCraftingTableBlock.java @@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.CraftingTableBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; import org.jetbrains.annotations.Nullable; @@ -23,7 +24,11 @@ import java.util.Optional; public class BaseCraftingTableBlock extends CraftingTableBlock implements BlockModelProvider { public BaseCraftingTableBlock(Block source) { - super(FabricBlockSettings.copyOf(source)); + this(FabricBlockSettings.copyOf(source)); + } + + public BaseCraftingTableBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseCropBlock.java b/src/main/java/ru/bclib/blocks/BaseCropBlock.java index 18a16c06..72f7f20a 100644 --- a/src/main/java/ru/bclib/blocks/BaseCropBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseCropBlock.java @@ -2,7 +2,6 @@ package ru.bclib.blocks; import com.google.common.collect.Lists; 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.server.level.ServerLevel; import net.minecraft.util.Mth; @@ -31,19 +30,25 @@ import java.util.List; import java.util.Random; public class BaseCropBlock extends BasePlantBlock { - private static final VoxelShape SHAPE = Block.box(2, 0, 2, 14, 14, 14); public static final IntegerProperty AGE = IntegerProperty.create("age", 0, 3); + private static final VoxelShape SHAPE = Block.box(2, 0, 2, 14, 14, 14); private final Block[] terrain; private final Item drop; public BaseCropBlock(Item drop, Block... terrain) { - super(FabricBlockSettings.of(Material.PLANT) - .breakByTool(FabricToolTags.HOES) - .breakByHand(true) - .sound(SoundType.GRASS) - .randomTicks() - .noCollission()); + this( + FabricBlockSettings.of(Material.PLANT) + .breakByHand(true) + .sound(SoundType.GRASS) + .randomTicks() + .noCollission(), + drop, terrain + ); + } + + public BaseCropBlock(BlockBehaviour.Properties properties, Item drop, Block... terrain) { + super(properties); this.drop = drop; this.terrain = terrain; this.registerDefaultState(defaultBlockState().setValue(AGE, 0)); diff --git a/src/main/java/ru/bclib/blocks/BaseDoorBlock.java b/src/main/java/ru/bclib/blocks/BaseDoorBlock.java index 2e8f8d8b..881085a9 100644 --- a/src/main/java/ru/bclib/blocks/BaseDoorBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseDoorBlock.java @@ -12,6 +12,7 @@ import net.minecraft.util.StringRepresentable; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.DoorHingeSide; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; @@ -31,7 +32,11 @@ import java.util.Optional; public class BaseDoorBlock extends DoorBlock implements RenderLayerProvider, BlockModelProvider { public BaseDoorBlock(Block source) { - super(FabricBlockSettings.copyOf(source).strength(3F, 3F).noOcclusion()); + this(FabricBlockSettings.copyOf(source).strength(3F, 3F).noOcclusion()); + } + + public BaseDoorBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java b/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java index ad065758..7c80d49e 100644 --- a/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java @@ -37,28 +37,32 @@ import ru.bclib.util.BlocksHelper; import java.util.List; import java.util.Random; -@SuppressWarnings("deprecation") public abstract class BaseDoublePlantBlock extends BaseBlockNotFull implements RenderLayerProvider, BonemealableBlock { private static final VoxelShape SHAPE = Block.box(4, 2, 4, 12, 16, 12); public static final IntegerProperty ROTATION = BlockProperties.ROTATION; public static final BooleanProperty TOP = BooleanProperty.create("top"); public BaseDoublePlantBlock() { - super(FabricBlockSettings.of(Material.PLANT) - .breakByTool(FabricToolTags.SHEARS) - .breakByHand(true) - .sound(SoundType.WET_GRASS) - .noCollission()); - this.registerDefaultState(this.stateDefinition.any().setValue(TOP, false)); + this( + FabricBlockSettings.of(Material.PLANT) + .breakByHand(true) + .sound(SoundType.GRASS) + .noCollission() + ); } public BaseDoublePlantBlock(int light) { - super(FabricBlockSettings.of(Material.PLANT) - .breakByTool(FabricToolTags.SHEARS) - .breakByHand(true) - .sound(SoundType.WET_GRASS) - .lightLevel((state) -> state.getValue(TOP) ? light : 0) - .noCollission()); + this( + FabricBlockSettings.of(Material.PLANT) + .breakByHand(true) + .sound(SoundType.GRASS) + .lightLevel((state) -> state.getValue(TOP) ? light : 0) + .noCollission() + ); + } + + public BaseDoublePlantBlock(BlockBehaviour.Properties properties) { + super(properties); this.registerDefaultState(this.stateDefinition.any().setValue(TOP, false)); } @@ -68,6 +72,7 @@ public abstract class BaseDoublePlantBlock extends BaseBlockNotFull implements R } @Override + @SuppressWarnings("deprecation") public VoxelShape getShape(BlockState state, BlockGetter view, BlockPos pos, CollisionContext ePos) { Vec3 vec3d = state.getOffset(view, pos); return SHAPE.move(vec3d.x, vec3d.y, vec3d.z); @@ -79,6 +84,7 @@ public abstract class BaseDoublePlantBlock extends BaseBlockNotFull implements R } @Override + @SuppressWarnings("deprecation") public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) { BlockState down = world.getBlockState(pos.below()); BlockState up = world.getBlockState(pos.above()); @@ -94,6 +100,7 @@ public abstract class BaseDoublePlantBlock extends BaseBlockNotFull implements R protected abstract boolean isTerrain(BlockState state); @Override + @SuppressWarnings("deprecation") public BlockState updateShape(BlockState state, Direction facing, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) { if (!canStayAt(state, world, pos)) { return Blocks.AIR.defaultBlockState(); diff --git a/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java b/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java index ef5c0557..52844196 100644 --- a/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java @@ -20,6 +20,7 @@ import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; 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.BlockBehaviour; 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; @@ -39,7 +40,11 @@ import java.util.Optional; public class BaseFurnaceBlock extends FurnaceBlock implements BlockModelProvider, RenderLayerProvider { public BaseFurnaceBlock(Block source) { - super(FabricBlockSettings.copyOf(source).lightLevel(state -> state.getValue(LIT) ? 13 : 0)); + this(FabricBlockSettings.copyOf(source).lightLevel(state -> state.getValue(LIT) ? 13 : 0)); + } + + public BaseFurnaceBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseLadderBlock.java b/src/main/java/ru/bclib/blocks/BaseLadderBlock.java index d43d8fdf..2128a780 100644 --- a/src/main/java/ru/bclib/blocks/BaseLadderBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseLadderBlock.java @@ -9,6 +9,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.LadderBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; import org.jetbrains.annotations.Nullable; @@ -26,7 +27,11 @@ import java.util.Optional; public class BaseLadderBlock extends LadderBlock implements RenderLayerProvider, BlockModelProvider { public BaseLadderBlock(Block block) { - super(FabricBlockSettings.copyOf(block).noOcclusion()); + this(FabricBlockSettings.copyOf(block).noOcclusion()); + } + + public BaseLadderBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java b/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java index f4dc27e9..6096864e 100644 --- a/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java @@ -2,7 +2,6 @@ package ru.bclib.blocks; import com.google.common.collect.Lists; 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.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -28,14 +27,13 @@ public class BaseLeavesBlock extends LeavesBlock implements BlockModelProvider, protected final Block sapling; private static FabricBlockSettings makeLeaves(MaterialColor color) { - return FabricBlockSettings.copyOf(Blocks.OAK_LEAVES) - .mapColor(color) - .requiresTool() - .breakByTool(FabricToolTags.SHEARS) - .breakByTool(FabricToolTags.HOES) - .allowsSpawning((state, world, pos, type) -> false) - .suffocates((state, world, pos) -> false) - .blockVision((state, world, pos) -> false); + return FabricBlockSettings + .copyOf(Blocks.OAK_LEAVES) + .mapColor(color) + .requiresTool() + .allowsSpawning((state, world, pos, type) -> false) + .suffocates((state, world, pos) -> false) + .blockVision((state, world, pos) -> false); } public BaseLeavesBlock(Block sapling, MaterialColor color, Consumer customizeProperties) { diff --git a/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java b/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java index 5c64bf7f..895ff38e 100644 --- a/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java @@ -12,6 +12,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.IronBarsBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; import org.jetbrains.annotations.Nullable; @@ -29,7 +30,11 @@ import java.util.Optional; public class BaseMetalBarsBlock extends IronBarsBlock implements BlockModelProvider, RenderLayerProvider { public BaseMetalBarsBlock(Block source) { - super(FabricBlockSettings.copyOf(source).strength(5.0F, 6.0F).noOcclusion()); + this(FabricBlockSettings.copyOf(source).strength(5.0F, 6.0F).noOcclusion()); + } + + public BaseMetalBarsBlock(BlockBehaviour.Properties properties) { + super(properties); } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseOreBlock.java b/src/main/java/ru/bclib/blocks/BaseOreBlock.java index c996c5f1..c899efcf 100644 --- a/src/main/java/ru/bclib/blocks/BaseOreBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseOreBlock.java @@ -24,24 +24,38 @@ import ru.bclib.util.MHelper; import java.util.Collections; import java.util.List; +import java.util.function.Supplier; public class BaseOreBlock extends OreBlock implements BlockModelProvider { - private final Item dropItem; + private final Supplier dropItem; private final int minCount; private final int maxCount; - public BaseOreBlock(Item drop, int minCount, int maxCount, int experience) { + public BaseOreBlock(Supplier drop, int minCount, int maxCount, int experience) { this(drop, minCount, maxCount, experience, 0); - } - public BaseOreBlock(Item drop, int minCount, int maxCount, int experience, int miningLevel) { - this(drop, minCount, maxCount, experience, miningLevel, FabricBlockSettings.of(Material.STONE, MaterialColor.SAND) - .requiresTool() - .destroyTime(3F) - .explosionResistance(9F) - .sound(SoundType.STONE)); - + public BaseOreBlock(Supplier drop, int minCount, int maxCount, int experience, int miningLevel) { + this( + FabricBlockSettings + .of(Material.STONE, MaterialColor.SAND) + .requiresTool() + .destroyTime(3F) + .explosionResistance(9F) + .sound(SoundType.STONE), + drop, minCount, maxCount, experience, miningLevel + ); + } + + public BaseOreBlock(Properties properties, Supplier drop, int minCount, int maxCount, int experience) { + this(properties, drop, minCount, maxCount, experience, 0); + } + + public BaseOreBlock(Properties properties, Supplier drop, int minCount, int maxCount, int experience, int miningLevel) { + super(makeProps(properties, miningLevel), UniformInt.of(experience>0?1:0, experience)); + this.dropItem = drop; + this.minCount = minCount; + this.maxCount = maxCount; } private static Properties makeProps(Properties properties, int level){ @@ -49,21 +63,10 @@ public class BaseOreBlock extends OreBlock implements BlockModelProvider { return properties; } - public BaseOreBlock(Item drop, int minCount, int maxCount, int experience, Properties properties) { - this(drop, minCount, maxCount, experience, 0, properties); - } - - public BaseOreBlock(Item drop, int minCount, int maxCount, int experience, int miningLevel, Properties properties) { - super(makeProps(properties, miningLevel), UniformInt.of(experience>0?1:0, experience)); - this.dropItem = drop; - this.minCount = minCount; - this.maxCount = maxCount; - } - @Override @SuppressWarnings("deprecation") public List getDrops(BlockState state, LootContext.Builder builder) { - return getDroppedItems(this, dropItem, maxCount, minCount, state, builder); + return getDroppedItems(this, dropItem.get(), maxCount, minCount, state, builder); } public static List getDroppedItems(ItemLike block, Item dropItem, int maxCount, int minCount, BlockState state, LootContext.Builder builder) { diff --git a/src/main/java/ru/bclib/blocks/BasePlantBlock.java b/src/main/java/ru/bclib/blocks/BasePlantBlock.java index 23114bfb..8a5f92fc 100644 --- a/src/main/java/ru/bclib/blocks/BasePlantBlock.java +++ b/src/main/java/ru/bclib/blocks/BasePlantBlock.java @@ -41,7 +41,6 @@ import java.util.List; import java.util.Optional; import java.util.Random; -@SuppressWarnings("deprecation") public abstract class BasePlantBlock extends BaseBlockNotFull implements RenderLayerProvider, BonemealableBlock { private static final VoxelShape SHAPE = Block.box(4, 0, 4, 12, 14, 12); @@ -54,20 +53,24 @@ public abstract class BasePlantBlock extends BaseBlockNotFull implements RenderL } public BasePlantBlock(boolean replaceable) { - super(FabricBlockSettings.of(replaceable ? Material.REPLACEABLE_PLANT : Material.PLANT) - .breakByTool(FabricToolTags.SHEARS) - .breakByHand(true) - .sound(SoundType.GRASS) - .noCollission()); + this( + FabricBlockSettings + .of(replaceable ? Material.REPLACEABLE_PLANT : Material.PLANT) + .breakByHand(true) + .sound(SoundType.GRASS) + .noCollission() + ); } public BasePlantBlock(boolean replaceable, int light) { - super(FabricBlockSettings.of(replaceable ? Material.REPLACEABLE_PLANT : Material.PLANT) - .breakByTool(FabricToolTags.SHEARS) - .breakByHand(true) - .luminance(light) - .sound(SoundType.GRASS) - .noCollission()); + this( + FabricBlockSettings + .of(replaceable ? Material.REPLACEABLE_PLANT : Material.PLANT) + .breakByHand(true) + .luminance(light) + .sound(SoundType.GRASS) + .noCollission() + ); } public BasePlantBlock(Properties settings) { @@ -77,6 +80,7 @@ public abstract class BasePlantBlock extends BaseBlockNotFull implements RenderL protected abstract boolean isTerrain(BlockState state); @Override + @SuppressWarnings("deprecation") public VoxelShape getShape(BlockState state, BlockGetter view, BlockPos pos, CollisionContext ePos) { Vec3 vec3d = state.getOffset(view, pos); return SHAPE.move(vec3d.x, vec3d.y, vec3d.z); @@ -88,12 +92,14 @@ public abstract class BasePlantBlock extends BaseBlockNotFull implements RenderL } @Override + @SuppressWarnings("deprecation") public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) { BlockState down = world.getBlockState(pos.below()); return isTerrain(down); } @Override + @SuppressWarnings("deprecation") public BlockState updateShape(BlockState state, Direction facing, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) { if (!canSurvive(state, world, pos)) { return Blocks.AIR.defaultBlockState(); diff --git a/src/main/java/ru/bclib/blocks/BasePlantWithAgeBlock.java b/src/main/java/ru/bclib/blocks/BasePlantWithAgeBlock.java index 4d8ce1b0..3beb20d8 100644 --- a/src/main/java/ru/bclib/blocks/BasePlantWithAgeBlock.java +++ b/src/main/java/ru/bclib/blocks/BasePlantWithAgeBlock.java @@ -1,7 +1,6 @@ package ru.bclib.blocks; 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.server.level.ServerLevel; import net.minecraft.world.level.Level; @@ -19,12 +18,13 @@ public abstract class BasePlantWithAgeBlock extends BasePlantBlock { public static final IntegerProperty AGE = BlockProperties.AGE; public BasePlantWithAgeBlock() { - this(FabricBlockSettings.of(Material.PLANT) - .breakByTool(FabricToolTags.SHEARS) - .breakByHand(true) - .sound(SoundType.GRASS) - .randomTicks() - .noCollission()); + this( + FabricBlockSettings.of(Material.PLANT) + .breakByHand(true) + .sound(SoundType.GRASS) + .randomTicks() + .noCollission() + ); } public BasePlantWithAgeBlock(Properties settings) { diff --git a/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java b/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java index db585f73..dfee5df8 100644 --- a/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java +++ b/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java @@ -65,8 +65,8 @@ public class FeatureSaplingBlock extends SaplingBlock implements RenderLayerProv ); } - public FeatureSaplingBlock(BlockBehaviour.Properties settings, Function> featureSupplier) { - super(null, settings); + public FeatureSaplingBlock(BlockBehaviour.Properties properties, Function> featureSupplier) { + super(null, properties); this.feature = featureSupplier; }