Fix omni-tool ore mining. Closes #2196
This commit is contained in:
parent
3a159d7437
commit
b6641ad2ba
6 changed files with 33 additions and 13 deletions
|
@ -129,14 +129,6 @@ public class DrillItem extends PickaxeItem implements EnergyHolder, ItemDurabili
|
||||||
InitUtils.initPoweredItems(this, stacks);
|
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
|
// ItemDurabilityExtensions
|
||||||
@Override
|
@Override
|
||||||
public double getDurability(ItemStack stack) {
|
public double getDurability(ItemStack stack) {
|
||||||
|
@ -168,4 +160,13 @@ public class DrillItem extends PickaxeItem implements EnergyHolder, ItemDurabili
|
||||||
public double getMaxOutput(EnergySide side) {
|
public double getMaxOutput(EnergySide side) {
|
||||||
return 0;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,12 +26,15 @@ package techreborn.items.tool.industrial;
|
||||||
|
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
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.block.BlockState;
|
||||||
import net.minecraft.client.item.TooltipContext;
|
import net.minecraft.client.item.TooltipContext;
|
||||||
import net.minecraft.entity.LivingEntity;
|
import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.entity.damage.DamageSource;
|
import net.minecraft.entity.damage.DamageSource;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
|
import net.minecraft.tag.Tag;
|
||||||
import net.minecraft.text.LiteralText;
|
import net.minecraft.text.LiteralText;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.ActionResult;
|
import net.minecraft.util.ActionResult;
|
||||||
|
@ -50,20 +53,23 @@ import team.reborn.energy.EnergyTier;
|
||||||
import techreborn.TechReborn;
|
import techreborn.TechReborn;
|
||||||
import techreborn.config.TechRebornConfig;
|
import techreborn.config.TechRebornConfig;
|
||||||
import techreborn.init.TRContent;
|
import techreborn.init.TRContent;
|
||||||
|
import techreborn.items.tool.MiningLevel;
|
||||||
import techreborn.utils.InitUtils;
|
import techreborn.utils.InitUtils;
|
||||||
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import java.util.List;
|
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 final int maxCharge = TechRebornConfig.omniToolCharge;
|
||||||
public int cost = TechRebornConfig.omniToolCost;
|
public int cost = TechRebornConfig.omniToolCost;
|
||||||
public int hitCost = TechRebornConfig.omniToolHitCost;
|
public int hitCost = TechRebornConfig.omniToolHitCost;
|
||||||
|
public final int miningLevel;
|
||||||
|
|
||||||
// 4M FE max charge with 1k charge rate
|
// 4M FE max charge with 1k charge rate
|
||||||
public OmniToolItem() {
|
public OmniToolItem() {
|
||||||
super(ToolMaterials.DIAMOND, 3, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
|
super(ToolMaterials.DIAMOND, 3, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
|
||||||
|
this.miningLevel = MiningLevel.DIAMOND.intLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PickaxeItem
|
// PickaxeItem
|
||||||
|
@ -165,4 +171,13 @@ public class OmniToolItem extends PickaxeItem implements EnergyHolder, ItemDurab
|
||||||
public EnergyTier getTier() {
|
public EnergyTier getTier() {
|
||||||
return EnergyTier.EXTREME;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
"techreborn:peridot_axe",
|
"techreborn:peridot_axe",
|
||||||
"techreborn:basic_chainsaw",
|
"techreborn:basic_chainsaw",
|
||||||
"techreborn:advanced_chainsaw",
|
"techreborn:advanced_chainsaw",
|
||||||
"techreborn:industrial_chainsaw"
|
"techreborn:industrial_chainsaw",
|
||||||
|
"techreborn:omni_tool"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -11,6 +11,7 @@
|
||||||
"techreborn:basic_jackhammer",
|
"techreborn:basic_jackhammer",
|
||||||
"techreborn:advanced_jackhammer",
|
"techreborn:advanced_jackhammer",
|
||||||
"techreborn:industrial_jackhammer",
|
"techreborn:industrial_jackhammer",
|
||||||
"techreborn:rock_cutter"
|
"techreborn:rock_cutter",
|
||||||
|
"techreborn:omni_tool"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -7,6 +7,7 @@
|
||||||
"techreborn:peridot_spade",
|
"techreborn:peridot_spade",
|
||||||
"techreborn:basic_drill",
|
"techreborn:basic_drill",
|
||||||
"techreborn:advanced_drill",
|
"techreborn:advanced_drill",
|
||||||
"techreborn:industrial_drill"
|
"techreborn:industrial_drill",
|
||||||
|
"techreborn:omni_tool"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
"techreborn:nanosaber",
|
"techreborn:nanosaber",
|
||||||
"techreborn:basic_chainsaw",
|
"techreborn:basic_chainsaw",
|
||||||
"techreborn:advanced_chainsaw",
|
"techreborn:advanced_chainsaw",
|
||||||
"techreborn:industrial_chainsaw"
|
"techreborn:industrial_chainsaw",
|
||||||
|
"techreborn:omni_tool"
|
||||||
]
|
]
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue