diff --git a/src/common/net/uberkat/obsidian/common/ObsidianIngots.java b/src/common/net/uberkat/obsidian/common/ObsidianIngots.java index 708555fef..62529cc9a 100644 --- a/src/common/net/uberkat/obsidian/common/ObsidianIngots.java +++ b/src/common/net/uberkat/obsidian/common/ObsidianIngots.java @@ -39,7 +39,7 @@ import cpw.mods.fml.common.registry.TickRegistry; * @author AidanBrady * */ -@Mod(modid = "ObsidianIngots", name = "Obsidian Ingots", version = "4.2.4") +@Mod(modid = "ObsidianIngots", name = "Obsidian Ingots", version = "4.3") @NetworkMod(channels = { "ObsidianIngots" }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class) public class ObsidianIngots { @@ -61,7 +61,7 @@ public class ObsidianIngots public static Configuration configuration; /** Obsidian Ingots version number */ - public static Version versionNumber = new Version(4, 2, 4); + public static Version versionNumber = new Version(4, 3, 0); /** Obsidian Ingots creative tab */ public static CreativeTabOI tabOBSIDIAN = new CreativeTabOI(); @@ -1029,7 +1029,7 @@ public class ObsidianIngots proxy.loadUtilities(); proxy.loadTickHandler(); - LanguageRegistry.instance().addStringLocalization(tabOBSIDIAN.getTabLabel(), "Obsidian Ingots"); + LanguageRegistry.instance().addStringLocalization(tabOBSIDIAN.getTranslatedTabLabel(), "Obsidian Ingots"); //Attempt to load server commands try { diff --git a/src/common/net/uberkat/obsidian/common/TileEntityAdvancedElectricMachine.java b/src/common/net/uberkat/obsidian/common/TileEntityAdvancedElectricMachine.java index 2fcbfbe3f..4badcf636 100644 --- a/src/common/net/uberkat/obsidian/common/TileEntityAdvancedElectricMachine.java +++ b/src/common/net/uberkat/obsidian/common/TileEntityAdvancedElectricMachine.java @@ -68,6 +68,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM public void onUpdate() { + super.onUpdate(); boolean testActive = operatingTicks > 0; if(inventory[3] != null) @@ -85,8 +86,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM } else if(item.getRate() > energyNeeded) { - item.setEnergy(inventory[3], (item.getEnergy(inventory[3]) - energyNeeded)); - received = energyNeeded; + received = item.discharge(inventory[3], energyNeeded); } setEnergy(energyStored + received); diff --git a/src/common/net/uberkat/obsidian/common/TileEntityElectricBlock.java b/src/common/net/uberkat/obsidian/common/TileEntityElectricBlock.java index 104ea4e36..2f9f0359e 100644 --- a/src/common/net/uberkat/obsidian/common/TileEntityElectricBlock.java +++ b/src/common/net/uberkat/obsidian/common/TileEntityElectricBlock.java @@ -67,11 +67,12 @@ public abstract class TileEntityElectricBlock extends TileEntityDisableable impl sendPacketWithRange(); } else { - if(packetTick % 100 == 0) + if(packetTick % 20 == 0) { sendPacketWithRange(); } } + packetTick++; } } diff --git a/src/common/net/uberkat/obsidian/common/TileEntityElectricMachine.java b/src/common/net/uberkat/obsidian/common/TileEntityElectricMachine.java index d82fb3e4e..8722b9770 100644 --- a/src/common/net/uberkat/obsidian/common/TileEntityElectricMachine.java +++ b/src/common/net/uberkat/obsidian/common/TileEntityElectricMachine.java @@ -47,6 +47,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine public void onUpdate() { + super.onUpdate(); boolean testActive = operatingTicks > 0; if(inventory[1] != null) @@ -64,8 +65,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine } else if(item.getRate() > energyNeeded) { - item.setEnergy(inventory[1], (item.getEnergy(inventory[1]) - energyNeeded)); - received = energyNeeded; + received = item.discharge(inventory[1], energyNeeded); } setEnergy(energyStored + received); diff --git a/src/common/net/uberkat/obsidian/common/TileEntityPowerUnit.java b/src/common/net/uberkat/obsidian/common/TileEntityPowerUnit.java index be9953a08..9a7ee3f54 100644 --- a/src/common/net/uberkat/obsidian/common/TileEntityPowerUnit.java +++ b/src/common/net/uberkat/obsidian/common/TileEntityPowerUnit.java @@ -87,7 +87,7 @@ public class TileEntityPowerUnit extends TileEntityElectricBlock implements IEne { if(inventory[0].getItem() instanceof IEnergizedItem) { - IEnergizedItem item = (IEnergizedItem)inventory[1].getItem(); + IEnergizedItem item = (IEnergizedItem)inventory[0].getItem(); int sendingEnergy = 0; if(item.getRate() <= energyStored) @@ -99,7 +99,7 @@ public class TileEntityPowerUnit extends TileEntityElectricBlock implements IEne sendingEnergy = energyStored; } - int rejects = item.charge(inventory[1], sendingEnergy); + int rejects = item.charge(inventory[0], sendingEnergy); setEnergy(energyStored - (sendingEnergy - rejects)); } else if(inventory[0].getItem() instanceof IItemElectric) @@ -120,8 +120,18 @@ public class TileEntityPowerUnit extends TileEntityElectricBlock implements IEne { if(inventory[1].getItem() instanceof IEnergizedItem) { + int received = 0; + int energyNeeded = MAX_ENERGY - energyStored; IEnergizedItem item = (IEnergizedItem)inventory[1].getItem(); - int received = item.discharge(inventory[1], item.getRate()); + if(item.getRate() <= energyNeeded) + { + received = item.discharge(inventory[1], item.getRate()); + } + else if(item.getRate() > energyNeeded) + { + received = item.discharge(inventory[1], energyNeeded); + } + setEnergy(energyStored + received); } else if(inventory[1].getItem() instanceof IItemElectric) diff --git a/src/common/obsidian/api/IEnergizedItem.java b/src/common/obsidian/api/IEnergizedItem.java index a9b662296..1a9999b6a 100644 --- a/src/common/obsidian/api/IEnergizedItem.java +++ b/src/common/obsidian/api/IEnergizedItem.java @@ -47,7 +47,7 @@ public interface IEnergizedItem * Removes the defined amount of energy from the item. * @param itemstack * @param amount - * @return leftover energy + * @return energy discharged */ public int discharge(ItemStack itemstack, int amount);