From ad1c9d7d7aec5b0e8fff5d3bc44ee7d1cdddb9cb Mon Sep 17 00:00:00 2001 From: Aleksey Date: Mon, 19 Oct 2020 09:33:42 +0300 Subject: [PATCH] Hammers fix --- src/main/java/ru/betterend/BetterEnd.java | 1 - src/main/java/ru/betterend/item/EndAxe.java | 6 ++++- .../java/ru/betterend/item/EndHammer.java | 22 +++++++++++++++---- .../java/ru/betterend/item/EndPickaxe.java | 6 ++++- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index 1f52b721..b2a463e7 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -58,7 +58,6 @@ public class BetterEnd implements ModInitializer { return new Identifier(MOD_ID, path); } - // For what does this exists? // public static String getStringId(String id) { return String.format("%s:%s", MOD_ID, id); } diff --git a/src/main/java/ru/betterend/item/EndAxe.java b/src/main/java/ru/betterend/item/EndAxe.java index 1965e5b6..3379eea2 100644 --- a/src/main/java/ru/betterend/item/EndAxe.java +++ b/src/main/java/ru/betterend/item/EndAxe.java @@ -1,6 +1,7 @@ package ru.betterend.item; import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.entity.LivingEntity; import net.minecraft.item.AxeItem; @@ -17,6 +18,9 @@ public class EndAxe extends AxeItem implements DynamicAttributeTool { @Override public int getMiningLevel(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { - return this.getMaterial().getMiningLevel(); + if (tag.equals(FabricToolTags.AXES)) { + return this.getMaterial().getMiningLevel(); + } + return 0; } } diff --git a/src/main/java/ru/betterend/item/EndHammer.java b/src/main/java/ru/betterend/item/EndHammer.java index f19620ee..f6a6deb2 100644 --- a/src/main/java/ru/betterend/item/EndHammer.java +++ b/src/main/java/ru/betterend/item/EndHammer.java @@ -8,8 +8,9 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Sets; import io.netty.util.internal.ThreadLocalRandom; + import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool; -import net.fabricmc.fabric.api.tool.attribute.v1.ToolManager; + import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.Material; @@ -28,6 +29,8 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; +import ru.betterend.registry.ItemTagRegistry; + public class EndHammer extends MiningToolItem implements DynamicAttributeTool { public final static UUID ATTACK_KNOCKBACK_MODIFIER_ID = MathHelper.randomUuid(ThreadLocalRandom.current()); @@ -46,7 +49,12 @@ public class EndHammer extends MiningToolItem implements DynamicAttributeTool { @Override public boolean canMine(BlockState state, World world, BlockPos pos, PlayerEntity miner) { - return !miner.isCreative() || state.getMaterial().equals(Material.STONE) || state.getMaterial().equals(Material.GLASS); + return state.getMaterial().equals(Material.STONE) || + state.getMaterial().equals(Material.GLASS) || + state.isOf(Blocks.DIAMOND_BLOCK) || + state.isOf(Blocks.EMERALD_BLOCK) || + state.isOf(Blocks.LAPIS_BLOCK) || + state.isOf(Blocks.REDSTONE_BLOCK); } @Override @@ -88,12 +96,18 @@ public class EndHammer extends MiningToolItem implements DynamicAttributeTool { @Override public float getMiningSpeedMultiplier(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { - return ToolManager.handleBreakingSpeed(state, stack, user); + if (tag.equals(ItemTagRegistry.HAMMERS)) { + return this.getMiningSpeedMultiplier(stack, state); + } + return 1.0F; } @Override public int getMiningLevel(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { - return this.getMaterial().getMiningLevel(); + if (tag.equals(ItemTagRegistry.HAMMERS)) { + return this.getMaterial().getMiningLevel(); + } + return 0; } @Override diff --git a/src/main/java/ru/betterend/item/EndPickaxe.java b/src/main/java/ru/betterend/item/EndPickaxe.java index 17548543..0d3db593 100644 --- a/src/main/java/ru/betterend/item/EndPickaxe.java +++ b/src/main/java/ru/betterend/item/EndPickaxe.java @@ -1,6 +1,7 @@ package ru.betterend.item; import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.entity.LivingEntity; import net.minecraft.item.Item; @@ -17,6 +18,9 @@ public class EndPickaxe extends PickaxeItem implements DynamicAttributeTool { @Override public int getMiningLevel(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { - return this.getMaterial().getMiningLevel(); + if (tag.equals(FabricToolTags.PICKAXES)) { + return this.getMaterial().getMiningLevel(); + } + return 0; } }