diff --git a/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java b/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java index b824904f..7f7c2f94 100644 --- a/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java +++ b/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java @@ -23,6 +23,7 @@ import ru.bclib.api.tag.CommonItemTags; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.CustomColorProvider; import ru.bclib.interfaces.RenderLayerProvider; +import ru.bclib.interfaces.tools.AddMineableHammer; import ru.bclib.interfaces.tools.AddMineablePickaxe; import ru.bclib.util.ColorUtil; import ru.bclib.util.MHelper; @@ -30,7 +31,7 @@ import ru.betterend.registry.EndItems; import java.util.List; -public class AuroraCrystalBlock extends AbstractGlassBlock implements RenderLayerProvider, CustomColorProvider, AddMineablePickaxe { +public class AuroraCrystalBlock extends AbstractGlassBlock implements RenderLayerProvider, CustomColorProvider, AddMineablePickaxe, AddMineableHammer { public static final Vec3i[] COLORS; private static final int MIN_DROP = 1; private static final int MAX_DROP = 4; @@ -38,7 +39,6 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements RenderLaye public AuroraCrystalBlock() { super(FabricBlockSettings .of(Material.GLASS) - .breakByTool(CommonItemTags.HAMMERS) .hardness(1F) .resistance(1F) .luminance(15) diff --git a/src/main/java/ru/betterend/blocks/BubbleCoralBlock.java b/src/main/java/ru/betterend/blocks/BubbleCoralBlock.java index a6b63094..0e2c34d2 100644 --- a/src/main/java/ru/betterend/blocks/BubbleCoralBlock.java +++ b/src/main/java/ru/betterend/blocks/BubbleCoralBlock.java @@ -25,7 +25,6 @@ public class BubbleCoralBlock extends EndUnderwaterPlantBlock implements AddMine public BubbleCoralBlock() { super(FabricBlockSettings.of(Material.WATER_PLANT) - .breakByHand(true) .sound(SoundType.CORAL_BLOCK) .noCollission()); } diff --git a/src/main/java/ru/betterend/blocks/EndLilyBlock.java b/src/main/java/ru/betterend/blocks/EndLilyBlock.java index c2540bf5..60f838e4 100644 --- a/src/main/java/ru/betterend/blocks/EndLilyBlock.java +++ b/src/main/java/ru/betterend/blocks/EndLilyBlock.java @@ -43,7 +43,6 @@ public class EndLilyBlock extends EndUnderwaterPlantBlock implements AddMineable public EndLilyBlock() { super(FabricBlockSettings.of(Material.WATER_PLANT) - .breakByHand(true) .sound(SoundType.WET_GRASS) .lightLevel((state) -> state.getValue(SHAPE) == TripleShape.TOP ? 13 : 0) .noCollission()); diff --git a/src/main/java/ru/betterend/blocks/FlamaeaBlock.java b/src/main/java/ru/betterend/blocks/FlamaeaBlock.java index 9a1c0306..136e1e8d 100644 --- a/src/main/java/ru/betterend/blocks/FlamaeaBlock.java +++ b/src/main/java/ru/betterend/blocks/FlamaeaBlock.java @@ -29,7 +29,6 @@ public class FlamaeaBlock extends EndPlantBlock implements CustomItemProvider, A public FlamaeaBlock() { super(FabricBlockSettings.of(Material.PLANT) - .breakByHand(true) .sound(SoundType.WET_GRASS)); } diff --git a/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java b/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java index 8f272182..c8c27074 100644 --- a/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/GlowingPillarSeedBlock.java @@ -24,7 +24,6 @@ public class GlowingPillarSeedBlock extends EndPlantWithAgeBlock implements AddM public GlowingPillarSeedBlock() { super(FabricBlockSettings.of(Material.PLANT) - .breakByHand(true) .sound(SoundType.GRASS) .lightLevel(state -> state.getValue(AGE) * 3 + 3) .randomTicks() diff --git a/src/main/java/ru/betterend/blocks/HydraluxBlock.java b/src/main/java/ru/betterend/blocks/HydraluxBlock.java index a3d30a32..7d5d17b2 100644 --- a/src/main/java/ru/betterend/blocks/HydraluxBlock.java +++ b/src/main/java/ru/betterend/blocks/HydraluxBlock.java @@ -34,7 +34,6 @@ public class HydraluxBlock extends UnderwaterPlantBlock implements AddMineableS public HydraluxBlock() { super(FabricBlockSettings.of(Material.WATER_PLANT) - .breakByHand(true) .sound(SoundType.WET_GRASS) .lightLevel((state) -> state.getValue(SHAPE).hasGlow() ? 15 : 0) .noCollission()); diff --git a/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java b/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java index adc2423c..e2a21dfd 100644 --- a/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java +++ b/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java @@ -16,7 +16,6 @@ public class HydraluxPetalBlock extends BaseBlock implements AddMineableAxe { this( FabricBlockSettings .of(Material.PLANT) - .breakByHand(true) .hardness(1) .resistance(1) .mapColor(MaterialColor.PODZOL) diff --git a/src/main/java/ru/betterend/blocks/LargeAmaranitaBlock.java b/src/main/java/ru/betterend/blocks/LargeAmaranitaBlock.java index de1cb135..c77c3a74 100644 --- a/src/main/java/ru/betterend/blocks/LargeAmaranitaBlock.java +++ b/src/main/java/ru/betterend/blocks/LargeAmaranitaBlock.java @@ -29,7 +29,7 @@ public class LargeAmaranitaBlock extends EndPlantBlock implements AddMineableShe public LargeAmaranitaBlock() { super(FabricBlockSettings.of(Material.PLANT) - .breakByHand(true) + .sound(SoundType.GRASS) .lightLevel((state) -> (state.getValue(SHAPE) == TripleShape.TOP) ? 15 : 0)); } diff --git a/src/main/java/ru/betterend/blocks/PondAnemoneBlock.java b/src/main/java/ru/betterend/blocks/PondAnemoneBlock.java index 41bfdc69..4de122c5 100644 --- a/src/main/java/ru/betterend/blocks/PondAnemoneBlock.java +++ b/src/main/java/ru/betterend/blocks/PondAnemoneBlock.java @@ -24,7 +24,7 @@ public class PondAnemoneBlock extends EndUnderwaterPlantBlock implements AddMine public PondAnemoneBlock() { super(FabricBlockSettings.of(Material.WATER_PLANT) - .breakByHand(true) + .luminance(13) .sound(SoundType.CORAL_BLOCK) .noCollission()); diff --git a/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java b/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java index 47b8e0fc..0f3c0b6a 100644 --- a/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java +++ b/src/main/java/ru/betterend/blocks/SilkMothHiveBlock.java @@ -27,6 +27,7 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import ru.bclib.blocks.BaseBlock; +import ru.bclib.items.tool.BaseShearsItem; import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.entity.SilkMothEntity; @@ -99,7 +100,7 @@ public class SilkMothHiveBlock extends BaseBlock { public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { if (hand == InteractionHand.MAIN_HAND) { ItemStack stack = player.getMainHandItem(); - if (stack.is(FabricToolTags.SHEARS) && state.getValue(FULLNESS) == 3) { + if (BaseShearsItem.isShear(stack) && state.getValue(FULLNESS) == 3) { BlocksHelper.setWithUpdate(world, pos, state.setValue(FULLNESS, 0)); Direction dir = state.getValue(FACING); double px = pos.getX() + dir.getStepX() + 0.5; diff --git a/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java b/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java index 8d588aa1..4b3ca23e 100644 --- a/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java +++ b/src/main/java/ru/betterend/blocks/SilkMothNestBlock.java @@ -37,6 +37,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.blocks.BaseBlock; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.RenderLayerProvider; +import ru.bclib.items.tool.BaseShearsItem; import ru.bclib.util.BlocksHelper; import ru.bclib.util.MHelper; import ru.betterend.entity.SilkMothEntity; @@ -163,7 +164,7 @@ public class SilkMothNestBlock extends BaseBlock implements RenderLayerProvider public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { if (hand == InteractionHand.MAIN_HAND) { ItemStack stack = player.getMainHandItem(); - if (stack.is(FabricToolTags.SHEARS) && state.getValue(ACTIVE) && state.getValue(FULLNESS) == 3) { + if (BaseShearsItem.isShear(stack) && state.getValue(ACTIVE) && state.getValue(FULLNESS) == 3) { BlocksHelper.setWithUpdate(world, pos, state.setValue(FULLNESS, 0)); Direction dir = state.getValue(FACING); double px = pos.getX() + dir.getStepX() + 0.5; diff --git a/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java b/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java index de9e56b3..aef5dd95 100644 --- a/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java +++ b/src/main/java/ru/betterend/blocks/SmallJellyshroomBlock.java @@ -32,6 +32,7 @@ import ru.bclib.api.tag.CommonBlockTags; import ru.bclib.blocks.BaseAttachedBlock; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.RenderLayerProvider; +import ru.bclib.items.tool.BaseShearsItem; import ru.bclib.util.BlocksHelper; import ru.betterend.interfaces.PottablePlant; import ru.betterend.registry.EndFeatures; @@ -57,7 +58,7 @@ public class SmallJellyshroomBlock extends BaseAttachedBlock implements RenderLa @Override public List getDrops(BlockState state, LootContext.Builder builder) { ItemStack tool = builder.getParameter(LootContextParams.TOOL); - if (tool != null && tool.is(FabricToolTags.SHEARS) || EnchantmentHelper.getItemEnchantmentLevel( + if (tool != null && BaseShearsItem.isShear(tool) || EnchantmentHelper.getItemEnchantmentLevel( Enchantments.SILK_TOUCH, tool ) > 0) { diff --git a/src/main/java/ru/betterend/blocks/basis/FurBlock.java b/src/main/java/ru/betterend/blocks/basis/FurBlock.java index ec0e8836..e2c32149 100644 --- a/src/main/java/ru/betterend/blocks/basis/FurBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/FurBlock.java @@ -24,6 +24,7 @@ import ru.bclib.blocks.BaseAttachedBlock; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.RenderLayerProvider; import ru.bclib.interfaces.tools.AddMineableShears; +import ru.bclib.items.tool.BaseShearsItem; import ru.bclib.util.MHelper; import java.util.EnumMap; @@ -46,8 +47,7 @@ public class FurBlock extends BaseAttachedBlock implements RenderLayerProvider, public FurBlock(ItemLike drop, int dropChance) { super(FabricBlockSettings.of(Material.REPLACEABLE_PLANT) - .breakByTool(FabricToolTags.SHEARS) - .breakByHand(true) + .sound(SoundType.GRASS) .noCollission()); this.drop = drop; @@ -64,7 +64,7 @@ public class FurBlock extends BaseAttachedBlock implements RenderLayerProvider, @Override public List getDrops(BlockState state, LootContext.Builder builder) { ItemStack tool = builder.getParameter(LootContextParams.TOOL); - if (tool != null && tool.is(FabricToolTags.SHEARS) || EnchantmentHelper.getItemEnchantmentLevel( + if (tool != null && BaseShearsItem.isShear(tool) || EnchantmentHelper.getItemEnchantmentLevel( Enchantments.SILK_TOUCH, tool ) > 0) { diff --git a/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java b/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java index f40178b0..cdb98240 100644 --- a/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java +++ b/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java @@ -154,7 +154,7 @@ public class MetalMaterial { ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(()->rawOre, 1, 3, 1)) : null; alloyingOre = hasOre ? TagAPI.makeItemTag(BetterEnd.MOD_ID, name + "_alloying") : null; if (hasOre) { - TagAPI.addItemTag(alloyingOre.getName(), ore, rawOre); + TagAPI.addItemTag(alloyingOre, ore, rawOre); } block = EndBlocks.registerBlock(name + "_block", new BaseBlock(settings)); diff --git a/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java b/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java index 4cb230da..5fbc41e1 100644 --- a/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java @@ -1,6 +1,7 @@ package ru.betterend.mixin.common; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; @@ -13,6 +14,7 @@ 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.dimension.DimensionType; +import net.minecraft.world.level.storage.LevelStorageSource; import net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess; import net.minecraft.world.level.storage.ServerLevelData; import net.minecraft.world.level.storage.WritableLevelData; @@ -36,7 +38,7 @@ import java.util.function.Supplier; public abstract class ServerLevelMixin extends Level { //private static String be_lastWorld = null; - protected ServerLevelMixin(WritableLevelData writableLevelData, ResourceKey resourceKey, DimensionType dimensionType, Supplier supplier, boolean bl, boolean bl2, long l) { + protected ServerLevelMixin(WritableLevelData writableLevelData, ResourceKey resourceKey, Holder dimensionType, Supplier supplier, boolean bl, boolean bl2, long l) { super(writableLevelData, resourceKey, dimensionType, supplier, bl, bl2, l); } @@ -52,7 +54,7 @@ public abstract class ServerLevelMixin extends Level { // } @Inject(method = "*", at = @At("TAIL")) - private void be_onServerWorldInit(MinecraftServer minecraftServer, Executor executor, LevelStorageAccess levelStorageAccess, ServerLevelData serverLevelData, ResourceKey resourceKey, DimensionType dimensionType, ChunkProgressListener chunkProgressListener, ChunkGenerator chunkGenerator, boolean bl, long seed, List list, boolean bl2, CallbackInfo ci) { + private void be_onServerWorldInit(MinecraftServer minecraftServer, Executor executor, LevelStorageAccess levelStorageAccess, ServerLevelData serverLevelData, ResourceKey resourceKey, Holder holder, ChunkProgressListener chunkProgressListener, ChunkGenerator chunkGenerator, boolean bl, long seed, List list, boolean bl2, CallbackInfo ci) { ServerLevel level = ServerLevel.class.cast(this); if (level.dimension() == Level.END) { TerrainGenerator.initNoise(seed, chunkGenerator.getBiomeSource(), chunkGenerator.climateSampler()); diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index 769a6446..1e68cd28 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -81,7 +81,7 @@ public class EndTags { TagAPI.addBlockTag(NamedBlockTags.CLIMBABLE, block); } else if (block instanceof PedestalBlock) { - TagAPI.addBlockTag(PEDESTALS.getName(), block); + TagAPI.addBlockTag(PEDESTALS, block); } Material mat = block.defaultBlockState().getMaterial();