Fix omni-tool ore mining. Closes #2196

This commit is contained in:
drcrazy 2020-10-05 17:16:54 +03:00
parent 3a159d7437
commit b6641ad2ba
6 changed files with 33 additions and 13 deletions

View file

@ -129,14 +129,6 @@ public class DrillItem extends PickaxeItem implements EnergyHolder, ItemDurabili
InitUtils.initPoweredItems(this, stacks);
}
@Override
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
if (tag.equals(FabricToolTags.PICKAXES) || tag.equals(FabricToolTags.SHOVELS)) {
return miningLevel;
}
return 0;
}
// ItemDurabilityExtensions
@Override
public double getDurability(ItemStack stack) {
@ -168,4 +160,13 @@ public class DrillItem extends PickaxeItem implements EnergyHolder, ItemDurabili
public double getMaxOutput(EnergySide side) {
return 0;
}
// DynamicAttributeTool
@Override
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
if (tag.equals(FabricToolTags.PICKAXES) || tag.equals(FabricToolTags.SHOVELS)) {
return miningLevel;
}
return 0;
}
}

View file

@ -26,12 +26,15 @@ package techreborn.items.tool.industrial;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
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.client.item.TooltipContext;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.*;
import net.minecraft.tag.Tag;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
@ -50,20 +53,23 @@ import team.reborn.energy.EnergyTier;
import techreborn.TechReborn;
import techreborn.config.TechRebornConfig;
import techreborn.init.TRContent;
import techreborn.items.tool.MiningLevel;
import techreborn.utils.InitUtils;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public class OmniToolItem extends PickaxeItem implements EnergyHolder, ItemDurabilityExtensions {
public class OmniToolItem extends PickaxeItem implements EnergyHolder, ItemDurabilityExtensions, DynamicAttributeTool {
public final int maxCharge = TechRebornConfig.omniToolCharge;
public int cost = TechRebornConfig.omniToolCost;
public int hitCost = TechRebornConfig.omniToolHitCost;
public final int miningLevel;
// 4M FE max charge with 1k charge rate
public OmniToolItem() {
super(ToolMaterials.DIAMOND, 3, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
this.miningLevel = MiningLevel.DIAMOND.intLevel;
}
// PickaxeItem
@ -165,4 +171,13 @@ public class OmniToolItem extends PickaxeItem implements EnergyHolder, ItemDurab
public EnergyTier getTier() {
return EnergyTier.EXTREME;
}
// DynamicAttributeTool
@Override
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
if (tag.equals(FabricToolTags.PICKAXES) || tag.equals(FabricToolTags.SHOVELS) || tag.equals(FabricToolTags.AXES) || tag.equals(FabricToolTags.SHEARS) || tag.equals(FabricToolTags.SWORDS)) {
return miningLevel;
}
return 0;
}
}

View file

@ -7,6 +7,7 @@
"techreborn:peridot_axe",
"techreborn:basic_chainsaw",
"techreborn:advanced_chainsaw",
"techreborn:industrial_chainsaw"
"techreborn:industrial_chainsaw",
"techreborn:omni_tool"
]
}

View file

@ -11,6 +11,7 @@
"techreborn:basic_jackhammer",
"techreborn:advanced_jackhammer",
"techreborn:industrial_jackhammer",
"techreborn:rock_cutter"
"techreborn:rock_cutter",
"techreborn:omni_tool"
]
}

View file

@ -7,6 +7,7 @@
"techreborn:peridot_spade",
"techreborn:basic_drill",
"techreborn:advanced_drill",
"techreborn:industrial_drill"
"techreborn:industrial_drill",
"techreborn:omni_tool"
]
}

View file

@ -8,6 +8,7 @@
"techreborn:nanosaber",
"techreborn:basic_chainsaw",
"techreborn:advanced_chainsaw",
"techreborn:industrial_chainsaw"
"techreborn:industrial_chainsaw",
"techreborn:omni_tool"
]
}