Hammers fix
This commit is contained in:
parent
f80ed2d1e8
commit
ad1c9d7d7a
4 changed files with 28 additions and 7 deletions
|
@ -58,7 +58,6 @@ public class BetterEnd implements ModInitializer {
|
||||||
return new Identifier(MOD_ID, path);
|
return new Identifier(MOD_ID, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For what does this exists? //
|
|
||||||
public static String getStringId(String id) {
|
public static String getStringId(String id) {
|
||||||
return String.format("%s:%s", MOD_ID, id);
|
return String.format("%s:%s", MOD_ID, id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package ru.betterend.item;
|
package ru.betterend.item;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
|
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.block.BlockState;
|
||||||
import net.minecraft.entity.LivingEntity;
|
import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.item.AxeItem;
|
import net.minecraft.item.AxeItem;
|
||||||
|
@ -17,6 +18,9 @@ public class EndAxe extends AxeItem implements DynamicAttributeTool {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
||||||
|
if (tag.equals(FabricToolTags.AXES)) {
|
||||||
return this.getMaterial().getMiningLevel();
|
return this.getMaterial().getMiningLevel();
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,9 @@ import com.google.common.collect.Multimap;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
import io.netty.util.internal.ThreadLocalRandom;
|
import io.netty.util.internal.ThreadLocalRandom;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
|
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.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
|
@ -28,6 +29,8 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import ru.betterend.registry.ItemTagRegistry;
|
||||||
|
|
||||||
public class EndHammer extends MiningToolItem implements DynamicAttributeTool {
|
public class EndHammer extends MiningToolItem implements DynamicAttributeTool {
|
||||||
|
|
||||||
public final static UUID ATTACK_KNOCKBACK_MODIFIER_ID = MathHelper.randomUuid(ThreadLocalRandom.current());
|
public final static UUID ATTACK_KNOCKBACK_MODIFIER_ID = MathHelper.randomUuid(ThreadLocalRandom.current());
|
||||||
|
@ -46,7 +49,12 @@ public class EndHammer extends MiningToolItem implements DynamicAttributeTool {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canMine(BlockState state, World world, BlockPos pos, PlayerEntity miner) {
|
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
|
@Override
|
||||||
|
@ -88,13 +96,19 @@ public class EndHammer extends MiningToolItem implements DynamicAttributeTool {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getMiningSpeedMultiplier(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
public float getMiningSpeedMultiplier(Tag<Item> 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
|
@Override
|
||||||
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
||||||
|
if (tag.equals(ItemTagRegistry.HAMMERS)) {
|
||||||
return this.getMaterial().getMiningLevel();
|
return this.getMaterial().getMiningLevel();
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEffectiveOn(BlockState state) {
|
public boolean isEffectiveOn(BlockState state) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package ru.betterend.item;
|
package ru.betterend.item;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
|
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.block.BlockState;
|
||||||
import net.minecraft.entity.LivingEntity;
|
import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
@ -17,6 +18,9 @@ public class EndPickaxe extends PickaxeItem implements DynamicAttributeTool {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
||||||
|
if (tag.equals(FabricToolTags.PICKAXES)) {
|
||||||
return this.getMaterial().getMiningLevel();
|
return this.getMaterial().getMiningLevel();
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue