diff options
author | Detrav <witalyezep@gmail.com> | 2016-04-07 21:24:23 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-04-07 21:24:23 +0300 |
commit | d547d565d330afe26e70a65d3f158e526e2552fe (patch) | |
tree | 8e054b4b270c4a56af4f9ca5aab6d212c6a5fada /src/main/java/com/detrav | |
parent | 11af7aba55850727f3e9d68da0ba812f44a7f2dc (diff) | |
download | GT5-Unofficial-d547d565d330afe26e70a65d3f158e526e2552fe.tar.gz GT5-Unofficial-d547d565d330afe26e70a65d3f158e526e2552fe.tar.bz2 GT5-Unofficial-d547d565d330afe26e70a65d3f158e526e2552fe.zip |
FakeElectricCharge
Diffstat (limited to 'src/main/java/com/detrav')
-rw-r--r-- | src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java index 862979319a..2736047d9f 100644 --- a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java +++ b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java @@ -78,14 +78,35 @@ public class DetravPortableChargerContainer extends Container { } public void onUpdate(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer) { - ItemStack item = this.slots.getStackInSlotOnClosing(0); + if(mItem==null) return; + + ItemStack item = this.slots.getStackInSlot(0); if(item == null) return; + Long[] itemStats = DetravMetaGeneratedTool01.INSTANCE.getElectricStats(item); if(itemStats == null) return; - long tCharge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); - if(tCharge <=0) return; + long itemCharge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(item); + if(itemCharge <=0) return; + long needEnergy = itemStats[1] - itemCharge; + if(needEnergy == 0) return; + + Long[] selfStats = DetravMetaGeneratedTool01.INSTANCE.getElectricStats(mItem); + if(selfStats == null) return; + + long selfCharge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); + if(selfCharge <=0) return; + long loss = DetravMetaGeneratedTool01.INSTANCE.getElectricStatsLoss(mItem); if(loss<0) return; + + long energyToTransfer = (Math.min(selfStats[1],itemStats[1]) - loss)*aTimer ; + + if(needEnergy<energyToTransfer) + energyToTransfer = needEnergy; + long removeEnergy = Math.min(energyToTransfer+loss*aTimer,selfCharge); + + DetravMetaGeneratedTool01.INSTANCE.setCharge(item,itemCharge+energyToTransfer); + DetravMetaGeneratedTool01.INSTANCE.setCharge(mItem,selfCharge-removeEnergy); } /*@Override |