diff --git a/src/minecraft/mekanism/client/ObjectRenderer.java b/src/minecraft/mekanism/client/ObjectRenderer.java index a5e21c5b3..749b78f4a 100644 --- a/src/minecraft/mekanism/client/ObjectRenderer.java +++ b/src/minecraft/mekanism/client/ObjectRenderer.java @@ -18,8 +18,6 @@ public class ObjectRenderer public double maxX; public double maxY; public double maxZ; - - public int lightValue; public Block baseBlock = Block.sand; diff --git a/src/minecraft/mekanism/common/BlockBasic.java b/src/minecraft/mekanism/common/BlockBasic.java index 84ae93543..8b709cfaf 100644 --- a/src/minecraft/mekanism/common/BlockBasic.java +++ b/src/minecraft/mekanism/common/BlockBasic.java @@ -1,15 +1,9 @@ package mekanism.common; -import static net.minecraftforge.common.ForgeDirection.UP; - -import java.util.ArrayList; import java.util.List; -import mekanism.api.Object3D; import mekanism.client.ClientProxy; import net.minecraft.block.Block; -import net.minecraft.block.BlockStairs; -import net.minecraft.block.BlockStep; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -22,7 +16,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Icon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.liquids.LiquidContainerRegistry; import net.minecraftforge.liquids.LiquidStack; import cpw.mods.fml.relauncher.Side; diff --git a/src/minecraft/mekanism/common/ContainerAdvancedElectricMachine.java b/src/minecraft/mekanism/common/ContainerAdvancedElectricMachine.java index 34a5349c9..e031983fa 100644 --- a/src/minecraft/mekanism/common/ContainerAdvancedElectricMachine.java +++ b/src/minecraft/mekanism/common/ContainerAdvancedElectricMachine.java @@ -39,6 +39,7 @@ public class ContainerAdvancedElectricMachine extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -46,12 +47,13 @@ public class ContainerAdvancedElectricMachine extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerDynamicTank.java b/src/minecraft/mekanism/common/ContainerDynamicTank.java index bdefe7e41..3690cd023 100644 --- a/src/minecraft/mekanism/common/ContainerDynamicTank.java +++ b/src/minecraft/mekanism/common/ContainerDynamicTank.java @@ -47,10 +47,10 @@ public class ContainerDynamicTank extends Container tileEntity.closeChest(); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerElectricChest.java b/src/minecraft/mekanism/common/ContainerElectricChest.java index be0b92ac6..fbd9fc877 100644 --- a/src/minecraft/mekanism/common/ContainerElectricChest.java +++ b/src/minecraft/mekanism/common/ContainerElectricChest.java @@ -30,6 +30,7 @@ public class ContainerElectricChest extends Container if(isBlock) { tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } else { itemInventory.openChest(); @@ -80,6 +81,7 @@ public class ContainerElectricChest extends Container if(isBlock) { tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } else { itemInventory.closeChest(); @@ -87,11 +89,11 @@ public class ContainerElectricChest extends Container } @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) + public boolean canInteractWith(EntityPlayer entityplayer) { if(isBlock) { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + return tileEntity.isUseableByPlayer(entityplayer); } return true; diff --git a/src/minecraft/mekanism/common/ContainerElectricMachine.java b/src/minecraft/mekanism/common/ContainerElectricMachine.java index 64331f6bb..e15c6af37 100644 --- a/src/minecraft/mekanism/common/ContainerElectricMachine.java +++ b/src/minecraft/mekanism/common/ContainerElectricMachine.java @@ -38,6 +38,7 @@ public class ContainerElectricMachine extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -45,12 +46,13 @@ public class ContainerElectricMachine extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerElectricPump.java b/src/minecraft/mekanism/common/ContainerElectricPump.java index c3339f7ce..6cd225af9 100644 --- a/src/minecraft/mekanism/common/ContainerElectricPump.java +++ b/src/minecraft/mekanism/common/ContainerElectricPump.java @@ -37,6 +37,7 @@ public class ContainerElectricPump extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -44,12 +45,13 @@ public class ContainerElectricPump extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerEnergyCube.java b/src/minecraft/mekanism/common/ContainerEnergyCube.java index e97930407..bf8f3e0e4 100644 --- a/src/minecraft/mekanism/common/ContainerEnergyCube.java +++ b/src/minecraft/mekanism/common/ContainerEnergyCube.java @@ -38,6 +38,7 @@ public class ContainerEnergyCube extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -45,12 +46,13 @@ public class ContainerEnergyCube extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerFactory.java b/src/minecraft/mekanism/common/ContainerFactory.java index 0e67c68c9..c80f047f8 100644 --- a/src/minecraft/mekanism/common/ContainerFactory.java +++ b/src/minecraft/mekanism/common/ContainerFactory.java @@ -91,6 +91,7 @@ public class ContainerFactory extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -98,12 +99,13 @@ public class ContainerFactory extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) + public boolean canInteractWith(EntityPlayer entityplayer) { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + return tileEntity.isUseableByPlayer(entityplayer); } @Override @@ -130,6 +132,13 @@ public class ContainerFactory extends Container { return null; } + } + else if(slotID == 3) + { + if(!mergeItemStack(slotStack, tileEntity.inventory.length, inventorySlots.size(), true)) + { + return null; + } } else if((slotStack.getItem() instanceof IElectricItem && ((IElectricItem)slotStack.getItem()).canProvideEnergy(slotStack)) || (slotStack.getItem() instanceof IItemElectric && ((IItemElectric)slotStack.getItem()).getProvideRequest(slotStack).amperes != 0) || slotStack.itemID == Item.redstone.itemID) { @@ -152,7 +161,7 @@ public class ContainerFactory extends Container { if(!isInputSlot(slotID)) { - if(!mergeItemStack(slotStack, 2, 2+tileEntity.tier.processes, false)) + if(!mergeItemStack(slotStack, 4, 4+tileEntity.tier.processes, false)) { return null; } diff --git a/src/minecraft/mekanism/common/ContainerGasTank.java b/src/minecraft/mekanism/common/ContainerGasTank.java index bdab1f534..a72f93eae 100644 --- a/src/minecraft/mekanism/common/ContainerGasTank.java +++ b/src/minecraft/mekanism/common/ContainerGasTank.java @@ -34,6 +34,7 @@ public class ContainerGasTank extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -41,12 +42,13 @@ public class ContainerGasTank extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerMetallurgicInfuser.java b/src/minecraft/mekanism/common/ContainerMetallurgicInfuser.java index 54273ffa4..b4fdb2790 100644 --- a/src/minecraft/mekanism/common/ContainerMetallurgicInfuser.java +++ b/src/minecraft/mekanism/common/ContainerMetallurgicInfuser.java @@ -42,6 +42,7 @@ public class ContainerMetallurgicInfuser extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -49,12 +50,13 @@ public class ContainerMetallurgicInfuser extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ContainerTeleporter.java b/src/minecraft/mekanism/common/ContainerTeleporter.java index 081e626ef..ebda5b753 100644 --- a/src/minecraft/mekanism/common/ContainerTeleporter.java +++ b/src/minecraft/mekanism/common/ContainerTeleporter.java @@ -34,6 +34,7 @@ public class ContainerTeleporter extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -41,12 +42,13 @@ public class ContainerTeleporter extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/common/ItemMachineUpgrade.java b/src/minecraft/mekanism/common/ItemMachineUpgrade.java index 139bd4401..57c2de4b1 100644 --- a/src/minecraft/mekanism/common/ItemMachineUpgrade.java +++ b/src/minecraft/mekanism/common/ItemMachineUpgrade.java @@ -1,10 +1,7 @@ package mekanism.common; -import universalelectricity.prefab.modifier.IModifier; -import net.minecraft.item.ItemStack; - -public class ItemMachineUpgrade extends ItemMekanism implements IModifier +public class ItemMachineUpgrade extends ItemMekanism { public ItemMachineUpgrade(int id, int energyBoost, int tickReduction) { @@ -12,16 +9,4 @@ public class ItemMachineUpgrade extends ItemMekanism implements IModifier setMaxStackSize(8); setCreativeTab(Mekanism.tabMekanism); } - - @Override - public String getName(ItemStack itemstack) - { - return itemID == Mekanism.SpeedUpgrade.itemID ? "Speed" : "Capacity"; - } - - @Override - public int getEffectiveness(ItemStack itemstack) - { - return itemID == Mekanism.SpeedUpgrade.itemID ? 150 : 1000; - } } diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index 258c9d246..fd6880cc3 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -8,7 +8,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.logging.Logger; import mekanism.api.EnumGas; diff --git a/src/minecraft/mekanism/common/TileEntityBasicBlock.java b/src/minecraft/mekanism/common/TileEntityBasicBlock.java index 6f2ea5b90..b3b09f8f7 100644 --- a/src/minecraft/mekanism/common/TileEntityBasicBlock.java +++ b/src/minecraft/mekanism/common/TileEntityBasicBlock.java @@ -1,17 +1,20 @@ package mekanism.common; -import java.util.ArrayList; - -import com.google.common.io.ByteArrayDataInput; - import ic2.api.IWrenchable; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import universalelectricity.prefab.tile.TileEntityDisableable; +import net.minecraft.tileentity.TileEntity; -public abstract class TileEntityBasicBlock extends TileEntityDisableable implements IWrenchable, ITileNetwork +import com.google.common.io.ByteArrayDataInput; + +public abstract class TileEntityBasicBlock extends TileEntity implements IWrenchable, ITileNetwork { /** Whether or not this machine has initialized and registered with other mods. */ public boolean initialized; @@ -19,8 +22,8 @@ public abstract class TileEntityBasicBlock extends TileEntityDisableable impleme /** The direction this block is facing. */ public int facing; - /** The amount of players using this block */ - public int playersUsing = 0; + /** The players currently using this block. */ + public Set playersUsing = new HashSet(); /** A timer used to send packets to clients. */ public int packetTick; @@ -28,13 +31,11 @@ public abstract class TileEntityBasicBlock extends TileEntityDisableable impleme @Override public void updateEntity() { - super.updateEntity(); - onUpdate(); if(!worldObj.isRemote) { - if(playersUsing > 0) + if(playersUsing.size() > 0) { PacketHandler.sendTileEntityPacketToClients(this, 50, getNetworkedData(new ArrayList())); } diff --git a/src/minecraft/mekanism/common/TileEntityContainerBlock.java b/src/minecraft/mekanism/common/TileEntityContainerBlock.java index 16fc1d3fc..7c1620bc7 100644 --- a/src/minecraft/mekanism/common/TileEntityContainerBlock.java +++ b/src/minecraft/mekanism/common/TileEntityContainerBlock.java @@ -163,16 +163,10 @@ public abstract class TileEntityContainerBlock extends TileEntityBasicBlock impl } @Override - public void openChest() - { - playersUsing++; - } + public void openChest() {} @Override - public void closeChest() - { - playersUsing--; - } + public void closeChest() {} @Override public boolean isInvNameLocalized() diff --git a/src/minecraft/mekanism/common/TileEntityDynamicTank.java b/src/minecraft/mekanism/common/TileEntityDynamicTank.java index 571a45b2c..4463e2923 100644 --- a/src/minecraft/mekanism/common/TileEntityDynamicTank.java +++ b/src/minecraft/mekanism/common/TileEntityDynamicTank.java @@ -24,8 +24,6 @@ import cpw.mods.fml.relauncher.SideOnly; public class TileEntityDynamicTank extends TileEntityContainerBlock { - public Set playersUsing = new HashSet(); - /** Unique inventory ID for the dynamic tank, serves as a way to retrieve cached inventories. */ public int inventoryID = -1; diff --git a/src/minecraft/mekanism/common/TileEntityElectricChest.java b/src/minecraft/mekanism/common/TileEntityElectricChest.java index 3bb8825f4..df8ec8b5d 100644 --- a/src/minecraft/mekanism/common/TileEntityElectricChest.java +++ b/src/minecraft/mekanism/common/TileEntityElectricChest.java @@ -43,16 +43,16 @@ public class TileEntityElectricChest extends TileEntityElectricBlock prevLidAngle = lidAngle; float increment = 0.1F; - if((playersUsing > 0) && (lidAngle == 0.0F)) + if((playersUsing.size() > 0) && (lidAngle == 0.0F)) { worldObj.playSoundEffect(xCoord + 0.5F, yCoord + 0.5D, zCoord + 0.5F, "random.chestopen", 0.5F, (worldObj.rand.nextFloat()*0.1F) + 0.9F); } - if((playersUsing == 0 && lidAngle > 0.0F) || (playersUsing > 0 && lidAngle < 1.0F)) + if((playersUsing.size() == 0 && lidAngle > 0.0F) || (playersUsing.size() > 0 && lidAngle < 1.0F)) { float angle = lidAngle; - if(playersUsing > 0) + if(playersUsing.size() > 0) { lidAngle += increment; } diff --git a/src/minecraft/mekanism/common/TileEntityFactory.java b/src/minecraft/mekanism/common/TileEntityFactory.java index 3871ad8eb..438d333df 100644 --- a/src/minecraft/mekanism/common/TileEntityFactory.java +++ b/src/minecraft/mekanism/common/TileEntityFactory.java @@ -551,12 +551,12 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg public int getInputSlot(int operation) { - return operation+2; + return operation+4; } public int getOutputSlot(int operation) { - return tier.processes+2+operation; + return tier.processes+4+operation; } @Override diff --git a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java index 807f590a3..1bd411f01 100644 --- a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java +++ b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java @@ -1,7 +1,6 @@ package mekanism.common; import ic2.api.Direction; -import ic2.api.ElectricItem; import ic2.api.IElectricItem; import ic2.api.energy.tile.IEnergySink; @@ -17,22 +16,16 @@ import mekanism.api.InfusionOutput; import mekanism.api.InfusionType; import mekanism.api.SideData; import mekanism.client.IHasSound; -import mekanism.common.IFactory.RecipeType; import mekanism.common.RecipeHandler.Recipe; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; -import universalelectricity.core.item.ElectricItemHelper; import universalelectricity.core.item.IItemElectric; import com.google.common.io.ByteArrayDataInput; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import dan200.computer.api.IComputerAccess; import dan200.computer.api.IPeripheral; diff --git a/src/minecraft/mekanism/generators/common/ContainerBioGenerator.java b/src/minecraft/mekanism/generators/common/ContainerBioGenerator.java index d8cfe52dd..9cbb02f50 100644 --- a/src/minecraft/mekanism/generators/common/ContainerBioGenerator.java +++ b/src/minecraft/mekanism/generators/common/ContainerBioGenerator.java @@ -37,6 +37,7 @@ public class ContainerBioGenerator extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -44,12 +45,13 @@ public class ContainerBioGenerator extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/generators/common/ContainerElectrolyticSeparator.java b/src/minecraft/mekanism/generators/common/ContainerElectrolyticSeparator.java index 70db48ed3..7b0a83720 100644 --- a/src/minecraft/mekanism/generators/common/ContainerElectrolyticSeparator.java +++ b/src/minecraft/mekanism/generators/common/ContainerElectrolyticSeparator.java @@ -43,6 +43,7 @@ public class ContainerElectrolyticSeparator extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -50,12 +51,13 @@ public class ContainerElectrolyticSeparator extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/generators/common/ContainerHeatGenerator.java b/src/minecraft/mekanism/generators/common/ContainerHeatGenerator.java index 6fc1a5a32..5557dd1a9 100644 --- a/src/minecraft/mekanism/generators/common/ContainerHeatGenerator.java +++ b/src/minecraft/mekanism/generators/common/ContainerHeatGenerator.java @@ -37,6 +37,7 @@ public class ContainerHeatGenerator extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -44,12 +45,13 @@ public class ContainerHeatGenerator extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/generators/common/ContainerHydrogenGenerator.java b/src/minecraft/mekanism/generators/common/ContainerHydrogenGenerator.java index 2dbf2c4c8..235d06c33 100644 --- a/src/minecraft/mekanism/generators/common/ContainerHydrogenGenerator.java +++ b/src/minecraft/mekanism/generators/common/ContainerHydrogenGenerator.java @@ -37,6 +37,7 @@ public class ContainerHydrogenGenerator extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -44,12 +45,13 @@ public class ContainerHydrogenGenerator extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/generators/common/ContainerSolarGenerator.java b/src/minecraft/mekanism/generators/common/ContainerSolarGenerator.java index 02fb32e42..c94c9e1ba 100644 --- a/src/minecraft/mekanism/generators/common/ContainerSolarGenerator.java +++ b/src/minecraft/mekanism/generators/common/ContainerSolarGenerator.java @@ -35,6 +35,7 @@ public class ContainerSolarGenerator extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -42,12 +43,13 @@ public class ContainerSolarGenerator extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/generators/common/ContainerWindTurbine.java b/src/minecraft/mekanism/generators/common/ContainerWindTurbine.java index 81fe71c6e..ced4d1d72 100644 --- a/src/minecraft/mekanism/generators/common/ContainerWindTurbine.java +++ b/src/minecraft/mekanism/generators/common/ContainerWindTurbine.java @@ -35,6 +35,7 @@ public class ContainerWindTurbine extends Container } tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -42,12 +43,13 @@ public class ContainerWindTurbine extends Container { super.onCraftGuiClosed(entityplayer); tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return tileEntity.isUseableByPlayer(par1EntityPlayer); + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/src/minecraft/mekanism/generators/common/MekanismGenerators.java b/src/minecraft/mekanism/generators/common/MekanismGenerators.java index 426694a05..a50955a4a 100644 --- a/src/minecraft/mekanism/generators/common/MekanismGenerators.java +++ b/src/minecraft/mekanism/generators/common/MekanismGenerators.java @@ -168,7 +168,6 @@ public class MekanismGenerators implements IModule GameRegistry.registerItem(BioFuel, "BioFuel"); GameRegistry.registerItem(ElectrolyticCore, "ElectrolyticCore"); - //Ore Dictionary OreDictionary.registerOre("itemBioFuel", new ItemStack(BioFuel)); } diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java b/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java index 64295d4e0..d57f61443 100644 --- a/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java +++ b/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java @@ -10,12 +10,14 @@ import java.util.Map; import java.util.Set; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.ForgeDirection; import universalelectricity.core.block.IConductor; import universalelectricity.core.block.IConnectionProvider; import universalelectricity.core.block.INetworkProvider; import universalelectricity.core.path.Pathfinder; import universalelectricity.core.path.PathfinderChecker; import universalelectricity.core.vector.Vector3; +import universalelectricity.core.vector.VectorHelper; import cpw.mods.fml.common.FMLLog; /** @@ -415,6 +417,21 @@ public class ElectricityNetwork implements IElectricityNetwork { this.getConductors().remove(splitPoint); + for (ForgeDirection dir : ForgeDirection.values()) + { + if (dir != ForgeDirection.UNKNOWN) + { + Vector3 splitVec = new Vector3((TileEntity) splitPoint); + TileEntity tileAroundSplit = VectorHelper.getTileEntityFromSide(((TileEntity) splitPoint).worldObj, splitVec, dir); + + if (this.producers.containsKey(tileAroundSplit)) + { + this.stopProducing(tileAroundSplit); + this.stopRequesting(tileAroundSplit); + } + } + } + /** * Loop through the connected blocks and attempt to see if there are connections between * the two points elsewhere. diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityNetworkHelper.java b/src/minecraft/universalelectricity/core/electricity/ElectricityNetworkHelper.java index 81bb059ac..41d22bf2a 100644 --- a/src/minecraft/universalelectricity/core/electricity/ElectricityNetworkHelper.java +++ b/src/minecraft/universalelectricity/core/electricity/ElectricityNetworkHelper.java @@ -96,9 +96,13 @@ public class ElectricityNetworkHelper { if (wattsPerSide > 0 && producingPack.getWatts() > 0) { - double amperes = wattsPerSide / voltage; - network.startProducing(tileEntity, amperes, voltage); - remainingElectricity.amperes -= amperes; + double amperes = Math.min(wattsPerSide / voltage, network.getRequest(tileEntity).amperes); + + if (amperes > 0) + { + network.startProducing(tileEntity, amperes, voltage); + remainingElectricity.amperes -= amperes; + } } else { diff --git a/src/minecraft/universalelectricity/core/item/ElectricItemHelper.java b/src/minecraft/universalelectricity/core/item/ElectricItemHelper.java index 84053786e..0bf487e18 100644 --- a/src/minecraft/universalelectricity/core/item/ElectricItemHelper.java +++ b/src/minecraft/universalelectricity/core/item/ElectricItemHelper.java @@ -40,7 +40,7 @@ public class ElectricItemHelper } /** - * Decharge an electric item. + * Decharges an electric item. * * @param joules - The joules being withdrawn from the electric item * @param voltage - The voltage in which is used to decharge the electric item diff --git a/src/minecraft/universalelectricity/core/item/ItemElectric.java b/src/minecraft/universalelectricity/core/item/ItemElectric.java index e6ea98500..01fc031be 100644 --- a/src/minecraft/universalelectricity/core/item/ItemElectric.java +++ b/src/minecraft/universalelectricity/core/item/ItemElectric.java @@ -58,7 +58,7 @@ public abstract class ItemElectric extends Item implements IItemElectric @Override public void onCreated(ItemStack itemStack, World par2World, EntityPlayer par3EntityPlayer) { - itemStack = ElectricItemHelper.getUncharged(itemStack); + this.setJoules(0, itemStack); } @Override diff --git a/src/minecraft/universalelectricity/prefab/modifier/IModifier.java b/src/minecraft/universalelectricity/prefab/modifier/IModifier.java index dd0b49f44..78e5fa4fb 100644 --- a/src/minecraft/universalelectricity/prefab/modifier/IModifier.java +++ b/src/minecraft/universalelectricity/prefab/modifier/IModifier.java @@ -11,12 +11,17 @@ import net.minecraft.item.ItemStack; public interface IModifier { /** - * @return - The name of the modifier. + * @return - The type of the modifier. */ - public String getName(ItemStack itemstack); + public String getType(ItemStack itemstack); /** * @return - How much effect does this modifier have? */ - public int getEffectiveness(ItemStack itemstack); + public double getEffectiveness(ItemStack itemstack); + + /** + * @return - What UE tier is the Modifier? + */ + public int getTier(ItemStack itemstack); } diff --git a/src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java b/src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java index 86ec30aa7..299ec7ce2 100644 --- a/src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java +++ b/src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java @@ -11,6 +11,7 @@ import net.minecraft.server.MinecraftServer; import cpw.mods.fml.common.network.IConnectionHandler; import cpw.mods.fml.common.network.Player; +@Deprecated public class ConnectionHandler implements IConnectionHandler { private static final List simpleConnectionHandlers = new ArrayList(); diff --git a/src/minecraft/universalelectricity/prefab/network/ISimpleConnectionHandler.java b/src/minecraft/universalelectricity/prefab/network/ISimpleConnectionHandler.java index 6a95dd789..2b7cb97c4 100644 --- a/src/minecraft/universalelectricity/prefab/network/ISimpleConnectionHandler.java +++ b/src/minecraft/universalelectricity/prefab/network/ISimpleConnectionHandler.java @@ -1,7 +1,7 @@ package universalelectricity.prefab.network; import universalelectricity.prefab.network.ConnectionHandler.ConnectionType; - +@Deprecated public interface ISimpleConnectionHandler { /**