Powered items should be indestructible now (#1970)

This commit is contained in:
vhd 2020-01-10 23:49:14 +02:00 committed by modmuss50
parent f1731fe925
commit e4bc2a0cb7
8 changed files with 33 additions and 8 deletions

View file

@ -51,7 +51,7 @@ public class ItemLapotronicOrbpack extends ArmorItem implements EnergyHolder, It
public int transferLimit = 100_000;
public ItemLapotronicOrbpack() {
super(TRArmorMaterial.LAPOTRONPACK, EquipmentSlot.CHEST, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(TRArmorMaterial.LAPOTRONPACK, EquipmentSlot.CHEST, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
}
// Item
@ -70,6 +70,11 @@ public class ItemLapotronicOrbpack extends ArmorItem implements EnergyHolder, It
}
}
@Override
public boolean isDamageable() {
return false;
}
@Override
public double getDurability(ItemStack stack) {
return 1 - ItemUtils.getPowerForDurabilityBar(stack);

View file

@ -54,7 +54,7 @@ public class ItemLithiumIonBatpack extends ArmorItem implements EnergyHolder, It
public int transferLimit = 2_000;
public ItemLithiumIonBatpack() {
super(TRArmorMaterial.LITHIUMBATPACK, EquipmentSlot.CHEST, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(TRArmorMaterial.LITHIUMBATPACK, EquipmentSlot.CHEST, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
}
public static void distributePowerToInventory(World world, PlayerEntity player, ItemStack itemStack, int maxSend) {
@ -86,6 +86,11 @@ public class ItemLithiumIonBatpack extends ArmorItem implements EnergyHolder, It
}
}
@Override
public boolean isDamageable() {
return false;
}
@Override
public double getDurability(ItemStack stack) {
return 1 - ItemUtils.getPowerForDurabilityBar(stack);

View file

@ -55,10 +55,15 @@ public class ItemTRArmour extends ArmorItem implements ItemDurabilityExtensions
}
public ItemTRArmour(ArmorMaterial material, EquipmentSlot slot, String repairOreDict) {
super(material, slot, (new Item.Settings()).group(TechReborn.ITEMGROUP).maxCount(1));
super(material, slot, (new Item.Settings()).group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
this.repairOreDict = repairOreDict;
}
@Override
public boolean isDamageable() {
return false;
}
@Override
public boolean canRepair(ItemStack toRepair, ItemStack repair) {
if (toRepair.getItem() == this && !repairOreDict.isEmpty()) {

View file

@ -55,7 +55,7 @@ public class ChainsawItem extends AxeItem implements EnergyHolder, ItemDurabilit
public int transferLimit = 100;
public ChainsawItem(ToolMaterials material, int energyCapacity, float unpoweredSpeed) {
super(material, (int) material.getAttackDamage(), unpoweredSpeed, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(material, (int) material.getAttackDamage(), unpoweredSpeed, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
this.maxCharge = energyCapacity;
this.addPropertyGetter(new Identifier("techreborn", "animated"), (stack, worldIn, entityIn) -> {

View file

@ -51,7 +51,7 @@ public class DrillItem extends PickaxeItem implements EnergyHolder, ItemDurabili
public int transferLimit = 100;
public DrillItem(ToolMaterial material, int energyCapacity, float unpoweredSpeed, float efficiencyOnProperMaterial) {
super(material, (int) material.getAttackDamage(), unpoweredSpeed, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(material, (int) material.getAttackDamage(), unpoweredSpeed, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
this.maxCharge = energyCapacity;
this.unpoweredSpeed = unpoweredSpeed;
this.poweredSpeed = efficiencyOnProperMaterial;

View file

@ -53,7 +53,7 @@ public class JackhammerItem extends PickaxeItem implements EnergyHolder, ItemDur
public int transferLimit = EnergyTier.MEDIUM.getMaxInput();
public JackhammerItem(ToolMaterials material, int energyCapacity) {
super(material, (int) material.getAttackDamage(), 1f, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(material, (int) material.getAttackDamage(), 1f, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
this.maxCharge = energyCapacity;
}
@ -82,6 +82,11 @@ public class JackhammerItem extends PickaxeItem implements EnergyHolder, ItemDur
return true;
}
@Override
public boolean isDamageable() {
return false;
}
// ToolItem
@Override
public boolean canRepair(ItemStack stack, ItemStack ingredient) {

View file

@ -48,7 +48,12 @@ public class ElectricTreetapItem extends Item implements EnergyHolder, ItemDurab
public int cost = 20;
public ElectricTreetapItem() {
super(new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
}
@Override
public boolean isDamageable() {
return false;
}
@Override

View file

@ -62,7 +62,7 @@ public class NanosaberItem extends SwordItem implements EnergyHolder, ItemDurabi
// 4M FE max charge with 1k charge rate
public NanosaberItem() {
super(ToolMaterials.DIAMOND, 1, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
super(ToolMaterials.DIAMOND, 1, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1).maxDamage(-1));
this.addPropertyGetter(new Identifier("techreborn:active"), (stack, worldIn, entityIn) -> {
if (ItemUtils.isActive(stack)) {
if (Energy.of(stack).getMaxStored() - Energy.of(stack).getEnergy() >= 0.9 * Energy.of(stack).getMaxStored()) {