diff options
author | Detrav <witalyezep@gmail.com> | 2016-11-25 21:46:30 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-11-25 21:46:30 +0300 |
commit | 46abca1bb6254c6cd6d971d4ec8ffd2955b43609 (patch) | |
tree | cb5390c1f71365b5c8ef4c6e72f36c48dbc9f3ff /src/main/java/com/detrav/utils | |
parent | 996ad06c0bf4132288b77ddffd3427ee91a4dfd7 (diff) | |
download | GT5-Unofficial-46abca1bb6254c6cd6d971d4ec8ffd2955b43609.tar.gz GT5-Unofficial-46abca1bb6254c6cd6d971d4ec8ffd2955b43609.tar.bz2 GT5-Unofficial-46abca1bb6254c6cd6d971d4ec8ffd2955b43609.zip |
Updated repair tool
Diffstat (limited to 'src/main/java/com/detrav/utils')
-rw-r--r-- | src/main/java/com/detrav/utils/PortableAnvilInventory.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/main/java/com/detrav/utils/PortableAnvilInventory.java b/src/main/java/com/detrav/utils/PortableAnvilInventory.java index e6d56a3464..05502b090e 100644 --- a/src/main/java/com/detrav/utils/PortableAnvilInventory.java +++ b/src/main/java/com/detrav/utils/PortableAnvilInventory.java @@ -1,5 +1,6 @@ package com.detrav.utils; +import com.detrav.items.DetravMetaGeneratedTool01; import gregtech.api.enums.Materials; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.util.GT_Recipe; @@ -13,10 +14,12 @@ import net.minecraftforge.fluids.FluidStack; * Created by Detrav on 30.10.2016. */ public class PortableAnvilInventory extends InventoryBasic { - public PortableAnvilInventory(String p_i1561_1_, boolean p_i1561_2_, int p_i1561_3_) { + public PortableAnvilInventory(ItemStack me,String p_i1561_1_, boolean p_i1561_2_, int p_i1561_3_) { super(p_i1561_1_, p_i1561_2_, p_i1561_3_); + meStack = me; } + ItemStack meStack; public void setInventorySlotContents(int slot, ItemStack stack) { super.setInventorySlotContents(slot, stack); @@ -37,16 +40,23 @@ public class PortableAnvilInventory extends InventoryBasic { if (fStack.getFluidID() == fluidID) { ItemStack gtCopy = gtTool; //make copy - float amount = fStack.amount * 2f / 1000f; + float amount = fStack.amount / 1000f; long maxDamage = GT_MetaGenerated_Tool.getToolMaxDamage(gtCopy); long damage = GT_MetaGenerated_Tool.getToolDamage(gtCopy); if (damage == 0) { super.setInventorySlotContents(2, null); return; } - maxDamage = (long) (maxDamage * amount); - damage -= maxDamage; - if (damage < 0) damage = 0; + float flevel = DetravMetaGeneratedTool01.INSTANCE.getLevel(meStack,mat.mToolQuality); + int level = ((int)flevel + 1)*((int)flevel + 1); + long repair = (long) (maxDamage * amount * (flevel+1)); + repair = Math.min(repair,damage); + damage -= repair; + + float delta = ((float)repair) / ((float)maxDamage) / ((float)level); + flevel += delta; + DetravMetaGeneratedTool01.INSTANCE.setLevelToItemStack(meStack,mat.mToolQuality,flevel); + GT_MetaGenerated_Tool.setToolDamage(gtCopy, damage); if (gtMaterial.stackSize > 1) gtMaterial.stackSize -= 1; |