diff options
Diffstat (limited to 'src/main')
3 files changed, 55 insertions, 21 deletions
diff --git a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java index 80df1318e3..e440f45874 100644 --- a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java +++ b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java @@ -6,9 +6,7 @@ import gregtech.api.GregTech_API; import gregtech.api.util.GT_Utility; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.ItemDye; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; @@ -47,24 +45,6 @@ public class DetravPortableChargerGui extends GuiContainer { } } - public Long[] getElectricStats(ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if (aNBT != null && aNBT.getBoolean("Electric")) - return new Long[]{aNBT.getLong("MaxCharge"), aNBT.getLong("Voltage"), aNBT.getLong("Tier"), aNBT.getLong("SpecialData")}; - } - return null; - } - - public final long getRealCharge(ItemStack aStack) { - Long[] tStats = getElectricStats(aStack); - if (tStats == null) return 0; - if (tStats[3] > 0) return (int) (long) tStats[3]; - NBTTagCompound tNBT = aStack.getTagCompound(); - return tNBT == null ? 0 : tNBT.getLong("GT.ItemCharge"); - } - @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { mc.renderEngine.bindTexture(location); diff --git a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java index 1902fdd92c..862979319a 100644 --- a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java +++ b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java @@ -1,14 +1,20 @@ package com.detrav.gui.containers; +import com.detrav.items.DetravMetaGeneratedTool01; +import gregtech.api.items.GT_MetaBase_Item; import gregtech.common.items.armor.SlotLocked; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; +import org.lwjgl.Sys; /** * Created by wital_000 on 07.04.2016. @@ -24,6 +30,8 @@ public class DetravPortableChargerContainer extends Container { mItem = aStack; //new Slot() bindPlayerInventory(inventoryPlayer); + + //DetravMetaGeneratedTool01.INSTANCE.getToolStats(mItem). } protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) { @@ -37,7 +45,7 @@ public class DetravPortableChargerContainer extends Container { for (int i = 0; i < 9; i++) { ItemStack stackInSlot = inventoryPlayer.getStackInSlot(i); - if (mItem!=null && stackInSlot!=null && mItem.getItem() == stackInSlot.getItem()) { + if (mItem!=null && stackInSlot!=null && mItem == stackInSlot) { addSlotToContainer(new SlotLocked(inventoryPlayer, i, 8 + i * 18, 142)); } else { addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142)); @@ -63,4 +71,28 @@ public class DetravPortableChargerContainer extends Container { //} } } + + @Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { + return null; + } + + public void onUpdate(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer) { + ItemStack item = this.slots.getStackInSlotOnClosing(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 loss = DetravMetaGeneratedTool01.INSTANCE.getElectricStatsLoss(mItem); + if(loss<0) return; + } + + /*@Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { + ItemStack result = super.transferStackInSlot(par1EntityPlayer,par2); + par1EntityPlayer.addChatMessage(new ChatComponentText(result.getDisplayName())); + + return result; + }*/ }
\ No newline at end of file diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java index 353b26066d..25412fc919 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java @@ -1,8 +1,10 @@ package com.detrav.items.behaviours; import com.detrav.DetravScannerMod; +import com.detrav.gui.containers.DetravPortableChargerContainer; import gregtech.api.items.GT_MetaBase_Item; import gregtech.common.items.behaviors.Behaviour_None; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -15,5 +17,25 @@ public class BehaviourDetravPortableCharger extends Behaviour_None { public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { DetravScannerMod.proxy.openPortableChargerGui(aPlayer); return super.onItemRightClick(aItem, aStack, aWorld, aPlayer); + //aPlayer.openContainer } + + public void onUpdate(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand) { + if(!aIsInHand) return; + //if(aStack.getm) + if(aWorld.isRemote) return; + if(aPlayer instanceof EntityPlayer) + { + EntityPlayer player = (EntityPlayer)aPlayer; + if(player.openContainer !=null) + { + if(player.openContainer instanceof DetravPortableChargerContainer) + { + DetravPortableChargerContainer container = (DetravPortableChargerContainer)player.openContainer; + container.onUpdate(aItem,aStack,aWorld,aPlayer,aTimer); + } + } + } + } + } |