From e1c600dab39e349be83c733a27c6d8f72236e1b4 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Mon, 24 Jun 2013 12:24:04 -0400 Subject: [PATCH 01/29] v5.5.6 Beta #20 *Fixed cape crash. *Fixed several energy transmission bugs. *Refactored energy network system, much more efficient. *No more energy transmission packets. *Fixed glitchy transmitter bounds. *Fixed enrichment chamber able to crush ingots. *Better javadocs. *Updated UE API. --- .../mekanism/api/IUniversalCable.java | 19 +- .../mekanism/client/ClientTickHandler.java | 43 ++- .../mekanism/client/RenderUniversalCable.java | 25 +- src/minecraft/mekanism/common/BlockBasic.java | 2 +- .../mekanism/common/BlockTransmitter.java | 155 +++++++- src/minecraft/mekanism/common/CableUtils.java | 55 ++- .../mekanism/common/EnergyNetwork.java | 358 ++++++++++++++++++ .../common/EnergyTransferProtocol.java | 252 ------------ .../mekanism/common/IC2EnergyHandler.java | 2 +- src/minecraft/mekanism/common/Mekanism.java | 9 +- .../mekanism/common/MekanismHooks.java | 10 +- .../mekanism/common/MekanismUtils.java | 20 +- .../common/TileEntityUniversalCable.java | 76 +++- .../PacketTransmitterTransferUpdate.java | 17 +- .../prefab/flag/ModFlag.java | 54 +-- .../prefab/multiblock/BlockMulti.java | 17 +- .../prefab/multiblock/TileEntityMulti.java | 24 +- .../prefab/ore/OreGenBase.java | 2 +- .../prefab/tile/TileEntityAdvanced.java | 2 + .../prefab/tile/TileEntityConductor.java | 15 +- 20 files changed, 745 insertions(+), 412 deletions(-) create mode 100644 src/minecraft/mekanism/common/EnergyNetwork.java delete mode 100644 src/minecraft/mekanism/common/EnergyTransferProtocol.java diff --git a/src/minecraft/mekanism/api/IUniversalCable.java b/src/minecraft/mekanism/api/IUniversalCable.java index e596c90b9..86866e6a6 100644 --- a/src/minecraft/mekanism/api/IUniversalCable.java +++ b/src/minecraft/mekanism/api/IUniversalCable.java @@ -1,5 +1,6 @@ package mekanism.api; +import mekanism.common.EnergyNetwork; import net.minecraft.tileentity.TileEntity; /** @@ -13,10 +14,22 @@ public interface IUniversalCable * Whether or not this cable can transfer energy. * @return if the cable can transfer energy */ - public boolean canTransferEnergy(TileEntity fromTile); + public boolean canTransferEnergy(); /** - * Called when energy is transferred through this cable. + * Gets the EnergyNetwork currently in use by this cable segment. + * @return EnergyNetwork this cable is using */ - public void onTransfer(); + public EnergyNetwork getNetwork(); + + /** + * Sets this cable segment's EnergyNetwork to a new value. + * @param network - EnergyNetwork to set to + */ + public void setNetwork(EnergyNetwork network); + + /** + * Refreshes the cable's EnergyNetwork. + */ + public void refreshNetwork(); } diff --git a/src/minecraft/mekanism/client/ClientTickHandler.java b/src/minecraft/mekanism/client/ClientTickHandler.java index 272048a06..9fa437c9b 100644 --- a/src/minecraft/mekanism/client/ClientTickHandler.java +++ b/src/minecraft/mekanism/client/ClientTickHandler.java @@ -45,26 +45,29 @@ public class ClientTickHandler implements ITickHandler { String oldCloak = player.cloakUrl; - if(player.cloakUrl.startsWith("http://skins.minecraft.net/MinecraftCloaks/")) - { - if(StringUtils.stripControlCodes(player.username).equals("mikeacttck")) - { - player.cloakUrl = MIKE_CAPE; - } - else if(StringUtils.stripControlCodes(player.username).equals("aidancbrady")) - { - player.cloakUrl = AIDAN_CAPE; - } - else if(Mekanism.donators.contains(StringUtils.stripControlCodes(player.username))) - { - player.cloakUrl = DONATE_CAPE; - } - - if(!oldCloak.equals(player.cloakUrl)) - { - mc.renderEngine.obtainImageData(player.cloakUrl, new CapeBufferDownload()); - } - } + if(player != null && player.cloakUrl != null) + { + if(player.cloakUrl.startsWith("http://skins.minecraft.net/MinecraftCloaks/")) + { + if(StringUtils.stripControlCodes(player.username).equals("mikeacttck")) + { + player.cloakUrl = MIKE_CAPE; + } + else if(StringUtils.stripControlCodes(player.username).equals("aidancbrady")) + { + player.cloakUrl = AIDAN_CAPE; + } + else if(Mekanism.donators.contains(StringUtils.stripControlCodes(player.username))) + { + player.cloakUrl = DONATE_CAPE; + } + + if(!oldCloak.equals(player.cloakUrl)) + { + mc.renderEngine.obtainImageData(player.cloakUrl, new CapeBufferDownload()); + } + } + } } } } diff --git a/src/minecraft/mekanism/client/RenderUniversalCable.java b/src/minecraft/mekanism/client/RenderUniversalCable.java index 094653a7c..546adcdd1 100644 --- a/src/minecraft/mekanism/client/RenderUniversalCable.java +++ b/src/minecraft/mekanism/client/RenderUniversalCable.java @@ -47,7 +47,7 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer GL11.glDisable(GL11.GL_CULL_FACE); boolean[] connectable = new boolean[] {false, false, false, false, false, false}; - + TileEntity[] connectedAcceptors = CableUtils.getConnectedEnergyAcceptors(tileEntity); TileEntity[] connectedCables = CableUtils.getConnectedCables(tileEntity); TileEntity[] connectedOutputters = CableUtils.getConnectedOutputters(tileEntity); @@ -82,32 +82,37 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer } } - for(int i = 0; i < 6; i++) + if(tileEntity.canTransferEnergy()) { - if(connectable[i]) + for(int i = 0; i < 6; i++) { - model.renderSide(ForgeDirection.getOrientation(i)); + if(connectable[i]) + { + model.renderSide(ForgeDirection.getOrientation(i)); + } } } model.Center.render(0.0625F); GL11.glPopMatrix(); - if(tileEntity.energyScale > 0 && Mekanism.fancyUniversalCableRender) + if(Mekanism.fancyUniversalCableRender) { push(); MekanismRenderer.glowOn(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, tileEntity.energyScale); bindTextureByName("/mods/mekanism/textures/items/LiquidEnergy.png"); GL11.glTranslatef((float)x, (float)y, (float)z); - for(int i = 0; i < 6; i++) + if(tileEntity.canTransferEnergy()) { - if(connectable[i]) + for(int i = 0; i < 6; i++) { - int displayList = getListAndRender(ForgeDirection.getOrientation(i)).display; - GL11.glCallList(displayList); + if(connectable[i]) + { + int displayList = getListAndRender(ForgeDirection.getOrientation(i)).display; + GL11.glCallList(displayList); + } } } diff --git a/src/minecraft/mekanism/common/BlockBasic.java b/src/minecraft/mekanism/common/BlockBasic.java index a57a42d0d..abd0654e1 100644 --- a/src/minecraft/mekanism/common/BlockBasic.java +++ b/src/minecraft/mekanism/common/BlockBasic.java @@ -62,7 +62,7 @@ public class BlockBasic extends Block { if(!world.isRemote) { - if(world.getBlockTileEntity(x, y, z) instanceof TileEntityDynamicTank) + if(id == blockID && world.getBlockTileEntity(x, y, z) instanceof TileEntityDynamicTank) { TileEntityDynamicTank dynamicTank = (TileEntityDynamicTank)world.getBlockTileEntity(x, y, z); diff --git a/src/minecraft/mekanism/common/BlockTransmitter.java b/src/minecraft/mekanism/common/BlockTransmitter.java index 646fd1ff3..9a5c7544b 100644 --- a/src/minecraft/mekanism/common/BlockTransmitter.java +++ b/src/minecraft/mekanism/common/BlockTransmitter.java @@ -5,13 +5,16 @@ import java.util.List; import mekanism.api.GasTransmission; import mekanism.api.ITubeConnection; +import mekanism.api.IUniversalCable; import mekanism.client.ClientProxy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; @@ -51,20 +54,106 @@ public class BlockTransmitter extends Block } @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) + public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB axisalignedbb, List list, Entity entity) + { + boolean[] connectable = getConnectable(world, x, y, z); + + setBlockBounds(0.3F, 0.3F, 0.3F, 0.7F, 0.7F, 0.7F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + + if(connectable[4]) + { + setBlockBounds(0.0F, 0.3F, 0.3F, 0.7F, 0.7F, 0.7F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + } + + if(connectable[5]) + { + setBlockBounds(0.3F, 0.3F, 0.3F, 1.0F, 0.7F, 0.7F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + } + + if(connectable[0]) + { + setBlockBounds(0.3F, 0.0F, 0.3F, 0.7F, 0.7F, 0.7F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + } + + if(connectable[1]) + { + setBlockBounds(0.3F, 0.3F, 0.3F, 0.7F, 1.0F, 0.7F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + } + + if(connectable[2]) + { + setBlockBounds(0.3F, 0.3F, 0.0F, 0.7F, 0.7F, 0.7F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + } + + if(connectable[3]) + { + setBlockBounds(0.3F, 0.3F, 0.3F, 0.7F, 0.7F, 1.0F); + super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, list, entity); + } + + setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + @Override + public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) + { + boolean[] connectable = getConnectable(world, x, y, z); + + if(connectable != null) + { + float minX = 0.3F; + float minY = 0.3F; + float minZ = 0.3F; + float maxX = 0.7F; + float maxY = 0.7F; + float maxZ = 0.7F; + + if(connectable[0]) + { + minY = 0.0F; + } + if(connectable[1]) + { + maxY = 1.0F; + } + if(connectable[2]) + { + minZ = 0.0F; + } + if(connectable[3]) + { + maxZ = 1.0F; + } + if(connectable[4]) + { + minX = 0.0F; + } + if(connectable[5]) + { + maxX = 1.0F; + } + + return AxisAlignedBB.getBoundingBox(x + minX, y + minY, z + minZ, x + maxX, y + maxY, z + maxZ); + } + + return super.getSelectedBoundingBoxFromPool(world, x, y, z); + } + + public boolean[] getConnectable(IBlockAccess world, int x, int y, int z) { TileEntity tileEntity = world.getBlockTileEntity(x, y, z); - float minX = 0.3F; - float minY = 0.3F; - float minZ = 0.3F; - float maxX = 0.7F; - float maxY = 0.7F; - float maxZ = 0.7F; + boolean[] connectable = null; if(tileEntity != null) - { - boolean[] connectable = new boolean[] {false, false, false, false, false, false}; + { + connectable = new boolean[] {false, false, false, false, false, false}; if(world.getBlockMetadata(x, y, z) == 0) { @@ -151,7 +240,27 @@ public class BlockTransmitter extends Block } } } + } + + return connectable; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) + { + TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + + float minX = 0.3F; + float minY = 0.3F; + float minZ = 0.3F; + float maxX = 0.7F; + float maxY = 0.7F; + float maxZ = 0.7F; + + boolean[] connectable = getConnectable(world, x, y, z); + if(connectable != null) + { if(connectable[0]) { minY = 0.0F; @@ -180,6 +289,34 @@ public class BlockTransmitter extends Block setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); } } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, int blockID) + { + TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + + if(!world.isRemote) + { + if(tileEntity instanceof IUniversalCable) + { + ((IUniversalCable)tileEntity).refreshNetwork(); + } + } + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) + { + TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + + if(!world.isRemote) + { + if(tileEntity instanceof IUniversalCable) + { + ((IUniversalCable)tileEntity).refreshNetwork(); + } + } + } @Override public boolean isOpaqueCube() diff --git a/src/minecraft/mekanism/common/CableUtils.java b/src/minecraft/mekanism/common/CableUtils.java index 399d962c9..4492374e8 100644 --- a/src/minecraft/mekanism/common/CableUtils.java +++ b/src/minecraft/mekanism/common/CableUtils.java @@ -5,6 +5,8 @@ import ic2.api.energy.tile.IEnergySink; import ic2.api.energy.tile.IEnergySource; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import mekanism.api.ICableOutputter; import mekanism.api.IStrictEnergyAcceptor; @@ -52,7 +54,7 @@ public final class CableUtils { TileEntity cable = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - if(cable instanceof IUniversalCable && ((IUniversalCable)cable).canTransferEnergy(tileEntity)) + if(cable instanceof IUniversalCable && ((IUniversalCable)cable).canTransferEnergy()) { cables[orientation.ordinal()] = cable; } @@ -140,7 +142,12 @@ public final class CableUtils if(pointer instanceof IUniversalCable) { - return new EnergyTransferProtocol(pointer, sender, amount, new ArrayList()).calculate(); + IUniversalCable cable = (IUniversalCable)pointer; + + ArrayList ignored = new ArrayList(); + ignored.add(sender); + + return cable.getNetwork().emit(amount, ignored); } return amount; @@ -150,30 +157,38 @@ public final class CableUtils * Emits energy from all sides of a TileEntity. * @param amount - amount to send * @param pointer - sending TileEntity - * @return rejected energy - */ - public static double emitEnergyFromAllSides(double amount, TileEntity pointer) - { - if(pointer != null) - { - return new EnergyTransferProtocol(pointer, pointer, amount, new ArrayList()).calculate(); - } - - return amount; - } - - /** - * Emits energy from all sides of a TileEntity, while ignoring specific acceptors. - * @param amount - amount to send - * @param pointer - sending TileEntity * @param ignored - ignored acceptors * @return rejected energy */ - public static double emitEnergyFromAllSidesIgnore(double amount, TileEntity pointer, ArrayList ignored) + public static double emitEnergyFromAllSides(double amount, TileEntity pointer, ArrayList ignored) { if(pointer != null) { - return new EnergyTransferProtocol(pointer, pointer, amount, ignored).calculate(); + Set networks = new HashSet(); + double totalRemaining = 0; + + ignored.add(pointer); + + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity sideTile = Object3D.get(pointer).getFromSide(side).getTileEntity(pointer.worldObj); + + if(sideTile instanceof IUniversalCable) + { + networks.add(((IUniversalCable)sideTile).getNetwork()); + } + } + + double splitEnergy = amount/(double)networks.size(); + double remaining = amount%(double)networks.size(); + + for(EnergyNetwork network : networks) + { + totalRemaining += network.emit(splitEnergy+remaining, ignored); + remaining = 0; + } + + return totalRemaining; } return amount; diff --git a/src/minecraft/mekanism/common/EnergyNetwork.java b/src/minecraft/mekanism/common/EnergyNetwork.java new file mode 100644 index 000000000..ac488479f --- /dev/null +++ b/src/minecraft/mekanism/common/EnergyNetwork.java @@ -0,0 +1,358 @@ +package mekanism.common; + +import ic2.api.energy.tile.IEnergySink; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import mekanism.api.IStrictEnergyAcceptor; +import mekanism.api.IUniversalCable; +import mekanism.api.Object3D; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.event.ForgeSubscribe; +import net.minecraftforge.event.world.ChunkEvent; +import buildcraft.api.power.IPowerReceptor; + +public class EnergyNetwork +{ + public Set cables = new HashSet(); + + public Set possibleAcceptors = new HashSet(); + public Map acceptorDirections = new HashMap(); + + public EnergyNetwork(IUniversalCable... varCables) + { + cables.addAll(Arrays.asList(varCables)); + } + + public double getEnergyNeeded(ArrayList ignored) + { + double totalNeeded = 0; + + for(TileEntity acceptor : getEnergyAcceptors()) + { + if(!ignored.contains(acceptor)) + { + if(acceptor instanceof IStrictEnergyAcceptor) + { + totalNeeded += (((IStrictEnergyAcceptor)acceptor).getMaxEnergy() - ((IStrictEnergyAcceptor)acceptor).getEnergy()); + } + else if(acceptor instanceof IEnergySink) + { + totalNeeded += Math.min((((IEnergySink)acceptor).demandsEnergy()*Mekanism.FROM_IC2), (((IEnergySink)acceptor).getMaxSafeInput()*Mekanism.FROM_IC2)); + } + else if(acceptor instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded) + { + totalNeeded += (((IPowerReceptor)acceptor).powerRequest(acceptorDirections.get(acceptor).getOpposite())*Mekanism.FROM_BC); + } + } + } + + return totalNeeded; + } + + public double emit(double energyToSend, ArrayList ignored) + { + List availableAcceptors = Arrays.asList(getEnergyAcceptors().toArray()); + + Collections.shuffle(availableAcceptors); + + for(TileEntity tile : ignored) + { + availableAcceptors.remove(tile); + } + + double prevSending = energyToSend; + + if(!availableAcceptors.isEmpty()) + { + int divider = availableAcceptors.size(); + double remaining = energyToSend % divider; + double sending = (energyToSend-remaining)/divider; + + for(Object obj : availableAcceptors) + { + if(obj instanceof TileEntity) + { + TileEntity acceptor = (TileEntity)obj; + double currentSending = sending+remaining; + + remaining = 0; + + if(acceptor instanceof IStrictEnergyAcceptor) + { + energyToSend -= (currentSending - ((IStrictEnergyAcceptor)acceptor).transferEnergyToAcceptor(currentSending)); + } + else if(acceptor instanceof IEnergySink) + { + double toSend = Math.min(currentSending, (((IEnergySink)acceptor).getMaxSafeInput()*Mekanism.FROM_IC2)); + energyToSend -= (toSend - (((IEnergySink)acceptor).injectEnergy(MekanismUtils.toIC2Direction(acceptorDirections.get(acceptor).getOpposite()), (int)(toSend*Mekanism.TO_IC2))*Mekanism.FROM_IC2)); + } + else if(acceptor instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded) + { + IPowerReceptor receptor = (IPowerReceptor)acceptor; + double electricityNeeded = Math.min(receptor.powerRequest(acceptorDirections.get(acceptor).getOpposite()), receptor.getPowerProvider().getMaxEnergyStored() - receptor.getPowerProvider().getEnergyStored())*Mekanism.FROM_BC; + float transferEnergy = (float)Math.min(electricityNeeded, currentSending); + receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.TO_BC), acceptorDirections.get(acceptor).getOpposite()); + energyToSend -= transferEnergy; + } + } + } + } + + return energyToSend; + } + + public Set getEnergyAcceptors() + { + Set toReturn = new HashSet(); + + for(TileEntity acceptor : possibleAcceptors) + { + if(acceptor instanceof IStrictEnergyAcceptor) + { + if(((IStrictEnergyAcceptor)acceptor).canReceiveEnergy(acceptorDirections.get(acceptor).getOpposite())) + { + if((((IStrictEnergyAcceptor)acceptor).getMaxEnergy() - ((IStrictEnergyAcceptor)acceptor).getEnergy()) > 0) + { + toReturn.add(acceptor); + } + } + } + else if(acceptor instanceof IEnergySink) + { + if(((IEnergySink)acceptor).acceptsEnergyFrom(null, MekanismUtils.toIC2Direction(acceptorDirections.get(acceptor)).getInverse())) + { + if(Math.min((((IEnergySink)acceptor).demandsEnergy()*Mekanism.FROM_IC2), (((IEnergySink)acceptor).getMaxSafeInput()*Mekanism.FROM_IC2)) > 0) + { + toReturn.add(acceptor); + } + } + } + else if(acceptor instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded) + { + if(((IPowerReceptor)acceptor).getPowerProvider() != null) + { + if((((IPowerReceptor)acceptor).powerRequest(acceptorDirections.get(acceptor).getOpposite())*Mekanism.FROM_BC) > 0) + { + toReturn.add(acceptor); + } + } + } + } + + return toReturn; + } + + public void refresh() + { + Iterator it = cables.iterator(); + + possibleAcceptors.clear(); + acceptorDirections.clear(); + + while(it.hasNext()) + { + IUniversalCable conductor = (IUniversalCable)it.next(); + + if(conductor == null) + { + it.remove(); + } + else if(((TileEntity)conductor).isInvalid()) + { + it.remove(); + } + else { + conductor.setNetwork(this); + } + } + + for(IUniversalCable cable : cables) + { + TileEntity[] acceptors = CableUtils.getConnectedEnergyAcceptors((TileEntity)cable); + + for(TileEntity acceptor : acceptors) + { + if(acceptor != null && !(acceptor instanceof IUniversalCable)) + { + possibleAcceptors.add(acceptor); + acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor))); + } + } + } + } + + public void merge(EnergyNetwork network) + { + if(network != null && network != this) + { + EnergyNetwork newNetwork = new EnergyNetwork(); + newNetwork.cables.addAll(cables); + newNetwork.cables.addAll(network.cables); + newNetwork.refresh(); + } + } + + public void split(IUniversalCable splitPoint) + { + if(splitPoint instanceof TileEntity) + { + cables.remove(splitPoint); + + TileEntity[] connectedBlocks = new TileEntity[6]; + + for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity sideTile = Object3D.get((TileEntity)splitPoint).getFromSide(direction).getTileEntity(((TileEntity)splitPoint).worldObj); + + if(sideTile != null) + { + connectedBlocks[Arrays.asList(ForgeDirection.values()).indexOf(direction)] = sideTile; + } + } + + for(int countOne = 0; countOne < connectedBlocks.length; countOne++) + { + TileEntity connectedBlockA = connectedBlocks[countOne]; + + if(connectedBlockA instanceof IUniversalCable) + { + for(int countTwo = 0; countTwo < connectedBlocks.length; countTwo++) + { + TileEntity connectedBlockB = connectedBlocks[countTwo]; + + if(connectedBlockA != connectedBlockB && connectedBlockB instanceof IUniversalCable) + { + NetworkFinder finder = new NetworkFinder(((TileEntity)splitPoint).worldObj, Object3D.get(connectedBlockB), Object3D.get((TileEntity)splitPoint)); + + if(finder.foundTarget(Object3D.get(connectedBlockA))) + { + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IUniversalCable) + { + if(nodeTile != splitPoint) + { + ((IUniversalCable)nodeTile).setNetwork(this); + } + } + } + } + else { + EnergyNetwork newNetwork = new EnergyNetwork(); + + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IUniversalCable) + { + if(nodeTile != splitPoint) + { + newNetwork.cables.add((IUniversalCable)nodeTile); + } + } + } + + newNetwork.refresh(); + } + } + } + } + } + } + } + + public static class NetworkFinder + { + public World worldObj; + public Object3D toFind; + + public List iterated = new ArrayList(); + public List toIgnore = new ArrayList(); + + public NetworkFinder(World world, Object3D target, Object3D... ignore) + { + worldObj = world; + toFind = target; + + if(ignore != null) + { + toIgnore = Arrays.asList(ignore); + } + } + + public void loopThrough(Object3D location) + { + iterated.add(location); + + if(iterated.contains(toFind)) + { + return; + } + + for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) + { + Object3D obj = location.getFromSide(direction); + + if(!iterated.contains(obj) && !toIgnore.contains(obj)) + { + TileEntity tileEntity = obj.getTileEntity(worldObj); + + if(tileEntity instanceof IUniversalCable && ((IUniversalCable)tileEntity).canTransferEnergy()) + { + loopThrough(obj); + } + } + } + } + + public boolean foundTarget(Object3D start) + { + loopThrough(start); + + return iterated.contains(toFind); + } + } + + public static class NetworkLoader + { + @ForgeSubscribe + public void onChunkLoad(ChunkEvent.Load event) + { + if(event.getChunk() != null) + { + for(Object obj : event.getChunk().chunkTileEntityMap.values()) + { + if(obj instanceof TileEntity) + { + TileEntity tileEntity = (TileEntity)obj; + + if(tileEntity instanceof IUniversalCable) + { + ((IUniversalCable)tileEntity).refreshNetwork(); + } + } + } + } + } + } + + @Override + public String toString() + { + return "[EnergyNetwork] " + cables.size() + " cables, " + possibleAcceptors.size() + " acceptors."; + } +} \ No newline at end of file diff --git a/src/minecraft/mekanism/common/EnergyTransferProtocol.java b/src/minecraft/mekanism/common/EnergyTransferProtocol.java deleted file mode 100644 index b4eb236bd..000000000 --- a/src/minecraft/mekanism/common/EnergyTransferProtocol.java +++ /dev/null @@ -1,252 +0,0 @@ -package mekanism.common; - -import ic2.api.energy.tile.IEnergySink; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import mekanism.api.IStrictEnergyAcceptor; -import mekanism.api.IUniversalCable; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event; -import buildcraft.api.power.IPowerReceptor; -import cpw.mods.fml.common.FMLCommonHandler; - -public class EnergyTransferProtocol -{ - /** List of iterated cables, to prevent infinite loops. */ - public ArrayList iteratedCables = new ArrayList(); - - /** List of TileEntities that can take in the energy requested. */ - public ArrayList availableAcceptors = new ArrayList(); - - /** Map of directions energy is transferred to. */ - public Map acceptorDirections = new HashMap(); - - /** Pointer tube of this calculation. */ - public TileEntity pointer; - - /** Original outputter Tile Entity. */ - public TileEntity original; - - /** Amount of energy to distribute. */ - public double energyToSend; - - /** Acceptors ignored by this calculation. */ - public ArrayList ignoredAcceptors = new ArrayList(); - - /** - * EnergyTransferProtocol -- a calculation used to distribute energy through a cable network. - * @param head - pointer tile entity - * @param orig - original tile entity - * @param amount - amount of energy to distribute - * @param ignored - acceptors/pipes to ignore - */ - public EnergyTransferProtocol(TileEntity head, TileEntity orig, double amount, ArrayList ignored) - { - pointer = head; - original = orig; - energyToSend = amount; - ignoredAcceptors = ignored; - } - - /** - * EnergyTransferProtocol -- a calculation used to distribute energy through a cable network. - * @param head - pointer tile entity - * @param orig - original tile entity - */ - public EnergyTransferProtocol(TileEntity head, TileEntity orig, ArrayList ignored) - { - pointer = head; - original = orig; - energyToSend = 0; - ignoredAcceptors = ignored; - } - - /** - * Recursive loop that iterates through connected cables and adds connected acceptors to an ArrayList. Note that it will NOT add - * the original outputting tile into the availableAcceptors list, to prevent loops. - * @param tile - pointer tile entity - */ - public void loopThrough(TileEntity tile) - { - TileEntity[] acceptors = CableUtils.getConnectedEnergyAcceptors(tile); - - for(TileEntity acceptor : acceptors) - { - if(acceptor != original && !ignoredAcceptors.contains(acceptor) && !availableAcceptors.contains(acceptor)) - { - if(acceptor instanceof IStrictEnergyAcceptor) - { - if(((IStrictEnergyAcceptor)acceptor).canReceiveEnergy(ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite())) - { - if((((IStrictEnergyAcceptor)acceptor).getMaxEnergy() - ((IStrictEnergyAcceptor)acceptor).getEnergy()) > 0) - { - availableAcceptors.add(acceptor); - } - } - } - else if(acceptor instanceof IEnergySink) - { - if(((IEnergySink)acceptor).acceptsEnergyFrom(original, MekanismUtils.toIC2Direction(ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor))).getInverse())) - { - if(Math.min((((IEnergySink)acceptor).demandsEnergy()*Mekanism.FROM_IC2), (((IEnergySink)acceptor).getMaxSafeInput()*Mekanism.FROM_IC2)) > 0) - { - availableAcceptors.add(acceptor); - acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor))); - } - } - } - else if(acceptor instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded) - { - if(((IPowerReceptor)acceptor).getPowerProvider() != null) - { - if((((IPowerReceptor)acceptor).powerRequest(ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite())*Mekanism.FROM_BC) > 0) - { - availableAcceptors.add(acceptor); - acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor))); - } - } - } - } - } - - if(!iteratedCables.contains(tile)) - { - iteratedCables.add(tile); - } - - TileEntity[] tubes = CableUtils.getConnectedCables(tile); - - for(TileEntity tube : tubes) - { - if(tube != null) - { - if(!iteratedCables.contains(tube)) - { - loopThrough(tube); - } - } - } - } - - /** - * Updates the client-side cables for rendering. - */ - public void clientUpdate() - { - loopThrough(pointer); - - for(TileEntity tileEntity : iteratedCables) - { - if(tileEntity instanceof IUniversalCable) - { - ((IUniversalCable)tileEntity).onTransfer(); - } - } - } - - /** - * Runs the protocol and distributes the energy. - * @return rejected energy - */ - public double calculate() - { - loopThrough(pointer); - - Collections.shuffle(availableAcceptors); - - double prevSending = energyToSend; - - if(!availableAcceptors.isEmpty()) - { - int divider = availableAcceptors.size(); - double remaining = energyToSend % divider; - double currentRemaining = remaining; - double sending = (energyToSend-remaining)/divider; - - for(TileEntity acceptor : availableAcceptors) - { - double currentSending = sending; - - if(currentRemaining > 0) - { - currentSending += (currentRemaining/divider); - currentRemaining -= (currentRemaining/divider); - } - - if(acceptor instanceof IStrictEnergyAcceptor) - { - energyToSend -= (currentSending - ((IStrictEnergyAcceptor)acceptor).transferEnergyToAcceptor(currentSending)); - } - else if(acceptor instanceof IEnergySink) - { - double toSend = Math.min(currentSending, (((IEnergySink)acceptor).getMaxSafeInput()*Mekanism.FROM_IC2)); - energyToSend -= (toSend - (((IEnergySink)acceptor).injectEnergy(MekanismUtils.toIC2Direction(acceptorDirections.get(acceptor).getOpposite()), (int)(toSend*Mekanism.TO_IC2))*Mekanism.FROM_IC2)); - } - else if(acceptor instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded) - { - IPowerReceptor receptor = (IPowerReceptor)acceptor; - double electricityNeeded = Math.min(receptor.powerRequest(acceptorDirections.get(acceptor).getOpposite()), receptor.getPowerProvider().getMaxEnergyStored() - receptor.getPowerProvider().getEnergyStored())*Mekanism.FROM_BC; - float transferEnergy = (float)Math.min(electricityNeeded, currentSending); - receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.TO_BC), acceptorDirections.get(acceptor).getOpposite()); - energyToSend -= transferEnergy; - } - } - } - - if(prevSending > energyToSend && FMLCommonHandler.instance().getEffectiveSide().isServer()) - { - MinecraftForge.EVENT_BUS.post(new EnergyTransferEvent(this)); - } - - return energyToSend; - } - - /** - * Gets the needed energy in this network. - * @return needed energy - */ - public double neededEnergy() - { - double totalNeeded = 0; - - loopThrough(pointer); - - if(!availableAcceptors.isEmpty()) - { - for(TileEntity acceptor : availableAcceptors) - { - if(acceptor instanceof IStrictEnergyAcceptor) - { - totalNeeded += (((IStrictEnergyAcceptor)acceptor).getMaxEnergy() - ((IStrictEnergyAcceptor)acceptor).getEnergy()); - } - else if(acceptor instanceof IEnergySink) - { - totalNeeded += Math.min((((IEnergySink)acceptor).demandsEnergy()*Mekanism.FROM_IC2), (((IEnergySink)acceptor).getMaxSafeInput()*Mekanism.FROM_IC2)); - } - else if(acceptor instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded) - { - totalNeeded += (((IPowerReceptor)acceptor).powerRequest(acceptorDirections.get(acceptor).getOpposite())*Mekanism.FROM_BC); - } - } - } - - return totalNeeded; - } - - public static class EnergyTransferEvent extends Event - { - public final EnergyTransferProtocol transferProtocol; - - public EnergyTransferEvent(EnergyTransferProtocol protocol) - { - transferProtocol = protocol; - } - } -} diff --git a/src/minecraft/mekanism/common/IC2EnergyHandler.java b/src/minecraft/mekanism/common/IC2EnergyHandler.java index 158fc680e..9fe3ae304 100644 --- a/src/minecraft/mekanism/common/IC2EnergyHandler.java +++ b/src/minecraft/mekanism/common/IC2EnergyHandler.java @@ -45,7 +45,7 @@ public class IC2EnergyHandler } } - event.amount = (int)(CableUtils.emitEnergyFromAllSidesIgnore(event.amount*Mekanism.FROM_IC2, tileEntity, ignoredTiles)*Mekanism.TO_IC2); + event.amount = (int)(CableUtils.emitEnergyFromAllSides(event.amount*Mekanism.FROM_IC2, tileEntity, ignoredTiles)*Mekanism.TO_IC2); } } } \ No newline at end of file diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index 0095f4354..45622d5c4 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -5,7 +5,6 @@ import ic2.api.recipe.Recipes; import java.io.File; import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.logging.Logger; @@ -17,7 +16,6 @@ import mekanism.api.InfuseType; import mekanism.api.InfusionInput; import mekanism.api.Object3D; import mekanism.client.SoundHandler; -import mekanism.common.EnergyTransferProtocol.EnergyTransferEvent; import mekanism.common.IFactory.RecipeType; import mekanism.common.LiquidTransferProtocol.LiquidTransferEvent; import mekanism.common.PacketHandler.Transmission; @@ -1147,6 +1145,7 @@ public class Mekanism //Register to receive subscribed events MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(new IC2EnergyHandler()); + MinecraftForge.EVENT_BUS.register(new EnergyNetwork.NetworkLoader()); //Load configuration proxy.loadConfiguration(); @@ -1199,10 +1198,4 @@ public class Mekanism { PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.LIQUID, event.transferProtocol.pointer, event.liquidSent)); } - - @ForgeSubscribe - public void onEnergyTransferred(EnergyTransferEvent event) - { - PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.ENERGY, event.transferProtocol.pointer)); - } } \ No newline at end of file diff --git a/src/minecraft/mekanism/common/MekanismHooks.java b/src/minecraft/mekanism/common/MekanismHooks.java index e993ba5c5..e57e8de88 100644 --- a/src/minecraft/mekanism/common/MekanismHooks.java +++ b/src/minecraft/mekanism/common/MekanismHooks.java @@ -77,7 +77,10 @@ public final class MekanismHooks { if(!Recipe.ENRICHMENT_CHAMBER.get().containsKey(entry.getKey())) { - RecipeHandler.addEnrichmentChamberRecipe(entry.getKey(), entry.getValue()); + if(MekanismUtils.getName(entry.getKey()).startsWith("ore")) + { + RecipeHandler.addEnrichmentChamberRecipe(entry.getKey(), entry.getValue()); + } } } @@ -119,7 +122,10 @@ public final class MekanismHooks { if(!Recipe.ENRICHMENT_CHAMBER.get().containsKey(recipe.getInput())) { - RecipeHandler.addEnrichmentChamberRecipe(recipe.getInput(), recipe.getPrimaryOutput()); + if(MekanismUtils.getName(recipe.getInput()).startsWith("ore")) + { + RecipeHandler.addEnrichmentChamberRecipe(recipe.getInput(), recipe.getPrimaryOutput()); + } } } } diff --git a/src/minecraft/mekanism/common/MekanismUtils.java b/src/minecraft/mekanism/common/MekanismUtils.java index 491650830..2966b3b1d 100644 --- a/src/minecraft/mekanism/common/MekanismUtils.java +++ b/src/minecraft/mekanism/common/MekanismUtils.java @@ -759,7 +759,7 @@ public final class MekanismUtils * Grabs an inventory from the world's caches, and removes all the world's references to it. * @param world - world the cache is stored in * @param id - inventory ID to pull - * @return + * @return correct Dynamic Tank inventory cache */ public static DynamicTankCache pullInventory(World world, int id) { @@ -784,10 +784,10 @@ public final class MekanismUtils /** * Updates a dynamic tank cache with the defined inventory ID with the parameterized values. - * @param inventoryID - * @param liquid - * @param inventory - * @param tileEntity + * @param inventoryID - inventory ID of the dynamic tank + * @param liquid - cached liquid of the dynamic tank + * @param inventory - inventory of the dynamic tank + * @param tileEntity - dynamic tank TileEntity */ public static void updateCache(int inventoryID, LiquidStack liquid, ItemStack[] inventory, TileEntityDynamicTank tileEntity) { @@ -831,4 +831,14 @@ public final class MekanismUtils return id; } } + + /** + * Gets the OreDictionary-registered name of an ItemStack. + * @param itemStack - ItemStack to check + * @return name of the ItemStack + */ + public static String getName(ItemStack itemStack) + { + return OreDictionary.getOreName(OreDictionary.getOreID(itemStack)); + } } diff --git a/src/minecraft/mekanism/common/TileEntityUniversalCable.java b/src/minecraft/mekanism/common/TileEntityUniversalCable.java index c4bc7d65a..85006bb2e 100644 --- a/src/minecraft/mekanism/common/TileEntityUniversalCable.java +++ b/src/minecraft/mekanism/common/TileEntityUniversalCable.java @@ -18,8 +18,8 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa /** A fake power provider used to initiate energy transfer calculations. */ public CablePowerProvider powerProvider; - /** The scale of the energy (0F -> 1F) currently inside this cable. */ - public float energyScale; + /** The energy network currently in use by this cable segment. */ + public EnergyNetwork energyNetwork; public TileEntityUniversalCable() { @@ -28,34 +28,68 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa } @Override - public void updateEntity() + public boolean canUpdate() { - if(worldObj.isRemote) + return false; + } + + @Override + public EnergyNetwork getNetwork() + { + if(energyNetwork == null) { - if(energyScale > 0) + energyNetwork = new EnergyNetwork(this); + } + + return energyNetwork; + } + + @Override + public void invalidate() + { + if(!worldObj.isRemote) + { + getNetwork().split(this); + } + + super.invalidate(); + } + + @Override + public void setNetwork(EnergyNetwork network) + { + energyNetwork = network; + } + + public void refreshTile(TileEntity tileEntity) + { + if(tileEntity instanceof IUniversalCable) + { + getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); + } + } + + @Override + public void refreshNetwork() + { + if(!worldObj.isRemote) + { + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - energyScale -= .01; + refreshTile(Object3D.get(this).getFromSide(side).getTileEntity(worldObj)); } + + getNetwork().refresh(); + + System.out.println(getNetwork()); } } @Override - public boolean canTransferEnergy(TileEntity fromTile) + public boolean canTransferEnergy() { return worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) == 0; } - - @Override - public void onTransfer() - { - energyScale = Math.min(1, energyScale+.02F); - } - - @Override - public boolean canUpdate() - { - return true; - } @Override public void setPowerProvider(IPowerProvider provider) {} @@ -74,7 +108,7 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa { ArrayList ignored = new ArrayList(); ignored.add(Object3D.get(this).getFromSide(from).getTileEntity(worldObj)); - return canTransferEnergy(Object3D.get(this).getFromSide(from).getTileEntity(worldObj)) ? (int)Math.min(100, new EnergyTransferProtocol(this, this, ignored).neededEnergy()*Mekanism.TO_BC) : 0; + return canTransferEnergy() ? (int)Math.min(100, getNetwork().getEnergyNeeded(ignored)*Mekanism.TO_BC) : 0; } @Override @@ -99,6 +133,6 @@ class CablePowerProvider extends PowerProvider { ArrayList ignored = new ArrayList(); ignored.add(Object3D.get(tileEntity).getFromSide(from).getTileEntity(tileEntity.worldObj)); - CableUtils.emitEnergyFromAllSidesIgnore(quantity*Mekanism.FROM_BC, tileEntity, ignored); + CableUtils.emitEnergyFromAllSides(quantity*Mekanism.FROM_BC, tileEntity, ignored); } } \ No newline at end of file diff --git a/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java b/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java index 274df0bce..df433aae8 100644 --- a/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java +++ b/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import mekanism.api.EnumGas; import mekanism.api.GasTransferProtocol; -import mekanism.common.EnergyTransferProtocol; import mekanism.common.LiquidTransferProtocol; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -38,8 +37,6 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket switch(activeType) { - case ENERGY: - break; case GAS: gasName = ((EnumGas)data[2]).name; break; @@ -61,15 +58,6 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket int z = dataStream.readInt(); if(transmitterType == 0) - { - TileEntity tileEntity = world.getBlockTileEntity(x, y, z); - - if(tileEntity != null) - { - new EnergyTransferProtocol(tileEntity, null, new ArrayList()).clientUpdate(); - } - } - else if(transmitterType == 1) { EnumGas type = EnumGas.getFromName(dataStream.readUTF()); @@ -80,7 +68,7 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket new GasTransferProtocol(tileEntity, null, type, 0).clientUpdate(); } } - else if(transmitterType == 2) + else if(transmitterType == 1) { TileEntity tileEntity = world.getBlockTileEntity(x, y, z); LiquidStack liquidStack = new LiquidStack(dataStream.readInt(), dataStream.readInt(), dataStream.readInt()); @@ -103,8 +91,6 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket switch(activeType) { - case ENERGY: - break; case GAS: dataStream.writeUTF(gasName); break; @@ -118,7 +104,6 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket public static enum TransmitterTransferType { - ENERGY, GAS, LIQUID } diff --git a/src/minecraft/universalelectricity/prefab/flag/ModFlag.java b/src/minecraft/universalelectricity/prefab/flag/ModFlag.java index 98646020c..66ed573b6 100644 --- a/src/minecraft/universalelectricity/prefab/flag/ModFlag.java +++ b/src/minecraft/universalelectricity/prefab/flag/ModFlag.java @@ -30,25 +30,28 @@ public class ModFlag extends FlagBase @Override public void readFromNBT(NBTTagCompound nbt) { - // A list containing all dimension ID and data within it. - Iterator dimensions = nbt.getTags().iterator(); - - while (dimensions.hasNext()) + if (nbt != null) { - NBTTagCompound dimensionCompound = (NBTTagCompound) dimensions.next(); + // A list containing all dimension ID and data within it. + Iterator dimensions = nbt.getTags().iterator(); - try + while (dimensions.hasNext()) { - int dimensionID = Integer.parseInt(dimensionCompound.getName().replace("dim_", "")); - World world = DimensionManager.getWorld(dimensionID); - FlagWorld flagWorld = new FlagWorld(world); - flagWorld.readFromNBT(dimensionCompound); - this.flagWorlds.add(flagWorld); - } - catch (Exception e) - { - System.out.println("Mod Flag: Failed to read dimension data: " + dimensionCompound.getName()); - e.printStackTrace(); + NBTTagCompound dimensionCompound = (NBTTagCompound) dimensions.next(); + + try + { + int dimensionID = Integer.parseInt(dimensionCompound.getName().replace("dim_", "")); + World world = DimensionManager.getWorld(dimensionID); + FlagWorld flagWorld = new FlagWorld(world); + flagWorld.readFromNBT(dimensionCompound); + this.flagWorlds.add(flagWorld); + } + catch (Exception e) + { + System.out.println("Mod Flag: Failed to read dimension data: " + dimensionCompound.getName()); + e.printStackTrace(); + } } } } @@ -56,16 +59,19 @@ public class ModFlag extends FlagBase @Override public void writeToNBT(NBTTagCompound nbt) { - for (FlagWorld worldData : this.flagWorlds) + if (nbt != null) { - try + for (FlagWorld worldData : this.flagWorlds) { - nbt.setTag("dim_" + worldData.world.provider.dimensionId, worldData.getNBT()); - } - catch (Exception e) - { - System.out.println("Mod Flag: Failed to save world flag data: " + worldData.world); - e.printStackTrace(); + try + { + nbt.setTag("dim_" + worldData.world.provider.dimensionId, worldData.getNBT()); + } + catch (Exception e) + { + System.out.println("Mod Flag: Failed to save world flag data: " + worldData.world); + e.printStackTrace(); + } } } } diff --git a/src/minecraft/universalelectricity/prefab/multiblock/BlockMulti.java b/src/minecraft/universalelectricity/prefab/multiblock/BlockMulti.java index 9c7bfbab7..57de5b248 100644 --- a/src/minecraft/universalelectricity/prefab/multiblock/BlockMulti.java +++ b/src/minecraft/universalelectricity/prefab/multiblock/BlockMulti.java @@ -17,7 +17,8 @@ import cpw.mods.fml.relauncher.SideOnly; public class BlockMulti extends BlockContainer { - public String textureName; + public String textureName = null; + public String channel = ""; public BlockMulti(int id) { @@ -26,10 +27,10 @@ public class BlockMulti extends BlockContainer this.setUnlocalizedName("multiBlock"); } - public void makeFakeBlock(World worldObj, Vector3 position, Vector3 mainBlock) + public BlockMulti setChannel(String channel) { - worldObj.setBlock(position.intX(), position.intY(), position.intZ(), this.blockID); - ((TileEntityMulti) worldObj.getBlockTileEntity(position.intX(), position.intY(), position.intZ())).setMainBlock(mainBlock); + this.channel = channel; + return this; } public BlockMulti setTextureName(String name) @@ -38,6 +39,12 @@ public class BlockMulti extends BlockContainer return this; } + public void makeFakeBlock(World worldObj, Vector3 position, Vector3 mainBlock) + { + worldObj.setBlock(position.intX(), position.intY(), position.intZ(), this.blockID); + ((TileEntityMulti) worldObj.getBlockTileEntity(position.intX(), position.intY(), position.intZ())).setMainBlock(mainBlock); + } + @SideOnly(Side.CLIENT) @Override public void registerIcons(IconRegister iconRegister) @@ -107,7 +114,7 @@ public class BlockMulti extends BlockContainer @Override public TileEntity createNewTileEntity(World var1) { - return new TileEntityMulti(); + return new TileEntityMulti(this.channel); } @Override diff --git a/src/minecraft/universalelectricity/prefab/multiblock/TileEntityMulti.java b/src/minecraft/universalelectricity/prefab/multiblock/TileEntityMulti.java index 2ac0ec514..f478fde82 100644 --- a/src/minecraft/universalelectricity/prefab/multiblock/TileEntityMulti.java +++ b/src/minecraft/universalelectricity/prefab/multiblock/TileEntityMulti.java @@ -23,6 +23,17 @@ public class TileEntityMulti extends TileEntity implements IPacketReceiver { // The the position of the main block public Vector3 mainBlockPosition; + public String channel; + + public TileEntityMulti() + { + + } + + public TileEntityMulti(String channel) + { + this.channel = channel; + } public void setMainBlock(Vector3 mainBlock) { @@ -30,7 +41,7 @@ public class TileEntityMulti extends TileEntity implements IPacketReceiver if (!this.worldObj.isRemote) { - PacketManager.sendPacketToClients(this.getDescriptionPacket()); + this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); } } @@ -39,14 +50,21 @@ public class TileEntityMulti extends TileEntity implements IPacketReceiver { if (this.mainBlockPosition != null) { - return PacketManager.getPacket("BasicComponents", this, this.mainBlockPosition.intX(), this.mainBlockPosition.intY(), this.mainBlockPosition.intZ()); + if (this.channel == null || this.channel == "" && this.getBlockType() instanceof BlockMulti) + { + this.channel = ((BlockMulti) this.getBlockType()).channel; + } + + return PacketManager.getPacket(this.channel, this, this.mainBlockPosition.intX(), this.mainBlockPosition.intY(), this.mainBlockPosition.intZ()); + } + return null; } public void onBlockRemoval() { - if (mainBlockPosition != null) + if (this.mainBlockPosition != null) { TileEntity tileEntity = this.worldObj.getBlockTileEntity(this.mainBlockPosition.intX(), this.mainBlockPosition.intY(), this.mainBlockPosition.intZ()); diff --git a/src/minecraft/universalelectricity/prefab/ore/OreGenBase.java b/src/minecraft/universalelectricity/prefab/ore/OreGenBase.java index 92faf3949..486d43516 100644 --- a/src/minecraft/universalelectricity/prefab/ore/OreGenBase.java +++ b/src/minecraft/universalelectricity/prefab/ore/OreGenBase.java @@ -88,7 +88,7 @@ public abstract class OreGenBase private static boolean shouldGenerateOre(Configuration configuration, String oreName) { configuration.load(); - boolean shouldGenerate = configuration.get("Ore Generation", "Generate " + oreName, true).getBoolean(true); + boolean shouldGenerate = configuration.get("Ore_Generation", "Generate " + oreName, true).getBoolean(true); configuration.save(); return shouldGenerate; } diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java index 9a0c20b26..7da0f23d0 100644 --- a/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java +++ b/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java @@ -31,7 +31,9 @@ public abstract class TileEntityAdvanced extends TileEntity /** * Called on the TileEntity's first tick. + * DEPRECATED: Use validate instead! */ + @Deprecated public void initiate() { } diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java index f17f44eb8..1e2bed63b 100644 --- a/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java +++ b/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java @@ -93,9 +93,10 @@ public abstract class TileEntityConductor extends TileEntityAdvanced implements } @Override - public void initiate() + public void validate() { this.updateAdjacentConnections(); + super.validate(); } @Override @@ -110,17 +111,9 @@ public abstract class TileEntityConductor extends TileEntityAdvanced implements } @Override - public void updateEntity() + public boolean canUpdate() { - super.updateEntity(); - - if (!this.worldObj.isRemote) - { - if (this.ticks % 300 == 0) - { - this.updateAdjacentConnections(); - } - } + return false; } @Override From 0969a06dbaaeabc960ee3cdee57bd9412ceeba6c Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Tue, 25 Jun 2013 12:28:40 -0400 Subject: [PATCH 02/29] v5.5.6 Beta #21 *Liquid now renders with Item-based color. *Better IC2/TE recipe integration. *Cleanups. --- .../mekanism/client/RenderDynamicTank.java | 12 ++++++-- .../mekanism/client/RenderMechanicalPipe.java | 8 +++++ .../mekanism/common/MekanismHooks.java | 30 +++++++++++++++---- .../mekanism/common/MekanismUtils.java | 3 -- .../mekanism/common/RecipeHandler.java | 21 +++++++++++++ .../common/TileEntityUniversalCable.java | 17 ++++------- 6 files changed, 70 insertions(+), 21 deletions(-) diff --git a/src/minecraft/mekanism/client/RenderDynamicTank.java b/src/minecraft/mekanism/client/RenderDynamicTank.java index 36170b423..6bb71f35c 100644 --- a/src/minecraft/mekanism/client/RenderDynamicTank.java +++ b/src/minecraft/mekanism/client/RenderDynamicTank.java @@ -10,9 +10,9 @@ import mekanism.common.SynchronizedTankData.ValveData; import mekanism.common.TileEntityDynamicTank; import net.minecraft.block.Block; import net.minecraft.client.renderer.GLAllocation; -import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.tileentity.TileEntityRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; @@ -48,7 +48,7 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer bindTextureByName(tileEntity.structure.liquidStored.canonical().getTextureSheet()); - if(data.location != null && data.height > 0) + if(data.location != null && data.height > 0 && Item.itemsList[tileEntity.structure.liquidStored.itemID] != null) { push(); @@ -122,6 +122,12 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer cachedCenterLiquids.put(data, map); } + int color = stack.asItemStack().getItem().getColorFromItemStack(stack.asItemStack(), 0); + float cR = (color >> 16 & 0xFF) / 255.0F; + float cG = (color >> 8 & 0xFF) / 255.0F; + float cB = (color & 0xFF) / 255.0F; + GL11.glColor4f(cR, cG, cB, 1.0F); + for(int i = 0; i < stages; i++) { displays[i] = GLAllocation.generateDisplayLists(1); @@ -139,6 +145,8 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer GL11.glEndList(); } + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + return displays; } diff --git a/src/minecraft/mekanism/client/RenderMechanicalPipe.java b/src/minecraft/mekanism/client/RenderMechanicalPipe.java index 9a7e15182..d93b2bc79 100644 --- a/src/minecraft/mekanism/client/RenderMechanicalPipe.java +++ b/src/minecraft/mekanism/client/RenderMechanicalPipe.java @@ -168,6 +168,12 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer cachedLiquids.put(side, map); } + int color = stack.asItemStack().getItem().getColorFromItemStack(stack.asItemStack(), 0); + float cR = (color >> 16 & 0xFF) / 255.0F; + float cG = (color >> 8 & 0xFF) / 255.0F; + float cB = (color & 0xFF) / 255.0F; + GL11.glColor4f(cR, cG, cB, 1.0F); + switch(side) { case UNKNOWN: @@ -319,6 +325,8 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer } } + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + return null; } } diff --git a/src/minecraft/mekanism/common/MekanismHooks.java b/src/minecraft/mekanism/common/MekanismHooks.java index e57e8de88..7776c4629 100644 --- a/src/minecraft/mekanism/common/MekanismHooks.java +++ b/src/minecraft/mekanism/common/MekanismHooks.java @@ -52,8 +52,10 @@ public final class MekanismHooks if(Loader.isModLoaded("BuildCraft|Energy")) BuildCraftLoaded = true; if(Loader.isModLoaded("Forestry")) ForestryLoaded = true; if(Loader.isModLoaded("ThermalExpansion")) TELoaded = true; - if(Loader.isModLoaded("Metallurgy3Core")) { + if(Loader.isModLoaded("Metallurgy3Core")) + { MetallurgyCoreLoaded = true; + if(Loader.isModLoaded("Metallurgy3Base")) MetallurgyBaseLoaded = true; } @@ -75,19 +77,27 @@ public final class MekanismHooks for(Map.Entry entry : Recipes.macerator.getRecipes().entrySet()) { - if(!Recipe.ENRICHMENT_CHAMBER.get().containsKey(entry.getKey())) + if(MekanismUtils.getName(entry.getKey()).startsWith("ore")) { - if(MekanismUtils.getName(entry.getKey()).startsWith("ore")) + if(!Recipe.ENRICHMENT_CHAMBER.containsRecipe(entry.getKey())) { RecipeHandler.addEnrichmentChamberRecipe(entry.getKey(), entry.getValue()); } } + else if(MekanismUtils.getName(entry.getKey()).startsWith("ingot")) + { + if(!Recipe.CRUSHER.containsRecipe(entry.getKey())) + { + RecipeHandler.addCrusherRecipe(entry.getKey(), entry.getValue()); + } + } } Recipes.matterAmplifier.addRecipe(new ItemStack(Mekanism.EnrichedAlloy), 50000); System.out.println("[Mekanism] Hooked into IC2 successfully."); } + if(BasicComponentsLoaded) { if(Mekanism.disableBCSteelCrafting) @@ -104,29 +114,39 @@ public final class MekanismHooks System.out.println("[Mekanism] Hooked into BasicComponents successfully."); } + if(BuildCraftLoaded) { System.out.println("[Mekanism] Hooked into BuildCraft successfully."); } + if(ForestryLoaded) { ForestryBiofuelID = getForestryItem("liquidBiofuel").itemID; ForestryBiofuelBucket = getForestryItem("bucketBiofuel"); System.out.println("[Mekanism] Hooked into Forestry successfully."); } + if(TELoaded) { for(IPulverizerRecipe recipe : CraftingManagers.pulverizerManager.getRecipeList()) { if(recipe.getSecondaryOutput() == null) { - if(!Recipe.ENRICHMENT_CHAMBER.get().containsKey(recipe.getInput())) + if(MekanismUtils.getName(recipe.getInput()).startsWith("ore")) { - if(MekanismUtils.getName(recipe.getInput()).startsWith("ore")) + if(!Recipe.ENRICHMENT_CHAMBER.containsRecipe(recipe.getInput())) { RecipeHandler.addEnrichmentChamberRecipe(recipe.getInput(), recipe.getPrimaryOutput()); } } + else if(MekanismUtils.getName(recipe.getInput()).startsWith("ingot")) + { + if(!Recipe.CRUSHER.containsRecipe(recipe.getInput())) + { + RecipeHandler.addCrusherRecipe(recipe.getInput(), recipe.getPrimaryOutput()); + } + } } } } diff --git a/src/minecraft/mekanism/common/MekanismUtils.java b/src/minecraft/mekanism/common/MekanismUtils.java index 2966b3b1d..6473aa7aa 100644 --- a/src/minecraft/mekanism/common/MekanismUtils.java +++ b/src/minecraft/mekanism/common/MekanismUtils.java @@ -8,12 +8,9 @@ import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; -import java.util.HashSet; -import java.util.Map; import mekanism.api.EnumColor; import mekanism.api.IConfigurable; -import mekanism.api.InfuseObject; import mekanism.api.Object3D; import mekanism.common.IFactory.RecipeType; import mekanism.common.PacketHandler.Transmission; diff --git a/src/minecraft/mekanism/common/RecipeHandler.java b/src/minecraft/mekanism/common/RecipeHandler.java index 5ac4645da..145c0cb93 100644 --- a/src/minecraft/mekanism/common/RecipeHandler.java +++ b/src/minecraft/mekanism/common/RecipeHandler.java @@ -159,6 +159,27 @@ public final class RecipeHandler recipes.put(input, output); } + public boolean containsRecipe(ItemStack input) + { + for(Object obj : get().entrySet()) + { + if(obj instanceof Map.Entry) + { + Map.Entry entry = (Map.Entry)obj; + + if(entry.getKey() instanceof ItemStack) + { + if(((ItemStack)entry.getKey()).isItemEqual(input)) + { + return true; + } + } + } + } + + return false; + } + public HashMap get() { return recipes; diff --git a/src/minecraft/mekanism/common/TileEntityUniversalCable.java b/src/minecraft/mekanism/common/TileEntityUniversalCable.java index 85006bb2e..d1a17bcf5 100644 --- a/src/minecraft/mekanism/common/TileEntityUniversalCable.java +++ b/src/minecraft/mekanism/common/TileEntityUniversalCable.java @@ -60,14 +60,6 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa { energyNetwork = network; } - - public void refreshTile(TileEntity tileEntity) - { - if(tileEntity instanceof IUniversalCable) - { - getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); - } - } @Override public void refreshNetwork() @@ -76,12 +68,15 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa { for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - refreshTile(Object3D.get(this).getFromSide(side).getTileEntity(worldObj)); + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tileEntity instanceof IUniversalCable) + { + getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); + } } getNetwork().refresh(); - - System.out.println(getNetwork()); } } From d94296631ccbd32cca3b425a6339848f75457707 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Wed, 26 Jun 2013 17:49:47 -0400 Subject: [PATCH 03/29] v5.5.6 Beta #22 *Updated textures. *Revamped Gas/Liquid networks. *MDK UPDATE* *Fixed redstone trigger on transmitters. *Better cable connections. *Liquid now renders with proper ItemStack-based color. *Liquid now renders with flowing texture when in valve form. --- .../mods/mekanism/gui/GuiBioGenerator.png | Bin .../mods/mekanism/gui/GuiChamber.png | Bin .../mods/mekanism/gui/GuiCombiner.png | Bin .../mods/mekanism/gui/GuiCompressor.png | Bin .../mods/mekanism/gui/GuiCrusher.png | Bin .../mods/mekanism/gui/GuiDynamicTank.png | Bin .../mods/mekanism/gui/GuiElectricPump.png | Bin .../mekanism/gui/GuiElectrolyticSeparator.png | Bin .../mods/mekanism/gui/GuiElementizer.png | Bin .../mods/mekanism/gui/GuiEnergizedSmelter.png | Bin .../mods/mekanism/gui/GuiEnergyCube.png | Bin .../mods/mekanism/gui/GuiGasTank.png | Bin .../mods/mekanism/gui/GuiHeatGenerator.png | Bin .../mekanism/gui/GuiHydrogenGenerator.png | Bin .../mods/mekanism/gui/GuiPasswordEnter.png | Bin .../mods/mekanism/gui/GuiPasswordModify.png | Bin .../mekanism/gui/GuiPortableTeleporter.png | Bin .../mekanism/gui/GuiPurificationChamber.png | Bin .../mods/mekanism/gui/GuiSolarGenerator.png | Bin .../mods/mekanism/gui/GuiTeleporter.png | Bin .../mods/mekanism/gui/GuiWindTurbine.png | Bin .../gui/factory/GuiAdvancedFactory.png | Bin .../mekanism/gui/factory/GuiBasicFactory.png | Bin .../mekanism/gui/factory/GuiEliteFactory.png | Bin bin/minecraft/mods/mekanism/infuse/Bio.png | Bin 0 -> 1651 bytes bin/minecraft/mods/mekanism/infuse/Carbon.png | Bin 0 -> 3135 bytes .../mods/mekanism/infuse/Diamond.png | Bin 0 -> 1188 bytes bin/minecraft/mods/mekanism/infuse/Tin.png | Bin 0 -> 1188 bytes .../render/AdvancedSolarGenerator.png | Bin .../mods/mekanism/render/BioGenerator.png | Bin bin/minecraft/mods/mekanism/render/Robit.png | Bin .../mekanism/render/SideConfigOverlay.png | Bin 0 -> 3749 bytes .../blocks/AdvancedEnergyCubeFront.png | Bin .../blocks/AdvancedEnergyCubeSide.png | Bin .../textures/blocks/AdvancedFactorySide.png | Bin .../textures/blocks/AdvancedFactoryTop.png | Bin .../textures/blocks/BasicEnergyCubeFront.png | Bin .../textures/blocks/BasicEnergyCubeSide.png | Bin .../textures/blocks/BasicFactoryFront.png | Bin .../textures/blocks/BasicFactorySide.png | Bin .../mekanism/textures/blocks/BronzeBlock.png | Bin .../mekanism/textures/blocks/CoalBlock.png | Bin .../textures/blocks/CombinerFrontOff.png | Bin .../textures/blocks/CrusherFrontOff.png | Bin .../textures/blocks/EliteEnergyCubeFront.png | Bin .../textures/blocks/EliteEnergyCubeSide.png | Bin .../textures/blocks/EliteFactoryFront.png | Bin .../textures/blocks/EliteFactorySide.png | Bin .../textures/blocks/EliteFactoryTop.png | Bin .../blocks/EnrichmentChamberFrontOff.png | Bin .../mekanism/textures/blocks/GasTankFront.png | Bin .../mekanism/textures/blocks/GasTankSide.png | Bin .../blocks/MetallurgicInfuserBackOff.png | Bin .../blocks/MetallurgicInfuserFrontOff.png | Bin .../blocks/MetallurgicInfuserSideOff.png | Bin .../blocks/MetallurgicInfuserTopOff.png | Bin .../blocks/MetallurgicInfuserTopOn.png | Bin .../textures/blocks/ObsidianTNTBottom.png | Bin .../textures/blocks/ObsidianTNTSide.png | Bin .../textures/blocks/ObsidianTNTTop.png | Bin .../blocks/OsmiumCompressorFrontOff.png | Bin .../mekanism/textures/blocks/OsmiumOre.png | Bin .../blocks/PurificationChamberFrontOff.png | Bin .../textures/blocks/RefinedGlowstone.png | Bin .../textures/blocks/RefinedObsidian.png | Bin .../textures/blocks/SolarGeneratorFront.png | Bin .../textures/blocks/SolarGeneratorTop.png | Bin .../mekanism/textures/blocks/SteelCasing.png | Bin .../mekanism/textures/blocks/Teleporter.png | Bin .../blocks/UltimateEnergyCubeFront.png | Bin .../blocks/UltimateEnergyCubeSide.png | Bin .../mekanism/textures/items/AtomicCore.png | Bin .../textures/items/AtomicDisassembler.png | Bin .../mods/mekanism/textures/items/BioFuel.png | Bin .../mekanism/textures/items/BronzeAxe.png | Bin .../mekanism/textures/items/BronzeBoots.png | Bin .../textures/items/BronzeChestplate.png | Bin .../mekanism/textures/items/BronzeHelmet.png | Bin .../mekanism/textures/items/BronzeHoe.png | Bin .../mekanism/textures/items/BronzeIngot.png | Bin .../textures/items/BronzeLeggings.png | Bin .../mekanism/textures/items/BronzePaxel.png | Bin .../mekanism/textures/items/BronzeShovel.png | Bin .../mekanism/textures/items/BronzeSword.png | Bin .../textures/items/CompressedCarbon.png | Bin .../mekanism/textures/items/Configurator.png | Bin 248 -> 1428 bytes .../textures/items/ControlCircuit.png | Bin .../mekanism/textures/items/CopperClump.png | Bin .../mekanism/textures/items/CopperDust.png | Bin .../mekanism/textures/items/DiamondDust.png | Bin .../mekanism/textures/items/DiamondPaxel.png | Bin .../textures/items/DirtyCopperDust.png | Bin .../mekanism/textures/items/DirtyGoldDust.png | Bin .../mekanism/textures/items/DirtyIronDust.png | Bin .../textures/items/DirtyObsidianDust.png | Bin .../textures/items/DirtyOsmiumDust.png | Bin .../textures/items/DirtySilverDust.png | Bin .../mekanism/textures/items/DirtyTinDust.png | Bin .../mekanism/textures/items/ElectricBow.png | Bin .../textures/items/ElectrolyticCore.png | Bin .../mekanism/textures/items/EnergyTablet.png | Bin .../mekanism/textures/items/EnergyUpgrade.png | Bin .../mekanism/textures/items/EnrichedAlloy.png | Bin .../mekanism/textures/items/EnrichedIron.png | Bin .../mekanism/textures/items/GlowstoneAxe.png | Bin .../textures/items/GlowstoneBoots.png | Bin .../textures/items/GlowstoneChestplate.png | Bin .../textures/items/GlowstoneHelmet.png | Bin .../mekanism/textures/items/GlowstoneHoe.png | Bin .../textures/items/GlowstoneIngot.png | Bin .../textures/items/GlowstoneLeggings.png | Bin .../textures/items/GlowstonePaxel.png | Bin .../textures/items/GlowstonePickaxe.png | Bin .../textures/items/GlowstoneShovel.png | Bin .../textures/items/GlowstoneSword.png | Bin .../mekanism/textures/items/GoldClump.png | Bin .../mods/mekanism/textures/items/GoldDust.png | Bin .../mekanism/textures/items/GoldPaxel.png | Bin .../mekanism/textures/items/IronClump.png | Bin .../mods/mekanism/textures/items/IronDust.png | Bin .../mekanism/textures/items/IronPaxel.png | Bin .../mekanism/textures/items/LazuliAxe.png | Bin .../mekanism/textures/items/LazuliBoots.png | Bin .../textures/items/LazuliChestplate.png | Bin .../mekanism/textures/items/LazuliHelmet.png | Bin .../mekanism/textures/items/LazuliHoe.png | Bin .../textures/items/LazuliLeggings.png | Bin .../mekanism/textures/items/LazuliPaxel.png | Bin .../mekanism/textures/items/LazuliPickaxe.png | Bin .../mekanism/textures/items/LazuliShovel.png | Bin .../mekanism/textures/items/LazuliSword.png | Bin .../mekanism/textures/items/ObsidianAxe.png | Bin .../mekanism/textures/items/ObsidianBoots.png | Bin .../textures/items/ObsidianChestplate.png | Bin .../mekanism/textures/items/ObsidianDust.png | Bin .../textures/items/ObsidianHelmet.png | Bin .../mekanism/textures/items/ObsidianHoe.png | Bin .../mekanism/textures/items/ObsidianIngot.png | Bin .../textures/items/ObsidianLeggings.png | Bin .../mekanism/textures/items/ObsidianPaxel.png | Bin .../textures/items/ObsidianPickaxe.png | Bin .../textures/items/ObsidianShovel.png | Bin .../mekanism/textures/items/ObsidianSword.png | Bin .../mekanism/textures/items/OsmiumAxe.png | Bin .../mekanism/textures/items/OsmiumBoots.png | Bin .../textures/items/OsmiumChestplate.png | Bin .../mekanism/textures/items/OsmiumClump.png | Bin .../mekanism/textures/items/OsmiumDust.png | Bin .../mekanism/textures/items/OsmiumHelmet.png | Bin .../mekanism/textures/items/OsmiumHoe.png | Bin .../mekanism/textures/items/OsmiumIngot.png | Bin .../textures/items/OsmiumLeggings.png | Bin .../mekanism/textures/items/OsmiumPaxel.png | Bin .../mekanism/textures/items/OsmiumPickaxe.png | Bin .../mekanism/textures/items/OsmiumShovel.png | Bin .../mekanism/textures/items/OsmiumSword.png | Bin .../textures/items/PortableTeleporter.png | Bin .../mekanism/textures/items/SilverClump.png | Bin .../mekanism/textures/items/SilverDust.png | Bin .../mekanism/textures/items/SolarPanel.png | Bin .../mekanism/textures/items/SpeedUpgrade.png | Bin .../mods/mekanism/textures/items/SteelAxe.png | Bin .../mekanism/textures/items/SteelBoots.png | Bin .../textures/items/SteelChestplate.png | Bin .../mekanism/textures/items/SteelDust.png | Bin .../mekanism/textures/items/SteelHelmet.png | Bin .../mods/mekanism/textures/items/SteelHoe.png | Bin .../mekanism/textures/items/SteelIngot.png | Bin .../mekanism/textures/items/SteelLeggings.png | Bin .../mekanism/textures/items/SteelPaxel.png | Bin .../mekanism/textures/items/SteelPickaxe.png | Bin .../mekanism/textures/items/SteelShovel.png | Bin .../mekanism/textures/items/SteelSword.png | Bin .../mekanism/textures/items/StonePaxel.png | Bin .../mekanism/textures/items/Stopwatch.png | Bin .../mekanism/textures/items/StorageTank.png | Bin .../textures/items/TeleportationCore.png | Bin .../mods/mekanism/textures/items/TinClump.png | Bin .../mods/mekanism/textures/items/TinDust.png | Bin .../mekanism/textures/items/WeatherOrb.png | Bin .../mekanism/textures/items/WoodPaxel.png | Bin src/minecraft/mekanism/api/GasNetwork.java | 308 +++++++++++++++++ .../mekanism/api/GasTransferProtocol.java | 160 --------- .../mekanism/api/GasTransmission.java | 98 ++++-- .../mekanism/api/IPressurizedTube.java | 19 +- .../mekanism/client/GasClientUpdate.java | 78 +++++ .../mekanism/client/LiquidClientUpdate.java | 75 +++++ .../mekanism/client/MekanismRenderer.java | 43 +-- .../client/RenderConfigurableMachine.java | 2 +- .../mekanism/client/RenderDynamicTank.java | 40 ++- .../mekanism/client/RenderMechanicalPipe.java | 23 +- .../client/RenderMetallurgicInfuser.java | 10 +- .../client/RenderPressurizedTube.java | 23 +- .../mekanism/client/RenderUniversalCable.java | 70 +--- .../mekanism/client/TransmitterRenderer.java | 5 +- .../mekanism/common/BlockTransmitter.java | 52 +-- src/minecraft/mekanism/common/CableUtils.java | 98 ++++-- .../mekanism/common/EnergyNetwork.java | 9 +- .../mekanism/common/IC2EnergyHandler.java | 1 - .../{api => common}/IMechanicalPipe.java | 22 +- .../{api => common}/IUniversalCable.java | 3 +- .../mekanism/common/LiquidNetwork.java | 310 ++++++++++++++++++ .../common/LiquidTransferProtocol.java | 173 ---------- src/minecraft/mekanism/common/Mekanism.java | 13 +- src/minecraft/mekanism/common/PipeUtils.java | 37 ++- .../mekanism/common/TileEntityEnergyCube.java | 1 - .../common/TileEntityMechanicalPipe.java | 65 +++- .../common/TileEntityPressurizedTube.java | 66 +++- .../common/TileEntityUniversalCable.java | 21 +- .../PacketTransmitterTransferUpdate.java | 9 +- .../common/TileEntityGenerator.java | 2 +- 211 files changed, 1256 insertions(+), 580 deletions(-) mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiBioGenerator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiChamber.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiCombiner.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiCompressor.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiCrusher.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiDynamicTank.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiElectricPump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiElectrolyticSeparator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiElementizer.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiEnergizedSmelter.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiEnergyCube.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiGasTank.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiHeatGenerator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiHydrogenGenerator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiPasswordEnter.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiPasswordModify.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiPortableTeleporter.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiPurificationChamber.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiSolarGenerator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiTeleporter.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/GuiWindTurbine.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/factory/GuiAdvancedFactory.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/factory/GuiBasicFactory.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/gui/factory/GuiEliteFactory.png create mode 100644 bin/minecraft/mods/mekanism/infuse/Bio.png create mode 100644 bin/minecraft/mods/mekanism/infuse/Carbon.png create mode 100644 bin/minecraft/mods/mekanism/infuse/Diamond.png create mode 100644 bin/minecraft/mods/mekanism/infuse/Tin.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/render/AdvancedSolarGenerator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/render/BioGenerator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/render/Robit.png create mode 100644 bin/minecraft/mods/mekanism/render/SideConfigOverlay.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactorySide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryTop.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/BasicFactorySide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/BronzeBlock.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/CoalBlock.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/EliteFactorySide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryTop.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/GasTankFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/GasTankSide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTBottom.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTSide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTTop.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/OsmiumOre.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/RefinedGlowstone.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/RefinedObsidian.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorTop.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/SteelCasing.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/Teleporter.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/AtomicCore.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/AtomicDisassembler.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BioFuel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeAxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeBoots.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeChestplate.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeHelmet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeHoe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeIngot.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeLeggings.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzePaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeShovel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/BronzeSword.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/CompressedCarbon.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/Configurator.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ControlCircuit.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/CopperClump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/CopperDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DiamondDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DiamondPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtyCopperDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtyGoldDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtyIronDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtyObsidianDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtyOsmiumDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtySilverDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/DirtyTinDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ElectricBow.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ElectrolyticCore.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/EnergyTablet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/EnergyUpgrade.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/EnrichedAlloy.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/EnrichedIron.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneAxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneBoots.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneChestplate.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneHelmet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneHoe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneIngot.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneLeggings.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstonePaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstonePickaxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneShovel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GlowstoneSword.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GoldClump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GoldDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/GoldPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/IronClump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/IronDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/IronPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliAxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliBoots.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliChestplate.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliHelmet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliHoe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliLeggings.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliPickaxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliShovel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/LazuliSword.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianAxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianBoots.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianChestplate.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianHelmet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianHoe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianIngot.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianLeggings.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianPickaxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianShovel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/ObsidianSword.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumAxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumBoots.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumChestplate.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumClump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumHelmet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumHoe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumIngot.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumLeggings.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumPickaxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumShovel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/OsmiumSword.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/PortableTeleporter.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SilverClump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SilverDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SolarPanel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SpeedUpgrade.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelAxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelBoots.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelChestplate.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelHelmet.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelHoe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelIngot.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelLeggings.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelPaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelPickaxe.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelShovel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/SteelSword.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/StonePaxel.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/Stopwatch.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/StorageTank.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/TeleportationCore.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/TinClump.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/TinDust.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/WeatherOrb.png mode change 100755 => 100644 bin/minecraft/mods/mekanism/textures/items/WoodPaxel.png create mode 100644 src/minecraft/mekanism/api/GasNetwork.java delete mode 100644 src/minecraft/mekanism/api/GasTransferProtocol.java create mode 100644 src/minecraft/mekanism/client/GasClientUpdate.java create mode 100644 src/minecraft/mekanism/client/LiquidClientUpdate.java rename src/minecraft/mekanism/{api => common}/IMechanicalPipe.java (50%) rename src/minecraft/mekanism/{api => common}/IUniversalCable.java (92%) create mode 100644 src/minecraft/mekanism/common/LiquidNetwork.java delete mode 100644 src/minecraft/mekanism/common/LiquidTransferProtocol.java diff --git a/bin/minecraft/mods/mekanism/gui/GuiBioGenerator.png b/bin/minecraft/mods/mekanism/gui/GuiBioGenerator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiChamber.png b/bin/minecraft/mods/mekanism/gui/GuiChamber.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiCombiner.png b/bin/minecraft/mods/mekanism/gui/GuiCombiner.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiCompressor.png b/bin/minecraft/mods/mekanism/gui/GuiCompressor.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiCrusher.png b/bin/minecraft/mods/mekanism/gui/GuiCrusher.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiDynamicTank.png b/bin/minecraft/mods/mekanism/gui/GuiDynamicTank.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiElectricPump.png b/bin/minecraft/mods/mekanism/gui/GuiElectricPump.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiElectrolyticSeparator.png b/bin/minecraft/mods/mekanism/gui/GuiElectrolyticSeparator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiElementizer.png b/bin/minecraft/mods/mekanism/gui/GuiElementizer.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiEnergizedSmelter.png b/bin/minecraft/mods/mekanism/gui/GuiEnergizedSmelter.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiEnergyCube.png b/bin/minecraft/mods/mekanism/gui/GuiEnergyCube.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiGasTank.png b/bin/minecraft/mods/mekanism/gui/GuiGasTank.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiHeatGenerator.png b/bin/minecraft/mods/mekanism/gui/GuiHeatGenerator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiHydrogenGenerator.png b/bin/minecraft/mods/mekanism/gui/GuiHydrogenGenerator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiPasswordEnter.png b/bin/minecraft/mods/mekanism/gui/GuiPasswordEnter.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiPasswordModify.png b/bin/minecraft/mods/mekanism/gui/GuiPasswordModify.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiPortableTeleporter.png b/bin/minecraft/mods/mekanism/gui/GuiPortableTeleporter.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiPurificationChamber.png b/bin/minecraft/mods/mekanism/gui/GuiPurificationChamber.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiSolarGenerator.png b/bin/minecraft/mods/mekanism/gui/GuiSolarGenerator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiTeleporter.png b/bin/minecraft/mods/mekanism/gui/GuiTeleporter.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/GuiWindTurbine.png b/bin/minecraft/mods/mekanism/gui/GuiWindTurbine.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/factory/GuiAdvancedFactory.png b/bin/minecraft/mods/mekanism/gui/factory/GuiAdvancedFactory.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/factory/GuiBasicFactory.png b/bin/minecraft/mods/mekanism/gui/factory/GuiBasicFactory.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/gui/factory/GuiEliteFactory.png b/bin/minecraft/mods/mekanism/gui/factory/GuiEliteFactory.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/infuse/Bio.png b/bin/minecraft/mods/mekanism/infuse/Bio.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf5d75da65240e0970ed159225a10fe670128d2 GIT binary patch literal 1651 zcmV-(28{WMP)4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER0006CNkl2$bPe@cz6vn@Ic{7U=A_AL#IWZNr zh)7IIa-nSsq8Lb5xe2sCn;<3HC0HOWDhOKXqD_maAcP>=WYH$3aO)z6#y^RINi=O5 z@%Db_G0HoOxpUt==X~G!&Zpgjfqz=L;W=B*%4^_mul>1lq0{d;Eg$f*?_);Q(y}(| zl2a6go;-(2K~e73#mo9M|5YR1eX9DJtfahhLf>W=wYfK~a5z7x2MZHXzO093oX_+dV}2v*A12*NBzUkuT(zSYq0L^&uR6i zJGU}|V~4UH+63gnjw1yXGI@37+BNl<&Eh3vd*{@ULcadVZm3kvYP>!XXEYY#bQ2j^8ZsPVu!#&* zzuI56*W2g%wlgR*O@SnuJltGk%|5U!!W07mQbYn}|KFlQdd%h4)Y`U7@1M;md{TQY zc#NcCJ%q@^lVy`}%P?e6j~yKDA&#Gk)*pqT;E$L8DzSuYpG!hydO+@Qa8LoZWDSG~ zbRf0IE{T$^phJt(OZwirEQf>y4zN{nVRTe8Vvm+4P2|=2-@M5&Ee>oV8B<>1Vj^J} xtcfKP)3QqQI_c0(rR%D!uPVS>P=*7r{{cdJ22d8#DXRbg002ovPDHLkV1iRgAdCP2 literal 0 HcmV?d00001 diff --git a/bin/minecraft/mods/mekanism/infuse/Carbon.png b/bin/minecraft/mods/mekanism/infuse/Carbon.png new file mode 100644 index 0000000000000000000000000000000000000000..03f2c34df9dd5d2f903bc9c56dab32fcbe35004f GIT binary patch literal 3135 zcmeHK>pRm69RF=>MlNMG_d~lN4nmQQmQ2htcM=*Zmloo|S!OjSg*hi@kxnX}+%Jz? z%5|uq#0pP@;+wN20<8BHklfzx|kOa+hwu$VQ z74ELy^{OgmolsI*{)#;^e~GV)nZubS7pqE)FV&PdGUCmkBG9Q(F*!Sn!!pnS#^_e- zbCPSKZVAbbvDhJZSZf91KGPTzpzYe>v-!Qpe9C+Qzi?rkXh{uuk*VySlu=s#qz`jH ztq_@><-i`S9wLhkl`c{AIX%7d25pG1Zv->yY*^0<=hH4_3*8c%@_ry0<=7gAP-iL& zrJY|7(Q3#FEfU+pkXq>bb+xs(rsCjI@B`*!dHO(?wk72-LGo_Dt^iR6<3cUC{6NE6 zf2x=gFKxy>Otk?O$f+*7=O5WOW0)FIYqTe4@F;p?+4t7D?Z^4`7whDbC-t`6nv)45 zFE-TH$d%NJdXoQ5h%oj0U>umP;k;3Nj~O+&U`wTzDNI5qA&h}*g$EqAuS6R$)Rd|Q zHnD;~dFT@((LwUnd5Wx658-qE#YIjL&oyM)f4a?{S@MvY8R79EVWOw{{KMB^bn2y+ z!rnQS1dH&zj9Uch9mJWLusPN`;CryufR1W;K9*mgC`4VG{Um1MK`oj_-3V5D>Lz<9q{cE;20wU~BEI$GV*2lN&zBM6`N>K}6%tIEy)_$|I4 zt<^^0oqRo5Khs~bo3mRSRzxjQ9Gb#kNl?ZYV3@j0y&WB+;! zyqe@+r&&rhko)V zChoQ41s=iPMR4ZI!Oa$xu{&#&xDO^dDH59vO|uKRc5_gUE3R^CTYZTz7fW$iz(aMbuS{X443jiG?S~2ERzHK$j zC?Co2Y#iNyh(1baW){(iWbVxyH<~ARE&CSMR|EpV&R)=}I7}24pPC&@Ac(RTKGQ|a zucuk3tfw7w3o^uEK49py3+GT0Oo_#NI*hp{sl+1NoY6%20jNZev{tMiV1Q7LPhx?R z)XqDAAFx1mZkNPSV5nwf@Nvog4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER0000xNkl3KYyZh!p0~EZycbkC)#0D`y;KRfF z3`}4a5-}=(6c|9}Xn2f<2T}-NBnK8yZUW^b7ytkZ;Sl_yNs9Ua00004Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER0000xNkl3MeeE!sb1}M03=`sTghz(+Zz@vNj z7?{8;Bw|zmDKLP{(eM}z52O&lNDeHZ+yu%=FaQALNf2uOaF{y)0000NcwY literal 0 HcmV?d00001 diff --git a/bin/minecraft/mods/mekanism/render/AdvancedSolarGenerator.png b/bin/minecraft/mods/mekanism/render/AdvancedSolarGenerator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/render/BioGenerator.png b/bin/minecraft/mods/mekanism/render/BioGenerator.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/render/Robit.png b/bin/minecraft/mods/mekanism/render/Robit.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/render/SideConfigOverlay.png b/bin/minecraft/mods/mekanism/render/SideConfigOverlay.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a25a75fea7eab8bd3a5f4f14eede2027690ea5 GIT binary patch literal 3749 zcmeH~={wtL7sr2sSgLgFYY}T16n&^9LQ* zQlXY$Y-5Y9Pc4Hv-zxN`6V3S z>L6#4}gWTa!NyBa#`q<`@N|x|2C3lut)^ z3b%vd?K2@p_#h;|{9xXacZAX#NJwsD?H@tW#3iGgD7-OG!tiO_-c~^B6;@$c>klmw znI!!Kug*-wyVrZlJI?h;T&rUcR*;c%IGG4Ssk-k~{eg)kt=S`ywbCRoNf148r{csV z)~z^Ww6c7|#J<+%lR=I1@8WJqHolZgrus0NW`0=DtsL|WT?|_6cEVKWBMYK@R?`-S z8?WY%fHZP`BvgzpCkrJbnrhoC1xF{L=BA~xpPesah5m_~#14vQGUI8`{{~kc1oG%*_b470b>2Ua~N`6$_TXH-l)08m)qr=L4oa zf}3A-*{|E$YPiT61i!6vg1vMrHhIw7anTH}Wipud^Pj^(#t_#@$=eI}EOI^$q}_id z*I`iVUIrV$-68zda0THx%g0s?ZrnPnbVKT8z4^@3En(+wXt%haXmmJKMsEtEyH9I( zjq{R)y10F2TVr%H+{b3Aiie{)++Pano%Q!LT*r;i`B9|Qgrsi9nNM0(goPot#Nk8W zHpUpGGb}8Y9YyYcODkdw^hp30aSx5ADSFh@do7EdBYWv`%hD zF8YqodCWDuDEq`r8Q0M6MhsewOtvnKS943bRS}iQO1Wt=>{glrtXvbLhtcQgVstP@ zobR(@ecwPhngI_xa}5P8+Nd2RS~F-IGDvD6E8ynau#*4ic)ARsm*rL-u-n4$TbEv=4R!_O&q-*3i@@*tz53E>Vr6~jOY+J+%m({s z_B1Nu{R>wfWuc(OSvn4x)NI$@fe)r2d~rMD8biCjoPVF2Cv_GIT@3&Bd#yp!4@J-@ zAGI*s&QvT5{Ft$0^ZuE%Z#3rA+G3}-EHaU$$p{P znF{%B{Q`;AX&1jB7QXFgo6hTjZTj5wtCYe}PVEyE=YH97NnAB8%@*2!)A3>Lg~Kv9 z*ArS#W~ppAe^`jcPoR?N-b5W+n5wxVug+W%hJ^5BC$7^FzCaY}wvxUS0EogJZ7+DC z_$YG?S(?|S1q1!GY3?Herj3ru#&m<;E58Swy5EOCD>v}tt5E?{)xO)$i#E2eu8bKL z5_+b{7Y`D66iafMxSw~-`O`V7OuOW+IMMg*y;jQNZC4jt;o?SX2n+ZYltKqnRiGUB4Suy*`k_RUw5D`QiiAJQ=(AhNhm(XDhA8rhpG136@-!^lpBajEHWs{?+D6f%0U~6Nr^m3nb+( z5m-g@yi=JZ>^?h@N=QiRq$4d6WEQTtgvz;0B+|LVYXiiCe`L+t8k+Z(M(f~xVjfXU zHi}9}Olm)(c<>|69^1Rb3__l}nE|9&@!|uuWx6goJy;On2qtcUIv>>NW=q5iI zQakbm$MK$-!o46-wQ>`OXRg+KdlWASs394YQ6(n1F6DNNAD8a9ZH}MJ@whl1mB(x1 dYb%l=7nsK8AENnM9DP3lM>`kWy6*yi`Wt`-WJv%3 literal 0 HcmV?d00001 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png b/bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png b/bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactorySide.png b/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactorySide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryTop.png b/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryTop.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png b/bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png b/bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryFront.png b/bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicFactorySide.png b/bin/minecraft/mods/mekanism/textures/blocks/BasicFactorySide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BronzeBlock.png b/bin/minecraft/mods/mekanism/textures/blocks/BronzeBlock.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CoalBlock.png b/bin/minecraft/mods/mekanism/textures/blocks/CoalBlock.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOff.png b/bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOff.png b/bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png b/bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png b/bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryFront.png b/bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteFactorySide.png b/bin/minecraft/mods/mekanism/textures/blocks/EliteFactorySide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryTop.png b/bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryTop.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png b/bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/GasTankFront.png b/bin/minecraft/mods/mekanism/textures/blocks/GasTankFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/GasTankSide.png b/bin/minecraft/mods/mekanism/textures/blocks/GasTankSide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png b/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png b/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png b/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png b/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png b/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTBottom.png b/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTBottom.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTSide.png b/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTSide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTTop.png b/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTTop.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png b/bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumOre.png b/bin/minecraft/mods/mekanism/textures/blocks/OsmiumOre.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png b/bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/RefinedGlowstone.png b/bin/minecraft/mods/mekanism/textures/blocks/RefinedGlowstone.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/RefinedObsidian.png b/bin/minecraft/mods/mekanism/textures/blocks/RefinedObsidian.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorFront.png b/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorTop.png b/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorTop.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SteelCasing.png b/bin/minecraft/mods/mekanism/textures/blocks/SteelCasing.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/Teleporter.png b/bin/minecraft/mods/mekanism/textures/blocks/Teleporter.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png b/bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png b/bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/AtomicCore.png b/bin/minecraft/mods/mekanism/textures/items/AtomicCore.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/AtomicDisassembler.png b/bin/minecraft/mods/mekanism/textures/items/AtomicDisassembler.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BioFuel.png b/bin/minecraft/mods/mekanism/textures/items/BioFuel.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeAxe.png b/bin/minecraft/mods/mekanism/textures/items/BronzeAxe.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeBoots.png b/bin/minecraft/mods/mekanism/textures/items/BronzeBoots.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeChestplate.png b/bin/minecraft/mods/mekanism/textures/items/BronzeChestplate.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeHelmet.png b/bin/minecraft/mods/mekanism/textures/items/BronzeHelmet.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeHoe.png b/bin/minecraft/mods/mekanism/textures/items/BronzeHoe.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeIngot.png b/bin/minecraft/mods/mekanism/textures/items/BronzeIngot.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeLeggings.png b/bin/minecraft/mods/mekanism/textures/items/BronzeLeggings.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzePaxel.png b/bin/minecraft/mods/mekanism/textures/items/BronzePaxel.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeShovel.png b/bin/minecraft/mods/mekanism/textures/items/BronzeShovel.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeSword.png b/bin/minecraft/mods/mekanism/textures/items/BronzeSword.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/CompressedCarbon.png b/bin/minecraft/mods/mekanism/textures/items/CompressedCarbon.png old mode 100755 new mode 100644 diff --git a/bin/minecraft/mods/mekanism/textures/items/Configurator.png b/bin/minecraft/mods/mekanism/textures/items/Configurator.png old mode 100755 new mode 100644 index 8ac9951248569a3976effae33ebb24bcb1681126..66029cdf4b0f57803ee174a4dcb7c8450cd01720 GIT binary patch delta 1410 zcmV-|1%3MX0h9}nBYy-WX+uL$Nkc;*P;zf(X>4Tx05}naRo`#hR1`jmZ&IWdKOk5~ zhl<6oRa0BJ8yc;~21%2p?MfD<>DVeH9(p*dx19w`~g7O0}n_%Aq@s% zd)fBDv`JHkDym6Hd+5XuAtvnwRpGmKVkc9?T=n|PIo~$m6N9yl%7qB(zDb{1JtYOPA!qk%@Qub75C2T;T?(y%k7cw{!aEIzj}+@(TO5Y zz-|>CeHr)+QOwk9wo4Sh2mAPGw+7tv9PraN1Olr9mwlWPc+tlvJx(D%369Vz>lLjC zyaqhH*k&)cVSir(7|4_1Rc;%)B4&}Zt&(AK&*3kRaknx54=$T^^z2=OSo@r%xnsBw ziQX&rRKAHn*R}K<@Jp~?uenKKe+BrD`qF#?cpp*psgiwk-seYOU#%402HpjG(Qu~= zP5WwfF?$>svC;J<>zK$RIM;P&60@WifbUlLwAf?lk$1u(mFRYq89Q?S8HyrsX^MVnpsf`{W6(5UXREr zZM&7ilpo6ux^|%%%N9z;(dj0Ct!8>>5!%=VyPg-?ke}Vs>~sbgdDuU^Ixpr19NS&g zQew8Fz<)>RL_{M_7A<1csY*MfP@XcB#Jxr~JS8&7goVS)VKE|4(h_Xlc{z{c$ApZs z7riZ_QKdV_uW-M~u~8PF3UX~a6)MwxDE0Ha zPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiSBY#iOF*IB46Cei@XmvNzKBsGIKkN=X z$_Bgm&h5TyYjpf^^Nrn$ZO1mSZpOC4_}H(pE&Od#0y|)Oik6|u@OHupcq1J>TmjQ1 z4eM{2+Oeah>iL1tBPPK=$Ue-{x#7^N{-XY=Zm3_V7u4T7YJ?d(rX+nTeJlMa zeSar?Fa1o4bXmG0{UlwLzL72kIlJ$@pC#CPuU}yk-HKgk)oY(MCsR(!d*m18l>EH> zvOF8G6uDm>lc(gp@azfp%?$k=y%=-~vuaJXdoA$<7&H$h2Au}i##F_Gt8^Aw+nR z0003iNkl--|f{T zp7CCQ@S-RrMpadi=lQ$0OD_l$>+SfyJHz92At3ZitOZtU2JKVIgq}3=)_X_*i%rDY z9QUxj9mLf7POgE^N>9^N0@~&ugOCISyz4rMqDVSWNG2AO$rSj6qpw!LH(VLm$$c1L Qp#T5?07*qoM6N<$f^N*Mt^fc4 delta 221 zcmV<303!dC3-|$$BYyzDNklM*3V`F@d$QKz0j)R;(2GL=TXA*3UR)J$ zB(4TH8dm|Fi4O;yjSmG#;==&axEPRgrh3x22*AOV(rPhAf>yl^3t;&^=uOXg0FE;P z3gBa#_6X`r=U_ecFQO86&i!@qB7kOm7oZ*A1R&yF04m-DAmd#CD&7QewCw&hy9D3| Xya{ tubes = new HashSet(); + + public Set possibleAcceptors = new HashSet(); + public Map acceptorDirections = new HashMap(); + + public GasNetwork(IPressurizedTube... varPipes) + { + tubes.addAll(Arrays.asList(varPipes)); + } + + public int emit(int gasToSend, EnumGas transferType, TileEntity emitter) + { + List availableAcceptors = Arrays.asList(getGasAcceptors(transferType).toArray()); + + Collections.shuffle(availableAcceptors); + + int prevSending = gasToSend; + + if(!availableAcceptors.isEmpty()) + { + int divider = availableAcceptors.size(); + int remaining = gasToSend % divider; + int sending = (gasToSend-remaining)/divider; + + for(Object obj : availableAcceptors) + { + if(obj instanceof IGasAcceptor && obj != emitter) + { + IGasAcceptor acceptor = (IGasAcceptor)obj; + + int currentSending = sending; + + if(remaining > 0) + { + currentSending++; + remaining--; + } + + gasToSend -= (currentSending - acceptor.transferGasToAcceptor(currentSending, transferType)); + } + } + } + + if(prevSending > gasToSend && FMLCommonHandler.instance().getEffectiveSide().isServer()) + { + MinecraftForge.EVENT_BUS.post(new GasTransferEvent(this, transferType)); + } + + return gasToSend; + } + + public Set getGasAcceptors(EnumGas transferType) + { + Set toReturn = new HashSet(); + + for(IGasAcceptor acceptor : possibleAcceptors) + { + if(acceptor.canReceiveGas(acceptorDirections.get(acceptor).getOpposite(), transferType)) + { + if(!(acceptor instanceof IGasStorage) || (acceptor instanceof IGasStorage && (((IGasStorage)acceptor).getMaxGas(transferType) - ((IGasStorage)acceptor).getGas(transferType)) > 0)) + { + toReturn.add(acceptor); + } + } + } + + return toReturn; + } + + public void refresh() + { + Iterator it = tubes.iterator(); + + possibleAcceptors.clear(); + acceptorDirections.clear(); + + while(it.hasNext()) + { + IPressurizedTube conductor = (IPressurizedTube)it.next(); + + if(conductor == null) + { + it.remove(); + } + else if(((TileEntity)conductor).isInvalid()) + { + it.remove(); + } + else { + conductor.setNetwork(this); + } + } + + for(IPressurizedTube pipe : tubes) + { + IGasAcceptor[] acceptors = GasTransmission.getConnectedAcceptors((TileEntity)pipe); + + for(IGasAcceptor acceptor : acceptors) + { + if(acceptor != null && !(acceptor instanceof IPressurizedTube)) + { + possibleAcceptors.add(acceptor); + acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor))); + } + } + } + } + + public void merge(GasNetwork network) + { + if(network != null && network != this) + { + GasNetwork newNetwork = new GasNetwork(); + newNetwork.tubes.addAll(tubes); + newNetwork.tubes.addAll(network.tubes); + newNetwork.refresh(); + } + } + + public void split(IPressurizedTube splitPoint) + { + if(splitPoint instanceof TileEntity) + { + tubes.remove(splitPoint); + + TileEntity[] connectedBlocks = new TileEntity[6]; + + for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity sideTile = Object3D.get((TileEntity)splitPoint).getFromSide(direction).getTileEntity(((TileEntity)splitPoint).worldObj); + + if(sideTile != null) + { + connectedBlocks[Arrays.asList(ForgeDirection.values()).indexOf(direction)] = sideTile; + } + } + + for(int countOne = 0; countOne < connectedBlocks.length; countOne++) + { + TileEntity connectedBlockA = connectedBlocks[countOne]; + + if(connectedBlockA instanceof IPressurizedTube) + { + for(int countTwo = 0; countTwo < connectedBlocks.length; countTwo++) + { + TileEntity connectedBlockB = connectedBlocks[countTwo]; + + if(connectedBlockA != connectedBlockB && connectedBlockB instanceof IPressurizedTube) + { + NetworkFinder finder = new NetworkFinder(((TileEntity)splitPoint).worldObj, Object3D.get(connectedBlockB), Object3D.get((TileEntity)splitPoint)); + + if(finder.foundTarget(Object3D.get(connectedBlockA))) + { + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IPressurizedTube) + { + if(nodeTile != splitPoint) + { + ((IPressurizedTube)nodeTile).setNetwork(this); + } + } + } + } + else { + GasNetwork newNetwork = new GasNetwork(); + + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IPressurizedTube) + { + if(nodeTile != splitPoint) + { + newNetwork.tubes.add((IPressurizedTube)nodeTile); + } + } + } + + newNetwork.refresh(); + } + } + } + } + } + } + } + + public static class NetworkFinder + { + public World worldObj; + public Object3D toFind; + + public List iterated = new ArrayList(); + public List toIgnore = new ArrayList(); + + public NetworkFinder(World world, Object3D target, Object3D... ignore) + { + worldObj = world; + toFind = target; + + if(ignore != null) + { + toIgnore = Arrays.asList(ignore); + } + } + + public void loopThrough(Object3D location) + { + iterated.add(location); + + if(iterated.contains(toFind)) + { + return; + } + + for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) + { + Object3D obj = location.getFromSide(direction); + + if(!iterated.contains(obj) && !toIgnore.contains(obj)) + { + TileEntity tileEntity = obj.getTileEntity(worldObj); + + if(tileEntity instanceof IPressurizedTube && ((IPressurizedTube)tileEntity).canTransferGas()) + { + loopThrough(obj); + } + } + } + } + + public boolean foundTarget(Object3D start) + { + loopThrough(start); + + return iterated.contains(toFind); + } + } + + public static class GasTransferEvent extends Event + { + public final GasNetwork gasNetwork; + + public final EnumGas transferType; + + public GasTransferEvent(GasNetwork network, EnumGas type) + { + gasNetwork = network; + transferType = type; + } + } + + public static class NetworkLoader + { + @ForgeSubscribe + public void onChunkLoad(ChunkEvent.Load event) + { + if(event.getChunk() != null) + { + for(Object obj : event.getChunk().chunkTileEntityMap.values()) + { + if(obj instanceof TileEntity) + { + TileEntity tileEntity = (TileEntity)obj; + + if(tileEntity instanceof IPressurizedTube) + { + ((IPressurizedTube)tileEntity).refreshNetwork(); + } + } + } + } + } + } + + @Override + public String toString() + { + return "[GasNetwork] " + tubes.size() + " pipes, " + possibleAcceptors.size() + " acceptors."; + } +} diff --git a/src/minecraft/mekanism/api/GasTransferProtocol.java b/src/minecraft/mekanism/api/GasTransferProtocol.java deleted file mode 100644 index ed90dff1f..000000000 --- a/src/minecraft/mekanism/api/GasTransferProtocol.java +++ /dev/null @@ -1,160 +0,0 @@ -package mekanism.api; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; - -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event; -import cpw.mods.fml.common.FMLCommonHandler; - -/** - * The actual protocol gas goes through when it is transferred via Pressurized Tubes. - * @author AidanBrady - * - */ -public class GasTransferProtocol -{ - /** List of iterated tubes, to prevent infinite loops. */ - public ArrayList iteratedTubes = new ArrayList(); - - /** List of IGasAcceptors that can take in the type of gas requested. */ - public ArrayList availableAcceptors = new ArrayList(); - - /** Pointer tube of this calculation */ - public TileEntity pointer; - - /** Original outputter Tile Entity. */ - public TileEntity original; - - /** Type of gas to distribute */ - public EnumGas transferType; - - /** Amount of gas to distribute */ - public int gasToSend; - - /** - * GasTransferProtocol -- a calculation used to distribute gasses through a tube network. - * @param head - pointer tile entity - * @param orig - original outputter - * @param type - type of gas being transferred - * @param amount - amount of gas to distribute - */ - public GasTransferProtocol(TileEntity head, TileEntity orig, EnumGas type, int amount) - { - pointer = head; - transferType = type; - gasToSend = amount; - original = orig; - } - - /** - * Recursive loop that iterates through connected tubes and adds connected acceptors to an ArrayList. Note that it will NOT add - * the original outputting tile into the availableAcceptors list, to prevent loops. - * @param tile - pointer tile entity - */ - public void loopThrough(TileEntity tile) - { - IGasAcceptor[] acceptors = GasTransmission.getConnectedAcceptors(tile); - - for(IGasAcceptor acceptor : acceptors) - { - if(acceptor != null && !availableAcceptors.contains(acceptor)) - { - if(acceptor != original && acceptor.canReceiveGas(ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite(), transferType)) - { - if(!(acceptor instanceof IGasStorage) || (acceptor instanceof IGasStorage && (((IGasStorage)acceptor).getMaxGas(transferType) - ((IGasStorage)acceptor).getGas(transferType)) > 0)) - { - availableAcceptors.add(acceptor); - } - } - } - } - - if(!iteratedTubes.contains(tile)) - { - iteratedTubes.add(tile); - } - - TileEntity[] tubes = GasTransmission.getConnectedTubes(tile); - - for(TileEntity tube : tubes) - { - if(tube != null) - { - if(!iteratedTubes.contains(tube)) - { - loopThrough(tube); - } - } - } - } - - /** - * Updates the client-side tubes for rendering. - */ - public void clientUpdate() - { - loopThrough(pointer); - - for(TileEntity tileEntity : iteratedTubes) - { - if(tileEntity instanceof IPressurizedTube) - { - ((IPressurizedTube)tileEntity).onTransfer(transferType); - } - } - } - - /** - * Runs the protocol and distributes the gas. - * @return rejected gas - */ - public int calculate() - { - loopThrough(pointer); - - Collections.shuffle(availableAcceptors); - - int prevSending = gasToSend; - - if(!availableAcceptors.isEmpty()) - { - int divider = availableAcceptors.size(); - int remaining = gasToSend % divider; - int sending = (gasToSend-remaining)/divider; - - for(IGasAcceptor acceptor : availableAcceptors) - { - int currentSending = sending; - - if(remaining > 0) - { - currentSending++; - remaining--; - } - - gasToSend -= (currentSending - acceptor.transferGasToAcceptor(currentSending, transferType)); - } - } - - if(prevSending > gasToSend && FMLCommonHandler.instance().getEffectiveSide().isServer()) - { - MinecraftForge.EVENT_BUS.post(new GasTransferEvent(this)); - } - - return gasToSend; - } - - public static class GasTransferEvent extends Event - { - public final GasTransferProtocol transferProtocol; - - public GasTransferEvent(GasTransferProtocol protocol) - { - transferProtocol = protocol; - } - } -} diff --git a/src/minecraft/mekanism/api/GasTransmission.java b/src/minecraft/mekanism/api/GasTransmission.java index b6c5f1570..2faccbeab 100644 --- a/src/minecraft/mekanism/api/GasTransmission.java +++ b/src/minecraft/mekanism/api/GasTransmission.java @@ -1,7 +1,11 @@ package mekanism.api; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.MinecraftForge; /** * A handy class containing several utilities for efficient gas transfer. @@ -10,6 +14,23 @@ import net.minecraftforge.common.ForgeDirection; */ public final class GasTransmission { + /** Do not mess with this, used to only register NetworkLoader once. */ + private static boolean networkLoader_loaded = false; + + /** + * Call this method in your mod's init phase in order for the GasNetwork to function properly. + */ + public static void register() + { + if(!networkLoader_loaded) + { + MinecraftForge.EVENT_BUS.register(new GasNetwork.NetworkLoader()); + networkLoader_loaded = true; + + System.out.println("[Mekanism] Successfully loaded gas transmission NetworkLoader."); + } + } + /** * Gets all the tubes around a tile entity. * @param tileEntity - center tile entity @@ -19,14 +40,17 @@ public final class GasTransmission { TileEntity[] tubes = new TileEntity[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IPressurizedTube) || ((IPressurizedTube)tileEntity).canTransferGas()) { - TileEntity tube = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(tube instanceof IPressurizedTube && ((IPressurizedTube)tube).canTransferGas(tileEntity)) - { - tubes[orientation.ordinal()] = tube; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tube = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(tube instanceof IPressurizedTube && ((IPressurizedTube)tube).canTransferGas()) + { + tubes[orientation.ordinal()] = tube; + } + } } return tubes; @@ -41,14 +65,17 @@ public final class GasTransmission { IGasAcceptor[] acceptors = new IGasAcceptor[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IPressurizedTube) || ((IPressurizedTube)tileEntity).canTransferGas()) { - TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(acceptor instanceof IGasAcceptor) - { - acceptors[orientation.ordinal()] = (IGasAcceptor)acceptor; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(acceptor instanceof IGasAcceptor) + { + acceptors[orientation.ordinal()] = (IGasAcceptor)acceptor; + } + } } return acceptors; @@ -63,14 +90,17 @@ public final class GasTransmission { ITubeConnection[] connections = new ITubeConnection[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IPressurizedTube) || ((IPressurizedTube)tileEntity).canTransferGas()) { - TileEntity connection = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(connection instanceof ITubeConnection) - { - connections[orientation.ordinal()] = (ITubeConnection)connection; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity connection = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(connection instanceof ITubeConnection) + { + connections[orientation.ordinal()] = (ITubeConnection)connection; + } + } } return connections; @@ -90,7 +120,7 @@ public final class GasTransmission if(pointer instanceof IPressurizedTube) { - return new GasTransferProtocol(pointer, sender, type, amount).calculate(); + return ((IPressurizedTube)pointer).getNetwork().emit(amount, type, sender); } return amount; @@ -107,7 +137,29 @@ public final class GasTransmission { if(pointer != null) { - return new GasTransferProtocol(pointer, pointer, type, amount).calculate(); + Set networks = new HashSet(); + int totalRemaining = 0; + + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity sideTile = Object3D.get(pointer).getFromSide(side).getTileEntity(pointer.worldObj); + + if(sideTile instanceof IPressurizedTube) + { + networks.add(((IPressurizedTube)sideTile).getNetwork()); + } + } + + int remaining = amount%networks.size(); + int splitGas = (amount-remaining)/networks.size(); + + for(GasNetwork network : networks) + { + totalRemaining += network.emit(splitGas+remaining, type, pointer); + remaining = 0; + } + + return totalRemaining; } return amount; diff --git a/src/minecraft/mekanism/api/IPressurizedTube.java b/src/minecraft/mekanism/api/IPressurizedTube.java index 8d603993f..e1ddae856 100644 --- a/src/minecraft/mekanism/api/IPressurizedTube.java +++ b/src/minecraft/mekanism/api/IPressurizedTube.java @@ -8,11 +8,28 @@ public interface IPressurizedTube * Whether or not this tube can transfer gas. * @return if the tube can transfer gas */ - public boolean canTransferGas(TileEntity fromTile); + public boolean canTransferGas(); /** * Called when a gas is transferred through this tube. * @param type - the type of gas transferred */ public void onTransfer(EnumGas type); + + /** + * Gets the GasNetwork currently in use by this cable segment. + * @return GasNetwork this cable is using + */ + public GasNetwork getNetwork(); + + /** + * Sets this cable segment's GasNetwork to a new value. + * @param network - GasNetwork to set to + */ + public void setNetwork(GasNetwork network); + + /** + * Refreshes the cable's GasNetwork. + */ + public void refreshNetwork(); } diff --git a/src/minecraft/mekanism/client/GasClientUpdate.java b/src/minecraft/mekanism/client/GasClientUpdate.java new file mode 100644 index 000000000..b7130cff9 --- /dev/null +++ b/src/minecraft/mekanism/client/GasClientUpdate.java @@ -0,0 +1,78 @@ +package mekanism.client; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; + +import mekanism.api.EnumGas; +import mekanism.api.GasTransmission; +import mekanism.api.IPressurizedTube; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.Event; +import cpw.mods.fml.common.FMLCommonHandler; + +/** + * The actual protocol gas goes through when it is transferred via Pressurized Tubes. + * @author AidanBrady + * + */ +public class GasClientUpdate +{ + /** List of iterated tubes, to prevent infinite loops. */ + public ArrayList iteratedTubes = new ArrayList(); + + /** Pointer tube of this calculation */ + public TileEntity pointer; + + /** Type of gas to distribute */ + public EnumGas transferType; + + /** + * GasTransferProtocol -- a calculation used to distribute gasses through a tube network. + * @param head - pointer tile entity + * @param orig - original outputter + * @param type - type of gas being transferred + * @param amount - amount of gas to distribute + */ + public GasClientUpdate(TileEntity head, EnumGas type) + { + pointer = head; + transferType = type; + } + + public void loopThrough(TileEntity tile) + { + if(!iteratedTubes.contains(tile)) + { + iteratedTubes.add(tile); + } + + TileEntity[] tubes = GasTransmission.getConnectedTubes(tile); + + for(TileEntity tube : tubes) + { + if(tube != null) + { + if(!iteratedTubes.contains(tube)) + { + loopThrough(tube); + } + } + } + } + + public void clientUpdate() + { + loopThrough(pointer); + + for(TileEntity tileEntity : iteratedTubes) + { + if(tileEntity instanceof IPressurizedTube) + { + ((IPressurizedTube)tileEntity).onTransfer(transferType); + } + } + } +} diff --git a/src/minecraft/mekanism/client/LiquidClientUpdate.java b/src/minecraft/mekanism/client/LiquidClientUpdate.java new file mode 100644 index 000000000..11c598215 --- /dev/null +++ b/src/minecraft/mekanism/client/LiquidClientUpdate.java @@ -0,0 +1,75 @@ +package mekanism.client; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import cpw.mods.fml.common.FMLCommonHandler; + +import mekanism.api.GasTransmission; +import mekanism.api.IGasAcceptor; +import mekanism.api.IGasStorage; +import mekanism.common.IMechanicalPipe; +import mekanism.common.PipeUtils; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.Event; +import net.minecraftforge.liquids.ILiquidTank; +import net.minecraftforge.liquids.ITankContainer; +import net.minecraftforge.liquids.LiquidStack; +import net.minecraftforge.liquids.LiquidTank; + +public class LiquidClientUpdate +{ + /** List of iterated pipes, to prevent infinite loops. */ + public ArrayList iteratedPipes = new ArrayList(); + + /** Pointer pipe of this calculation */ + public TileEntity pointer; + + /** Type of liquid to distribute */ + public LiquidStack liquidToSend; + + public LiquidClientUpdate(TileEntity head, LiquidStack liquid) + { + pointer = head; + liquidToSend = liquid; + } + + public void loopThrough(TileEntity tile) + { + if(!iteratedPipes.contains(tile)) + { + iteratedPipes.add(tile); + } + + TileEntity[] pipes = PipeUtils.getConnectedPipes(tile); + + for(TileEntity pipe : pipes) + { + if(pipe != null) + { + if(!iteratedPipes.contains(pipe)) + { + loopThrough(pipe); + } + } + } + } + + public void clientUpdate() + { + loopThrough(pointer); + + for(TileEntity tileEntity : iteratedPipes) + { + if(tileEntity instanceof IMechanicalPipe) + { + ((IMechanicalPipe)tileEntity).onTransfer(liquidToSend); + } + } + } +} diff --git a/src/minecraft/mekanism/client/MekanismRenderer.java b/src/minecraft/mekanism/client/MekanismRenderer.java index ab098e5d9..0213c8740 100644 --- a/src/minecraft/mekanism/client/MekanismRenderer.java +++ b/src/minecraft/mekanism/client/MekanismRenderer.java @@ -1,5 +1,7 @@ package mekanism.client; +import java.util.Arrays; + import mekanism.common.ISpecialBounds; import net.minecraft.block.Block; import net.minecraft.client.renderer.OpenGlHelper; @@ -15,9 +17,6 @@ import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -/* - * Credit to BuildCraft - */ @SideOnly(Side.CLIENT) public class MekanismRenderer { @@ -35,11 +34,11 @@ public class MekanismRenderer public double maxY; public double maxZ; + public Icon[] textures = new Icon[6]; + public boolean[] renderSides = new boolean[] {true, true, true, true, true, true}; public Block baseBlock = Block.sand; - - public Icon texture = null; public final void setBlockBounds(float xNeg, float yNeg, float zNeg, float xPos, float yPos, float zPos) { @@ -63,18 +62,22 @@ public class MekanismRenderer public Icon getBlockTextureFromSide(int i) { - if(texture == null) - { - return baseBlock.getBlockTextureFromSide(i); - } - else { - return texture; - } + return textures[i]; } - - public float getBlockBrightness(IBlockAccess iblockaccess, int i, int j, int k) + + public void setTexture(Icon tex) { - return baseBlock.getBlockBrightness(iblockaccess, i, j, k); + Arrays.fill(textures, tex); + } + + public void setTextures(Icon down, Icon up, Icon north, Icon south, Icon west, Icon east) + { + textures[0] = down; + textures[1] = up; + textures[2] = north; + textures[3] = south; + textures[4] = west; + textures[5] = east; } } @@ -86,11 +89,10 @@ public class MekanismRenderer renderBlocks.renderMinY = object.minY; renderBlocks.renderMaxZ = object.maxZ; renderBlocks.renderMinZ = object.minZ; - + renderBlocks.enableAO = false; - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); + Tessellator.instance.startDrawingQuads(); if(object.shouldSideRender(ForgeDirection.DOWN)) { @@ -122,7 +124,10 @@ public class MekanismRenderer renderBlocks.renderFaceXPos(null, 0, 0, 0, object.getBlockTextureFromSide(5)); } - tessellator.draw(); + if(Tessellator.instance.isDrawing) + { + Tessellator.instance.draw(); + } } public static void glowOn() diff --git a/src/minecraft/mekanism/client/RenderConfigurableMachine.java b/src/minecraft/mekanism/client/RenderConfigurableMachine.java index e27e5a072..af13c67f3 100644 --- a/src/minecraft/mekanism/client/RenderConfigurableMachine.java +++ b/src/minecraft/mekanism/client/RenderConfigurableMachine.java @@ -131,7 +131,7 @@ public class RenderConfigurableMachine extends TileEntitySpecialRenderer Model3D toReturn = new Model3D(); toReturn.baseBlock = Block.stone; - toReturn.texture = coloredOverlays[color.ordinal()]; + toReturn.setTexture(coloredOverlays[color.ordinal()]); DisplayInteger display = new DisplayInteger(); diff --git a/src/minecraft/mekanism/client/RenderDynamicTank.java b/src/minecraft/mekanism/client/RenderDynamicTank.java index 6bb71f35c..f520ca461 100644 --- a/src/minecraft/mekanism/client/RenderDynamicTank.java +++ b/src/minecraft/mekanism/client/RenderDynamicTank.java @@ -13,7 +13,10 @@ import net.minecraft.client.renderer.GLAllocation; import net.minecraft.client.renderer.tileentity.TileEntityRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.liquids.LiquidStack; @@ -102,7 +105,7 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer Model3D toReturn = new Model3D(); toReturn.baseBlock = Block.waterStill; - toReturn.texture = stack.getRenderingIcon(); + toReturn.setTexture(stack.getRenderingIcon()); if(stack.itemID < Block.blocksList.length && Block.blocksList[stack.itemID] != null) { @@ -150,6 +153,33 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer return displays; } + private void setFlowingTexture(LiquidStack liquid, Model3D model) + { + if((liquid == null) || (liquid.amount <= 0) || (liquid.itemID <= 0)) + { + return; + } + + ItemStack stack = liquid.asItemStack(); + LiquidStack canon = liquid.canonical(); + + String texturePath = canon.getTextureSheet(); + + Icon top = canon.getRenderingIcon(); + Icon side = top; + + if((stack.getItem() instanceof ItemBlock)) + { + top = Block.blocksList[stack.itemID].getIcon(0, 0); + side = Block.blocksList[stack.itemID].getIcon(2, 0); + texturePath = "/terrain.png"; + } + + model.setTextures(top, top, side, side, side, side); + + bindTextureByName(texturePath); + } + private DisplayInteger getValveDisplay(ValveRenderData data, LiquidStack stack, World world) { if(cachedValveLiquids.containsKey(data) && cachedValveLiquids.get(data).containsKey(stack)) @@ -159,7 +189,7 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer Model3D toReturn = new Model3D(); toReturn.baseBlock = Block.waterStill; - toReturn.texture = stack.getRenderingIcon(); + setFlowingTexture(stack, toReturn); if(stack.itemID < Block.blocksList.length && Block.blocksList[stack.itemID] != null) { @@ -178,6 +208,12 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer cachedValveLiquids.put(data, map); } + int color = stack.asItemStack().getItem().getColorFromItemStack(stack.asItemStack(), 0); + float cR = (color >> 16 & 0xFF) / 255.0F; + float cG = (color >> 8 & 0xFF) / 255.0F; + float cB = (color & 0xFF) / 255.0F; + GL11.glColor4f(cR, cG, cB, 1.0F); + display.display = GLAllocation.generateDisplayLists(1); GL11.glNewList(display.display, 4864); diff --git a/src/minecraft/mekanism/client/RenderMechanicalPipe.java b/src/minecraft/mekanism/client/RenderMechanicalPipe.java index d93b2bc79..4efc0a128 100644 --- a/src/minecraft/mekanism/client/RenderMechanicalPipe.java +++ b/src/minecraft/mekanism/client/RenderMechanicalPipe.java @@ -46,7 +46,6 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); - GL11.glDisable(GL11.GL_CULL_FACE); boolean[] connectable = new boolean[] {false, false, false, false, false, false}; @@ -80,11 +79,14 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer } } - for(int i = 0; i < 6; i++) + if(tileEntity.canTransferLiquids()) { - if(connectable[i]) + for(int i = 0; i < 6; i++) { - model.renderSide(ForgeDirection.getOrientation(i)); + if(connectable[i]) + { + model.renderSide(ForgeDirection.getOrientation(i)); + } } } @@ -103,12 +105,15 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer bindTextureByName(tileEntity.refLiquid.getTextureSheet()); GL11.glTranslatef((float)x, (float)y, (float)z); - for(int i = 0; i < 6; i++) + if(tileEntity.canTransferLiquids()) { - if(connectable[i]) + for(int i = 0; i < 6; i++) { - int[] displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refLiquid, tileEntity.worldObj); - GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); + if(connectable[i]) + { + int[] displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refLiquid, tileEntity.worldObj); + GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); + } } } @@ -149,7 +154,7 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer Model3D toReturn = new Model3D(); toReturn.baseBlock = Block.waterStill; - toReturn.texture = stack.getRenderingIcon(); + toReturn.setTexture(stack.getRenderingIcon()); if(stack.itemID < Block.blocksList.length && Block.blocksList[stack.itemID] != null) { diff --git a/src/minecraft/mekanism/client/RenderMetallurgicInfuser.java b/src/minecraft/mekanism/client/RenderMetallurgicInfuser.java index a1d0b5b76..4b50741a1 100644 --- a/src/minecraft/mekanism/client/RenderMetallurgicInfuser.java +++ b/src/minecraft/mekanism/client/RenderMetallurgicInfuser.java @@ -1,14 +1,14 @@ package mekanism.client; +import mekanism.common.TileEntityMetallurgicInfuser; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import mekanism.common.TileEntityMetallurgicInfuser; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - @SideOnly(Side.CLIENT) public class RenderMetallurgicInfuser extends TileEntitySpecialRenderer { @@ -39,4 +39,4 @@ public class RenderMetallurgicInfuser extends TileEntitySpecialRenderer model.render(0.0625F); GL11.glPopMatrix(); } -} +} \ No newline at end of file diff --git a/src/minecraft/mekanism/client/RenderPressurizedTube.java b/src/minecraft/mekanism/client/RenderPressurizedTube.java index b2dcdb1d9..8767f06fb 100644 --- a/src/minecraft/mekanism/client/RenderPressurizedTube.java +++ b/src/minecraft/mekanism/client/RenderPressurizedTube.java @@ -41,7 +41,6 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); - GL11.glDisable(GL11.GL_CULL_FACE); boolean[] connectable = new boolean[] {false, false, false, false, false, false}; @@ -60,11 +59,14 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer } } - for(int i = 0; i < 6; i++) + if(tileEntity.canTransferGas()) { - if(connectable[i]) + for(int i = 0; i < 6; i++) { - model.renderSide(ForgeDirection.getOrientation(i)); + if(connectable[i]) + { + model.renderSide(ForgeDirection.getOrientation(i)); + } } } @@ -79,12 +81,15 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer bindTextureByName(tileEntity.refGas.texturePath); GL11.glTranslatef((float)x, (float)y, (float)z); - for(int i = 0; i < 6; i++) + if(tileEntity.canTransferGas()) { - if(connectable[i]) + for(int i = 0; i < 6; i++) { - int displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refGas).display; - GL11.glCallList(displayList); + if(connectable[i]) + { + int displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refGas).display; + GL11.glCallList(displayList); + } } } @@ -120,7 +125,7 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer Model3D toReturn = new Model3D(); toReturn.baseBlock = Block.waterStill; - toReturn.texture = type.gasIcon; + toReturn.setTexture(type.gasIcon); DisplayInteger display = new DisplayInteger(); diff --git a/src/minecraft/mekanism/client/RenderUniversalCable.java b/src/minecraft/mekanism/client/RenderUniversalCable.java index 546adcdd1..fb486e61f 100644 --- a/src/minecraft/mekanism/client/RenderUniversalCable.java +++ b/src/minecraft/mekanism/client/RenderUniversalCable.java @@ -1,15 +1,10 @@ package mekanism.client; -import java.util.Arrays; -import java.util.HashMap; - -import mekanism.client.MekanismRenderer.DisplayInteger; import mekanism.client.MekanismRenderer.Model3D; import mekanism.common.CableUtils; import mekanism.common.Mekanism; import mekanism.common.TileEntityUniversalCable; import net.minecraft.block.Block; -import net.minecraft.client.renderer.GLAllocation; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Icon; @@ -26,8 +21,6 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer { private ModelTransmitter model = new ModelTransmitter(); - private HashMap cachedLiquids = new HashMap(); - private Icon renderIcon = FMLClientHandler.instance().getClient().renderEngine.textureMapItems.registerIcon("mekanism:LiquidEnergy"); private static final double offset = 0.015; @@ -44,43 +37,8 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); - GL11.glDisable(GL11.GL_CULL_FACE); - boolean[] connectable = new boolean[] {false, false, false, false, false, false}; - - TileEntity[] connectedAcceptors = CableUtils.getConnectedEnergyAcceptors(tileEntity); - TileEntity[] connectedCables = CableUtils.getConnectedCables(tileEntity); - TileEntity[] connectedOutputters = CableUtils.getConnectedOutputters(tileEntity); - - for(TileEntity tile : connectedAcceptors) - { - int side = Arrays.asList(connectedAcceptors).indexOf(tile); - - if(CableUtils.canConnectToAcceptor(ForgeDirection.getOrientation(side), tileEntity)) - { - connectable[side] = true; - } - } - - for(TileEntity tile : connectedOutputters) - { - if(tile != null) - { - int side = Arrays.asList(connectedOutputters).indexOf(tile); - - connectable[side] = true; - } - } - - for(TileEntity tile : connectedCables) - { - if(tile != null) - { - int side = Arrays.asList(connectedCables).indexOf(tile); - - connectable[side] = true; - } - } + boolean[] connectable = CableUtils.getConnections(tileEntity); if(tileEntity.canTransferEnergy()) { @@ -94,6 +52,7 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer } model.Center.render(0.0625F); + GL11.glPopMatrix(); if(Mekanism.fancyUniversalCableRender) @@ -110,14 +69,12 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer { if(connectable[i]) { - int displayList = getListAndRender(ForgeDirection.getOrientation(i)).display; - GL11.glCallList(displayList); + renderEnergy(ForgeDirection.getOrientation(i)); } } } - int displayList = getListAndRender(ForgeDirection.UNKNOWN).display; - GL11.glCallList(displayList); + renderEnergy(ForgeDirection.UNKNOWN); MekanismRenderer.glowOff(); pop(); @@ -140,23 +97,11 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); } - private DisplayInteger getListAndRender(ForgeDirection side) + private void renderEnergy(ForgeDirection side) { - if(cachedLiquids.containsKey(side)) - { - return cachedLiquids.get(side); - } - Model3D toReturn = new Model3D(); toReturn.baseBlock = Block.waterStill; - toReturn.texture = renderIcon; - - DisplayInteger display = new DisplayInteger(); - - cachedLiquids.put(side, display); - - display.display = GLAllocation.generateDisplayLists(1); - GL11.glNewList(display.display, 4864); + toReturn.setTexture(renderIcon); switch(side) { @@ -240,8 +185,5 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer } MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); - - return display; } } diff --git a/src/minecraft/mekanism/client/TransmitterRenderer.java b/src/minecraft/mekanism/client/TransmitterRenderer.java index d45729389..1de984f72 100644 --- a/src/minecraft/mekanism/client/TransmitterRenderer.java +++ b/src/minecraft/mekanism/client/TransmitterRenderer.java @@ -1,10 +1,11 @@ package mekanism.client; -import org.lwjgl.opengl.GL11; - import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.world.IBlockAccess; + +import org.lwjgl.opengl.GL11; + import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.relauncher.Side; diff --git a/src/minecraft/mekanism/common/BlockTransmitter.java b/src/minecraft/mekanism/common/BlockTransmitter.java index 9a5c7544b..88ff2cd12 100644 --- a/src/minecraft/mekanism/common/BlockTransmitter.java +++ b/src/minecraft/mekanism/common/BlockTransmitter.java @@ -4,8 +4,8 @@ import java.util.Arrays; import java.util.List; import mekanism.api.GasTransmission; +import mekanism.api.IPressurizedTube; import mekanism.api.ITubeConnection; -import mekanism.api.IUniversalCable; import mekanism.client.ClientProxy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -174,39 +174,7 @@ public class BlockTransmitter extends Block } else if(world.getBlockMetadata(x, y, z) == 1) { - TileEntity[] connectedAcceptors = CableUtils.getConnectedEnergyAcceptors(tileEntity); - TileEntity[] connectedCables = CableUtils.getConnectedCables(tileEntity); - TileEntity[] connectedOutputters = CableUtils.getConnectedOutputters(tileEntity); - - for(TileEntity tile : connectedAcceptors) - { - int side = Arrays.asList(connectedAcceptors).indexOf(tile); - - if(CableUtils.canConnectToAcceptor(ForgeDirection.getOrientation(side), tileEntity)) - { - connectable[side] = true; - } - } - - for(TileEntity tile : connectedOutputters) - { - if(tile != null) - { - int side = Arrays.asList(connectedOutputters).indexOf(tile); - - connectable[side] = true; - } - } - - for(TileEntity tile : connectedCables) - { - if(tile != null) - { - int side = Arrays.asList(connectedCables).indexOf(tile); - - connectable[side] = true; - } - } + connectable = CableUtils.getConnections(tileEntity); } else if(world.getBlockMetadata(x, y, z) == 2) { @@ -301,6 +269,14 @@ public class BlockTransmitter extends Block { ((IUniversalCable)tileEntity).refreshNetwork(); } + else if(tileEntity instanceof IMechanicalPipe) + { + ((IMechanicalPipe)tileEntity).refreshNetwork(); + } + else if(tileEntity instanceof IPressurizedTube) + { + ((IPressurizedTube)tileEntity).refreshNetwork(); + } } } @@ -315,6 +291,14 @@ public class BlockTransmitter extends Block { ((IUniversalCable)tileEntity).refreshNetwork(); } + else if(tileEntity instanceof IMechanicalPipe) + { + ((IMechanicalPipe)tileEntity).refreshNetwork(); + } + else if(tileEntity instanceof IPressurizedTube) + { + ((IPressurizedTube)tileEntity).refreshNetwork(); + } } } diff --git a/src/minecraft/mekanism/common/CableUtils.java b/src/minecraft/mekanism/common/CableUtils.java index 4492374e8..7ea4e11e9 100644 --- a/src/minecraft/mekanism/common/CableUtils.java +++ b/src/minecraft/mekanism/common/CableUtils.java @@ -5,12 +5,12 @@ import ic2.api.energy.tile.IEnergySink; import ic2.api.energy.tile.IEnergySource; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.Set; import mekanism.api.ICableOutputter; import mekanism.api.IStrictEnergyAcceptor; -import mekanism.api.IUniversalCable; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; @@ -28,14 +28,17 @@ public final class CableUtils { TileEntity[] acceptors = new TileEntity[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IUniversalCable) || ((IUniversalCable)tileEntity).canTransferEnergy()) { - TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(acceptor instanceof IStrictEnergyAcceptor || acceptor instanceof IEnergySink || (acceptor instanceof IPowerReceptor && !(acceptor instanceof IUniversalCable) && Mekanism.hooks.BuildCraftLoaded)) - { - acceptors[orientation.ordinal()] = acceptor; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(acceptor instanceof IStrictEnergyAcceptor || acceptor instanceof IEnergySink || (acceptor instanceof IPowerReceptor && !(acceptor instanceof IUniversalCable) && Mekanism.hooks.BuildCraftLoaded)) + { + acceptors[orientation.ordinal()] = acceptor; + } + } } return acceptors; @@ -50,19 +53,63 @@ public final class CableUtils { TileEntity[] cables = new TileEntity[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IUniversalCable) || ((IUniversalCable)tileEntity).canTransferEnergy()) { - TileEntity cable = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(cable instanceof IUniversalCable && ((IUniversalCable)cable).canTransferEnergy()) - { - cables[orientation.ordinal()] = cable; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity cable = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(cable instanceof IUniversalCable && ((IUniversalCable)cable).canTransferEnergy()) + { + cables[orientation.ordinal()] = cable; + } + } } return cables; } + public static boolean[] getConnections(TileEntity tileEntity) + { + boolean[] connectable = new boolean[] {false, false, false, false, false, false}; + + TileEntity[] connectedAcceptors = CableUtils.getConnectedEnergyAcceptors(tileEntity); + TileEntity[] connectedCables = CableUtils.getConnectedCables(tileEntity); + TileEntity[] connectedOutputters = CableUtils.getConnectedOutputters(tileEntity); + + for(TileEntity tile : connectedAcceptors) + { + int side = Arrays.asList(connectedAcceptors).indexOf(tile); + + if(CableUtils.canConnectToAcceptor(ForgeDirection.getOrientation(side), tileEntity)) + { + connectable[side] = true; + } + } + + for(TileEntity tile : connectedOutputters) + { + if(tile != null) + { + int side = Arrays.asList(connectedOutputters).indexOf(tile); + + connectable[side] = true; + } + } + + for(TileEntity tile : connectedCables) + { + if(tile != null) + { + int side = Arrays.asList(connectedCables).indexOf(tile); + + connectable[side] = true; + } + } + + return connectable; + } + /** * Gets all the connected cables around a specific tile entity. * @param tileEntity - center tile entity @@ -72,14 +119,17 @@ public final class CableUtils { TileEntity[] outputters = new TileEntity[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IUniversalCable) || ((IUniversalCable)tileEntity).canTransferEnergy()) { - TileEntity outputter = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(outputter instanceof ICableOutputter && ((ICableOutputter)outputter).canOutputTo(orientation.getOpposite()) || outputter instanceof IEnergySource && ((IEnergySource)outputter).emitsEnergyTo(tileEntity, MekanismUtils.toIC2Direction(orientation.getOpposite()))) - { - outputters[orientation.ordinal()] = outputter; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity outputter = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(outputter instanceof ICableOutputter && ((ICableOutputter)outputter).canOutputTo(orientation.getOpposite()) || outputter instanceof IEnergySource && ((IEnergySource)outputter).emitsEnergyTo(tileEntity, MekanismUtils.toIC2Direction(orientation.getOpposite()))) + { + outputters[orientation.ordinal()] = outputter; + } + } } return outputters; @@ -179,8 +229,8 @@ public final class CableUtils } } - double splitEnergy = amount/(double)networks.size(); - double remaining = amount%(double)networks.size(); + double remaining = amount%networks.size(); + double splitEnergy = (amount-remaining)/networks.size(); for(EnergyNetwork network : networks) { diff --git a/src/minecraft/mekanism/common/EnergyNetwork.java b/src/minecraft/mekanism/common/EnergyNetwork.java index ac488479f..2a5121243 100644 --- a/src/minecraft/mekanism/common/EnergyNetwork.java +++ b/src/minecraft/mekanism/common/EnergyNetwork.java @@ -13,11 +13,11 @@ import java.util.Map; import java.util.Set; import mekanism.api.IStrictEnergyAcceptor; -import mekanism.api.IUniversalCable; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.ChunkEvent; import buildcraft.api.power.IPowerReceptor; @@ -71,8 +71,6 @@ public class EnergyNetwork availableAcceptors.remove(tile); } - double prevSending = energyToSend; - if(!availableAcceptors.isEmpty()) { int divider = availableAcceptors.size(); @@ -296,7 +294,10 @@ public class EnergyNetwork public void loopThrough(Object3D location) { - iterated.add(location); + if(location.getTileEntity(worldObj) instanceof IUniversalCable && ((IUniversalCable)location.getTileEntity(worldObj)).canTransferEnergy()) + { + iterated.add(location); + } if(iterated.contains(toFind)) { diff --git a/src/minecraft/mekanism/common/IC2EnergyHandler.java b/src/minecraft/mekanism/common/IC2EnergyHandler.java index 9fe3ae304..657bba076 100644 --- a/src/minecraft/mekanism/common/IC2EnergyHandler.java +++ b/src/minecraft/mekanism/common/IC2EnergyHandler.java @@ -5,7 +5,6 @@ import ic2.api.energy.tile.IEnergySource; import java.util.ArrayList; -import mekanism.api.IUniversalCable; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; diff --git a/src/minecraft/mekanism/api/IMechanicalPipe.java b/src/minecraft/mekanism/common/IMechanicalPipe.java similarity index 50% rename from src/minecraft/mekanism/api/IMechanicalPipe.java rename to src/minecraft/mekanism/common/IMechanicalPipe.java index 4b2eab7f8..830bbdbd0 100644 --- a/src/minecraft/mekanism/api/IMechanicalPipe.java +++ b/src/minecraft/mekanism/common/IMechanicalPipe.java @@ -1,6 +1,5 @@ -package mekanism.api; +package mekanism.common; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.liquids.LiquidStack; /** @@ -14,11 +13,28 @@ public interface IMechanicalPipe * Whether or not this pipe can transfer liquids. * @return if the pipe can transfer liquids */ - public boolean canTransferLiquids(TileEntity fromTile); + public boolean canTransferLiquids(); /** * Called when liquid is transferred through this pipe. * @param liquidStack - the liquid transferred */ public void onTransfer(LiquidStack liquidStack); + + /** + * Gets the LiquidNetwork currently in use by this cable segment. + * @return LiquidNetwork this cable is using + */ + public LiquidNetwork getNetwork(); + + /** + * Sets this cable segment's LiquidNetwork to a new value. + * @param network - LiquidNetwork to set to + */ + public void setNetwork(LiquidNetwork network); + + /** + * Refreshes the cable's LiquidNetwork. + */ + public void refreshNetwork(); } diff --git a/src/minecraft/mekanism/api/IUniversalCable.java b/src/minecraft/mekanism/common/IUniversalCable.java similarity index 92% rename from src/minecraft/mekanism/api/IUniversalCable.java rename to src/minecraft/mekanism/common/IUniversalCable.java index 86866e6a6..8f700def3 100644 --- a/src/minecraft/mekanism/api/IUniversalCable.java +++ b/src/minecraft/mekanism/common/IUniversalCable.java @@ -1,6 +1,5 @@ -package mekanism.api; +package mekanism.common; -import mekanism.common.EnergyNetwork; import net.minecraft.tileentity.TileEntity; /** diff --git a/src/minecraft/mekanism/common/LiquidNetwork.java b/src/minecraft/mekanism/common/LiquidNetwork.java new file mode 100644 index 000000000..3def835d0 --- /dev/null +++ b/src/minecraft/mekanism/common/LiquidNetwork.java @@ -0,0 +1,310 @@ +package mekanism.common; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import cpw.mods.fml.common.FMLCommonHandler; + +import mekanism.api.Object3D; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.Event; +import net.minecraftforge.event.ForgeSubscribe; +import net.minecraftforge.event.world.ChunkEvent; +import net.minecraftforge.liquids.ITankContainer; +import net.minecraftforge.liquids.LiquidStack; + +public class LiquidNetwork +{ + public Set pipes = new HashSet(); + + public Set possibleAcceptors = new HashSet(); + public Map acceptorDirections = new HashMap(); + + public LiquidNetwork(IMechanicalPipe... varPipes) + { + pipes.addAll(Arrays.asList(varPipes)); + } + + public int emit(LiquidStack liquidToSend, boolean doTransfer, TileEntity emitter) + { + List availableAcceptors = Arrays.asList(getLiquidAcceptors(liquidToSend).toArray()); + + Collections.shuffle(availableAcceptors); + + int liquidSent = 0; + + if(!availableAcceptors.isEmpty()) + { + int divider = availableAcceptors.size(); + int remaining = liquidToSend.amount % divider; + int sending = (liquidToSend.amount-remaining)/divider; + + for(Object obj : availableAcceptors) + { + if(obj instanceof ITankContainer && obj != emitter) + { + ITankContainer acceptor = (ITankContainer)obj; + int currentSending = sending; + + if(remaining > 0) + { + currentSending++; + remaining--; + } + + liquidSent += acceptor.fill(acceptorDirections.get(acceptor), new LiquidStack(liquidToSend.itemID, currentSending, liquidToSend.itemMeta), doTransfer); + } + } + } + + if(doTransfer && liquidSent > 0 && FMLCommonHandler.instance().getEffectiveSide().isServer()) + { + LiquidStack sendStack = liquidToSend.copy(); + sendStack.amount = liquidSent; + MinecraftForge.EVENT_BUS.post(new LiquidTransferEvent(this, sendStack)); + } + + return liquidSent; + } + + public Set getLiquidAcceptors(LiquidStack liquidToSend) + { + Set toReturn = new HashSet(); + + for(ITankContainer acceptor : possibleAcceptors) + { + if(acceptor.fill(acceptorDirections.get(acceptor).getOpposite(), liquidToSend, false) > 0) + { + toReturn.add(acceptor); + } + } + + return toReturn; + } + + public void refresh() + { + Iterator it = pipes.iterator(); + + possibleAcceptors.clear(); + acceptorDirections.clear(); + + while(it.hasNext()) + { + IMechanicalPipe conductor = (IMechanicalPipe)it.next(); + + if(conductor == null) + { + it.remove(); + } + else if(((TileEntity)conductor).isInvalid()) + { + it.remove(); + } + else { + conductor.setNetwork(this); + } + } + + for(IMechanicalPipe pipe : pipes) + { + ITankContainer[] acceptors = PipeUtils.getConnectedAcceptors((TileEntity)pipe); + + for(ITankContainer acceptor : acceptors) + { + if(acceptor != null && !(acceptor instanceof IMechanicalPipe)) + { + possibleAcceptors.add(acceptor); + acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor))); + } + } + } + } + + public void merge(LiquidNetwork network) + { + if(network != null && network != this) + { + LiquidNetwork newNetwork = new LiquidNetwork(); + newNetwork.pipes.addAll(pipes); + newNetwork.pipes.addAll(network.pipes); + newNetwork.refresh(); + } + } + + public void split(IMechanicalPipe splitPoint) + { + if(splitPoint instanceof TileEntity) + { + pipes.remove(splitPoint); + + TileEntity[] connectedBlocks = new TileEntity[6]; + + for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity sideTile = Object3D.get((TileEntity)splitPoint).getFromSide(direction).getTileEntity(((TileEntity)splitPoint).worldObj); + + if(sideTile != null) + { + connectedBlocks[Arrays.asList(ForgeDirection.values()).indexOf(direction)] = sideTile; + } + } + + for(int countOne = 0; countOne < connectedBlocks.length; countOne++) + { + TileEntity connectedBlockA = connectedBlocks[countOne]; + + if(connectedBlockA instanceof IMechanicalPipe) + { + for(int countTwo = 0; countTwo < connectedBlocks.length; countTwo++) + { + TileEntity connectedBlockB = connectedBlocks[countTwo]; + + if(connectedBlockA != connectedBlockB && connectedBlockB instanceof IMechanicalPipe) + { + NetworkFinder finder = new NetworkFinder(((TileEntity)splitPoint).worldObj, Object3D.get(connectedBlockB), Object3D.get((TileEntity)splitPoint)); + + if(finder.foundTarget(Object3D.get(connectedBlockA))) + { + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IMechanicalPipe) + { + if(nodeTile != splitPoint) + { + ((IMechanicalPipe)nodeTile).setNetwork(this); + } + } + } + } + else { + LiquidNetwork newNetwork = new LiquidNetwork(); + + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IMechanicalPipe) + { + if(nodeTile != splitPoint) + { + newNetwork.pipes.add((IMechanicalPipe)nodeTile); + } + } + } + + newNetwork.refresh(); + } + } + } + } + } + } + } + + public static class NetworkFinder + { + public World worldObj; + public Object3D toFind; + + public List iterated = new ArrayList(); + public List toIgnore = new ArrayList(); + + public NetworkFinder(World world, Object3D target, Object3D... ignore) + { + worldObj = world; + toFind = target; + + if(ignore != null) + { + toIgnore = Arrays.asList(ignore); + } + } + + public void loopThrough(Object3D location) + { + iterated.add(location); + + if(iterated.contains(toFind)) + { + return; + } + + for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) + { + Object3D obj = location.getFromSide(direction); + + if(!iterated.contains(obj) && !toIgnore.contains(obj)) + { + TileEntity tileEntity = obj.getTileEntity(worldObj); + + if(tileEntity instanceof IMechanicalPipe && ((IMechanicalPipe)tileEntity).canTransferLiquids()) + { + loopThrough(obj); + } + } + } + } + + public boolean foundTarget(Object3D start) + { + loopThrough(start); + + return iterated.contains(toFind); + } + } + + public static class LiquidTransferEvent extends Event + { + public final LiquidNetwork liquidNetwork; + + public final LiquidStack liquidSent; + + public LiquidTransferEvent(LiquidNetwork network, LiquidStack liquid) + { + liquidNetwork = network; + liquidSent = liquid; + } + } + + public static class NetworkLoader + { + @ForgeSubscribe + public void onChunkLoad(ChunkEvent.Load event) + { + if(event.getChunk() != null) + { + for(Object obj : event.getChunk().chunkTileEntityMap.values()) + { + if(obj instanceof TileEntity) + { + TileEntity tileEntity = (TileEntity)obj; + + if(tileEntity instanceof IMechanicalPipe) + { + ((IMechanicalPipe)tileEntity).refreshNetwork(); + } + } + } + } + } + } + + @Override + public String toString() + { + return "[LiquidNetwork] " + pipes.size() + " pipes, " + possibleAcceptors.size() + " acceptors."; + } +} diff --git a/src/minecraft/mekanism/common/LiquidTransferProtocol.java b/src/minecraft/mekanism/common/LiquidTransferProtocol.java deleted file mode 100644 index 671a4ec16..000000000 --- a/src/minecraft/mekanism/common/LiquidTransferProtocol.java +++ /dev/null @@ -1,173 +0,0 @@ -package mekanism.common; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import cpw.mods.fml.common.FMLCommonHandler; - -import mekanism.api.GasTransmission; -import mekanism.api.IGasAcceptor; -import mekanism.api.IGasStorage; -import mekanism.api.IMechanicalPipe; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event; -import net.minecraftforge.liquids.ILiquidTank; -import net.minecraftforge.liquids.ITankContainer; -import net.minecraftforge.liquids.LiquidStack; -import net.minecraftforge.liquids.LiquidTank; - -public class LiquidTransferProtocol -{ - /** List of iterated pipes, to prevent infinite loops. */ - public ArrayList iteratedPipes = new ArrayList(); - - /** List of ITankContainers that can take in the type of liquid requested. */ - public ArrayList availableAcceptors = new ArrayList(); - - /** Map of directions liquid is transferred to. */ - public Map acceptorDirections = new HashMap(); - - /** Pointer pipe of this calculation */ - public TileEntity pointer; - - /** Original outputter Tile Entity. */ - public TileEntity original; - - /** Type of liquid to distribute */ - public LiquidStack liquidToSend; - - /** - * LiquidTransferProtocol -- a calculation used to distribute liquids through a pipe network. - * @param head - pointer tile entity - * @param orig - original outputter - * @param liquid - the LiquidStack to transfer - */ - public LiquidTransferProtocol(TileEntity head, TileEntity orig, LiquidStack liquid) - { - pointer = head; - original = orig; - liquidToSend = liquid; - } - - /** - * Recursive loop that iterates through connected tubes and adds connected acceptors to an ArrayList. Note that it will NOT add - * the original outputting tile into the availableAcceptors list, to prevent loops. - * @param tile - pointer tile entity - */ - public void loopThrough(TileEntity tile) - { - ITankContainer[] acceptors = PipeUtils.getConnectedAcceptors(tile); - - for(ITankContainer acceptor : acceptors) - { - if(acceptor != null && !availableAcceptors.contains(acceptor)) - { - ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite(); - - if(acceptor != original && !(acceptor instanceof IMechanicalPipe)) - { - if(acceptor.fill(side, liquidToSend, false) > 0) - { - availableAcceptors.add(acceptor); - acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite()); - } - } - } - } - - if(!iteratedPipes.contains(tile)) - { - iteratedPipes.add(tile); - } - - TileEntity[] pipes = PipeUtils.getConnectedPipes(tile); - - for(TileEntity pipe : pipes) - { - if(pipe != null) - { - if(!iteratedPipes.contains(pipe)) - { - loopThrough(pipe); - } - } - } - } - - /** - * Updates the client-side pipes for rendering. - * @param transferred - the LiquidStack of server-side transferred liquid - */ - public void clientUpdate() - { - loopThrough(pointer); - - for(TileEntity tileEntity : iteratedPipes) - { - if(tileEntity instanceof IMechanicalPipe) - { - ((IMechanicalPipe)tileEntity).onTransfer(liquidToSend); - } - } - } - - /** - * Runs the protocol and distributes the liquid. - * @return liquid transferred - */ - public int calculate() - { - loopThrough(pointer); - - Collections.shuffle(availableAcceptors); - - int liquidSent = 0; - - if(!availableAcceptors.isEmpty()) - { - int divider = availableAcceptors.size(); - int remaining = liquidToSend.amount % divider; - int sending = (liquidToSend.amount-remaining)/divider; - - for(ITankContainer acceptor : availableAcceptors) - { - int currentSending = sending; - - if(remaining > 0) - { - currentSending++; - remaining--; - } - - liquidSent += acceptor.fill(acceptorDirections.get(acceptor), new LiquidStack(liquidToSend.itemID, currentSending, liquidToSend.itemMeta), true); - } - } - - if(liquidSent > 0 && FMLCommonHandler.instance().getEffectiveSide().isServer()) - { - LiquidStack sendStack = liquidToSend.copy(); - sendStack.amount = liquidSent; - MinecraftForge.EVENT_BUS.post(new LiquidTransferEvent(this, sendStack)); - } - - return liquidSent; - } - - public static class LiquidTransferEvent extends Event - { - public final LiquidTransferProtocol transferProtocol; - - public final LiquidStack liquidSent; - - public LiquidTransferEvent(LiquidTransferProtocol protocol, LiquidStack liquid) - { - transferProtocol = protocol; - liquidSent = liquid; - } - } -} diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index 45622d5c4..dd8abea71 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -9,15 +9,16 @@ import java.util.List; import java.util.Map; import java.util.logging.Logger; -import mekanism.api.GasTransferProtocol.GasTransferEvent; +import mekanism.api.GasTransmission; import mekanism.api.InfuseObject; import mekanism.api.InfuseRegistry; import mekanism.api.InfuseType; import mekanism.api.InfusionInput; import mekanism.api.Object3D; +import mekanism.api.GasNetwork.GasTransferEvent; import mekanism.client.SoundHandler; import mekanism.common.IFactory.RecipeType; -import mekanism.common.LiquidTransferProtocol.LiquidTransferEvent; +import mekanism.common.LiquidNetwork.LiquidTransferEvent; import mekanism.common.PacketHandler.Transmission; import mekanism.common.Tier.EnergyCubeTier; import mekanism.common.Tier.FactoryTier; @@ -1146,6 +1147,10 @@ public class Mekanism MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(new IC2EnergyHandler()); MinecraftForge.EVENT_BUS.register(new EnergyNetwork.NetworkLoader()); + MinecraftForge.EVENT_BUS.register(new LiquidNetwork.NetworkLoader()); + + //Register with GasTransmission + GasTransmission.register(); //Load configuration proxy.loadConfiguration(); @@ -1190,12 +1195,12 @@ public class Mekanism @ForgeSubscribe public void onGasTransferred(GasTransferEvent event) { - PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.GAS, event.transferProtocol.pointer, event.transferProtocol.transferType)); + PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.GAS, event.gasNetwork.tubes.iterator().next(), event.transferType)); } @ForgeSubscribe public void onLiquidTransferred(LiquidTransferEvent event) { - PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.LIQUID, event.transferProtocol.pointer, event.liquidSent)); + PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.LIQUID, event.liquidNetwork.pipes.iterator().next(), event.liquidSent)); } } \ No newline at end of file diff --git a/src/minecraft/mekanism/common/PipeUtils.java b/src/minecraft/mekanism/common/PipeUtils.java index 4427d0fa0..dc2f9c36a 100644 --- a/src/minecraft/mekanism/common/PipeUtils.java +++ b/src/minecraft/mekanism/common/PipeUtils.java @@ -1,6 +1,5 @@ package mekanism.common; -import mekanism.api.IMechanicalPipe; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; @@ -17,14 +16,17 @@ public final class PipeUtils { TileEntity[] pipes = new TileEntity[] {null, null, null, null, null, null}; - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + if(!(tileEntity instanceof IMechanicalPipe) || ((IMechanicalPipe)tileEntity).canTransferLiquids()) { - TileEntity pipe = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(pipe instanceof IMechanicalPipe && ((IMechanicalPipe)pipe).canTransferLiquids(tileEntity)) - { - pipes[orientation.ordinal()] = pipe; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity pipe = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(pipe instanceof IMechanicalPipe && ((IMechanicalPipe)pipe).canTransferLiquids()) + { + pipes[orientation.ordinal()] = pipe; + } + } } return pipes; @@ -38,15 +40,18 @@ public final class PipeUtils public static ITankContainer[] getConnectedAcceptors(TileEntity tileEntity) { ITankContainer[] acceptors = new ITankContainer[] {null, null, null, null, null, null}; - - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + + if(!(tileEntity instanceof IMechanicalPipe) || ((IMechanicalPipe)tileEntity).canTransferLiquids()) { - TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(acceptor instanceof ITankContainer) - { - acceptors[orientation.ordinal()] = (ITankContainer)acceptor; - } + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(acceptor instanceof ITankContainer && !(acceptor instanceof IMechanicalPipe)) + { + acceptors[orientation.ordinal()] = (ITankContainer)acceptor; + } + } } return acceptors; diff --git a/src/minecraft/mekanism/common/TileEntityEnergyCube.java b/src/minecraft/mekanism/common/TileEntityEnergyCube.java index dc0b9f7ea..f745038ad 100644 --- a/src/minecraft/mekanism/common/TileEntityEnergyCube.java +++ b/src/minecraft/mekanism/common/TileEntityEnergyCube.java @@ -15,7 +15,6 @@ import java.util.HashSet; import mekanism.api.ICableOutputter; import mekanism.api.IStrictEnergyAcceptor; -import mekanism.api.IUniversalCable; import mekanism.api.Object3D; import mekanism.common.Tier.EnergyCubeTier; import net.minecraft.item.Item; diff --git a/src/minecraft/mekanism/common/TileEntityMechanicalPipe.java b/src/minecraft/mekanism/common/TileEntityMechanicalPipe.java index 0faddfd62..fbfb29ed3 100644 --- a/src/minecraft/mekanism/common/TileEntityMechanicalPipe.java +++ b/src/minecraft/mekanism/common/TileEntityMechanicalPipe.java @@ -3,7 +3,6 @@ package mekanism.common; import java.util.ArrayList; import java.util.Arrays; -import mekanism.api.IMechanicalPipe; import mekanism.api.Object3D; import mekanism.common.PacketHandler.Transmission; import mekanism.common.network.PacketDataRequest; @@ -30,6 +29,9 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP /** The LiquidStack displayed on this pipe. */ public LiquidStack refLiquid = null; + /** The liquid network currently in use by this pipe segment. */ + public LiquidNetwork liquidNetwork; + /** This pipe's active state. */ public boolean isActive = false; @@ -37,7 +39,7 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP public float liquidScale; @Override - public boolean canTransferLiquids(TileEntity fromTile) + public boolean canTransferLiquids() { return worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) == 0; } @@ -56,6 +58,59 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP } } + @Override + public LiquidNetwork getNetwork() + { + if(liquidNetwork == null) + { + liquidNetwork = new LiquidNetwork(this); + } + + return liquidNetwork; + } + + @Override + public void invalidate() + { + if(!worldObj.isRemote) + { + getNetwork().split(this); + } + + super.invalidate(); + } + + @Override + public void setNetwork(LiquidNetwork network) + { + liquidNetwork = network; + } + + @Override + public void refreshNetwork() + { + if(!worldObj.isRemote) + { + if(canTransferLiquids()) + { + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tileEntity instanceof IMechanicalPipe && ((IMechanicalPipe)tileEntity).canTransferLiquids()) + { + getNetwork().merge(((IMechanicalPipe)tileEntity).getNetwork()); + } + } + + getNetwork().refresh(); + } + else { + getNetwork().split(this); + } + } + } + @Override public void updateEntity() { @@ -84,7 +139,7 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP if(received != null && received.amount != 0) { - container.drain(side, new LiquidTransferProtocol(this, Object3D.get(this).getFromSide(side).getTileEntity(worldObj), received).calculate(), true); + container.drain(side, getNetwork().emit(received, true, Object3D.get(this).getFromSide(side).getTileEntity(worldObj)), true); } } } @@ -150,7 +205,7 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP { if(!isActive) { - return new LiquidTransferProtocol(this, Object3D.get(this).getFromSide(from).getTileEntity(worldObj), resource).calculate(); + return getNetwork().emit(resource, doFill, Object3D.get(this).getFromSide(from).getTileEntity(worldObj)); } return 0; @@ -161,7 +216,7 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP { if(!isActive) { - return new LiquidTransferProtocol(this, null, resource).calculate(); + return getNetwork().emit(resource, doFill, null); } return 0; diff --git a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java index d905a2ab4..19e934474 100644 --- a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java +++ b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java @@ -1,13 +1,15 @@ package mekanism.common; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.EnumGas; +import mekanism.api.GasNetwork; import mekanism.api.IPressurizedTube; import mekanism.api.ITubeConnection; +import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.ForgeDirection; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class TileEntityPressurizedTube extends TileEntity implements IPressurizedTube, ITubeConnection { @@ -17,6 +19,9 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize /** The scale of the gas (0F -> 1F) currently inside this tube. */ public float gasScale; + /** The gas network currently in use by this tube segment. */ + public GasNetwork gasNetwork; + @Override public void updateEntity() { @@ -33,7 +38,60 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize } @Override - public boolean canTransferGas(TileEntity fromTile) + public GasNetwork getNetwork() + { + if(gasNetwork == null) + { + gasNetwork = new GasNetwork(this); + } + + return gasNetwork; + } + + @Override + public void invalidate() + { + if(!worldObj.isRemote) + { + getNetwork().split(this); + } + + super.invalidate(); + } + + @Override + public void setNetwork(GasNetwork network) + { + gasNetwork = network; + } + + @Override + public void refreshNetwork() + { + if(!worldObj.isRemote) + { + if(canTransferGas()) + { + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tileEntity instanceof IPressurizedTube && ((IPressurizedTube)tileEntity).canTransferGas()) + { + getNetwork().merge(((IPressurizedTube)tileEntity).getNetwork()); + } + } + + getNetwork().refresh(); + } + else { + getNetwork().split(this); + } + } + } + + @Override + public boolean canTransferGas() { return worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) == 0; } @@ -55,7 +113,7 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize @Override public boolean canTubeConnect(ForgeDirection side) { - return true; + return canTransferGas(); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityUniversalCable.java b/src/minecraft/mekanism/common/TileEntityUniversalCable.java index d1a17bcf5..320227698 100644 --- a/src/minecraft/mekanism/common/TileEntityUniversalCable.java +++ b/src/minecraft/mekanism/common/TileEntityUniversalCable.java @@ -2,7 +2,6 @@ package mekanism.common; import java.util.ArrayList; -import mekanism.api.IUniversalCable; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -66,17 +65,23 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa { if(!worldObj.isRemote) { - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + if(canTransferEnergy()) { - TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - - if(tileEntity instanceof IUniversalCable) + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tileEntity instanceof IUniversalCable && ((IUniversalCable)tileEntity).canTransferEnergy()) + { + getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); + } } + + getNetwork().refresh(); + } + else { + getNetwork().split(this); } - - getNetwork().refresh(); } } diff --git a/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java b/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java index df433aae8..c3fabc906 100644 --- a/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java +++ b/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java @@ -1,11 +1,10 @@ package mekanism.common.network; import java.io.DataOutputStream; -import java.util.ArrayList; import mekanism.api.EnumGas; -import mekanism.api.GasTransferProtocol; -import mekanism.common.LiquidTransferProtocol; +import mekanism.client.GasClientUpdate; +import mekanism.client.LiquidClientUpdate; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -65,7 +64,7 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket if(tileEntity != null) { - new GasTransferProtocol(tileEntity, null, type, 0).clientUpdate(); + new GasClientUpdate(tileEntity, type).clientUpdate(); } } else if(transmitterType == 1) @@ -75,7 +74,7 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket if(tileEntity != null) { - new LiquidTransferProtocol(tileEntity, null, liquidStack).clientUpdate(); + new LiquidClientUpdate(tileEntity, liquidStack).clientUpdate(); } } } diff --git a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityGenerator.java index fe40655f9..f4d819345 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityGenerator.java @@ -11,11 +11,11 @@ import java.util.ArrayList; import java.util.EnumSet; import mekanism.api.ICableOutputter; -import mekanism.api.IUniversalCable; import mekanism.api.Object3D; import mekanism.client.IHasSound; import mekanism.common.CableUtils; import mekanism.common.IActiveState; +import mekanism.common.IUniversalCable; import mekanism.common.Mekanism; import mekanism.common.MekanismUtils; import mekanism.common.PacketHandler; From 63db62654a07d4b140316fb99ef35abe241a8f9c Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Thu, 27 Jun 2013 11:03:50 -0400 Subject: [PATCH 04/29] v5.5.6 Beta #23 *Configuration for machine energy usage. *Bumped default Theoretical Elementizer energy usage. *Cleaned up code. *Fixed UnsupportedOperationException in EnergyNetwork. --- .../mekanism/client/MekanismRenderer.java | 13 +- .../mekanism/client/ModelTransmitter.java | 2 +- .../mekanism/client/RenderDynamicTank.java | 36 ++--- .../mekanism/client/RenderMechanicalPipe.java | 145 +++--------------- .../mekanism/common/BlockMachine.java | 22 +-- .../mekanism/common/BlockTransmitter.java | 40 ++--- src/minecraft/mekanism/common/CableUtils.java | 5 + .../mekanism/common/CommonProxy.java | 11 ++ .../mekanism/common/EnergyNetwork.java | 7 +- src/minecraft/mekanism/common/Mekanism.java | 13 +- src/minecraft/mekanism/common/PipeUtils.java | 45 ++++++ .../TileEntityAdvancedElectricMachine.java | 2 +- .../common/TileEntityBasicMachine.java | 2 +- .../mekanism/common/TileEntityCombiner.java | 2 +- .../mekanism/common/TileEntityCrusher.java | 2 +- .../common/TileEntityElectricMachine.java | 2 +- .../common/TileEntityEnergizedSmelter.java | 2 +- .../common/TileEntityEnrichmentChamber.java | 2 +- .../mekanism/common/TileEntityFactory.java | 2 +- .../common/TileEntityMetallurgicInfuser.java | 2 +- .../common/TileEntityOsmiumCompressor.java | 2 +- .../common/TileEntityPurificationChamber.java | 2 +- .../TileEntityTheoreticalElementizer.java | 2 +- .../common/network/PacketDataRequest.java | 9 ++ .../common/GeneratorsCommonProxy.java | 1 + .../generators/common/MekanismGenerators.java | 5 +- .../TileEntityElectrolyticSeparator.java | 2 +- 27 files changed, 175 insertions(+), 205 deletions(-) diff --git a/src/minecraft/mekanism/client/MekanismRenderer.java b/src/minecraft/mekanism/client/MekanismRenderer.java index 0213c8740..8c5be58a4 100644 --- a/src/minecraft/mekanism/client/MekanismRenderer.java +++ b/src/minecraft/mekanism/client/MekanismRenderer.java @@ -9,8 +9,8 @@ import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.liquids.LiquidStack; import org.lwjgl.opengl.GL11; @@ -209,6 +209,17 @@ public class MekanismRenderer tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } + + public static void colorLiquid(LiquidStack liquidStack) + { + int color = liquidStack.asItemStack().getItem().getColorFromItemStack(liquidStack.asItemStack(), 0); + + float cR = (color >> 16 & 0xFF) / 255.0F; + float cG = (color >> 8 & 0xFF) / 255.0F; + float cB = (color & 0xFF) / 255.0F; + + GL11.glColor4f(cR, cG, cB, 1.0F); + } public static class DisplayInteger { diff --git a/src/minecraft/mekanism/client/ModelTransmitter.java b/src/minecraft/mekanism/client/ModelTransmitter.java index 0b2bd5f42..62383d493 100644 --- a/src/minecraft/mekanism/client/ModelTransmitter.java +++ b/src/minecraft/mekanism/client/ModelTransmitter.java @@ -75,7 +75,7 @@ public class ModelTransmitter extends ModelBase Center.render(0.0625F); - for (ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) { renderSide(orientation); } diff --git a/src/minecraft/mekanism/client/RenderDynamicTank.java b/src/minecraft/mekanism/client/RenderDynamicTank.java index f520ca461..39def8e55 100644 --- a/src/minecraft/mekanism/client/RenderDynamicTank.java +++ b/src/minecraft/mekanism/client/RenderDynamicTank.java @@ -125,11 +125,7 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer cachedCenterLiquids.put(data, map); } - int color = stack.asItemStack().getItem().getColorFromItemStack(stack.asItemStack(), 0); - float cR = (color >> 16 & 0xFF) / 255.0F; - float cG = (color >> 8 & 0xFF) / 255.0F; - float cB = (color & 0xFF) / 255.0F; - GL11.glColor4f(cR, cG, cB, 1.0F); + MekanismRenderer.colorLiquid(stack); for(int i = 0; i < stages; i++) { @@ -153,29 +149,27 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer return displays; } - private void setFlowingTexture(LiquidStack liquid, Model3D model) + private void setFlowingTexture(LiquidStack liquidStack, Model3D model) { - if((liquid == null) || (liquid.amount <= 0) || (liquid.itemID <= 0)) + if((liquidStack == null) || (liquidStack.amount <= 0) || (liquidStack.itemID <= 0)) { return; } - ItemStack stack = liquid.asItemStack(); - LiquidStack canon = liquid.canonical(); + ItemStack itemStack = liquidStack.asItemStack(); + String texturePath = liquidStack.canonical().getTextureSheet(); - String texturePath = canon.getTextureSheet(); + Icon flatIcon = liquidStack.canonical().getRenderingIcon(); + Icon sideIcon = flatIcon; - Icon top = canon.getRenderingIcon(); - Icon side = top; - - if((stack.getItem() instanceof ItemBlock)) + if((itemStack.getItem() instanceof ItemBlock)) { - top = Block.blocksList[stack.itemID].getIcon(0, 0); - side = Block.blocksList[stack.itemID].getIcon(2, 0); + flatIcon = Block.blocksList[itemStack.itemID].getIcon(0, 0); + sideIcon = Block.blocksList[itemStack.itemID].getIcon(2, 0); texturePath = "/terrain.png"; } - model.setTextures(top, top, side, side, side, side); + model.setTextures(flatIcon, flatIcon, sideIcon, sideIcon, sideIcon, sideIcon); bindTextureByName(texturePath); } @@ -208,11 +202,7 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer cachedValveLiquids.put(data, map); } - int color = stack.asItemStack().getItem().getColorFromItemStack(stack.asItemStack(), 0); - float cR = (color >> 16 & 0xFF) / 255.0F; - float cG = (color >> 8 & 0xFF) / 255.0F; - float cB = (color & 0xFF) / 255.0F; - GL11.glColor4f(cR, cG, cB, 1.0F); + MekanismRenderer.colorLiquid(stack); display.display = GLAllocation.generateDisplayLists(1); GL11.glNewList(display.display, 4864); @@ -294,6 +284,8 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer MekanismRenderer.renderObject(toReturn); GL11.glEndList(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + return display; } diff --git a/src/minecraft/mekanism/client/RenderMechanicalPipe.java b/src/minecraft/mekanism/client/RenderMechanicalPipe.java index 4efc0a128..27dcb7352 100644 --- a/src/minecraft/mekanism/client/RenderMechanicalPipe.java +++ b/src/minecraft/mekanism/client/RenderMechanicalPipe.java @@ -47,37 +47,7 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); - boolean[] connectable = new boolean[] {false, false, false, false, false, false}; - - TileEntity[] connectedPipes = PipeUtils.getConnectedPipes(tileEntity); - ITankContainer[] connectedAcceptors = PipeUtils.getConnectedAcceptors(tileEntity); - - for(ITankContainer container : connectedAcceptors) - { - if(container != null) - { - int side = Arrays.asList(connectedAcceptors).indexOf(container); - - if(container.getTanks(ForgeDirection.getOrientation(side).getOpposite()) != null && container.getTanks(ForgeDirection.getOrientation(side).getOpposite()).length != 0) - { - connectable[side] = true; - } - else if(container.getTank(ForgeDirection.getOrientation(side).getOpposite(), new LiquidStack(-1, 1000)) != null) - { - connectable[side] = true; - } - } - } - - for(TileEntity tile : connectedPipes) - { - if(tile != null) - { - int side = Arrays.asList(connectedPipes).indexOf(tile); - - connectable[side] = true; - } - } + boolean[] connectable = PipeUtils.getConnections(tileEntity); if(tileEntity.canTransferLiquids()) { @@ -173,21 +143,17 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer cachedLiquids.put(side, map); } - int color = stack.asItemStack().getItem().getColorFromItemStack(stack.asItemStack(), 0); - float cR = (color >> 16 & 0xFF) / 255.0F; - float cG = (color >> 8 & 0xFF) / 255.0F; - float cB = (color & 0xFF) / 255.0F; - GL11.glColor4f(cR, cG, cB, 1.0F); + MekanismRenderer.colorLiquid(stack); - switch(side) + for(int i = 0; i < stages; i++) { - case UNKNOWN: + displays[i] = GLAllocation.generateDisplayLists(1); + GL11.glNewList(displays[i], 4864); + + switch(side) { - for(int i = 0; i < stages; i++) + case UNKNOWN: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.3 + offset; toReturn.minY = 0.3 + offset; toReturn.minZ = 0.3 + offset; @@ -195,20 +161,10 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 0.7 - offset; toReturn.maxY = 0.3 - offset + ((float)i / (float)100); toReturn.maxZ = 0.7 - offset; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; - } - case DOWN: - { - for(int i = 0; i < stages; i++) + case DOWN: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.5 + offset - ((float)i / (float)100)/2; toReturn.minY = 0.0; toReturn.minZ = 0.5 + offset - ((float)i / (float)100)/2; @@ -216,20 +172,10 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 0.5 - offset + ((float)i / (float)100)/2; toReturn.maxY = 0.3 + offset; toReturn.maxZ = 0.5 - offset + ((float)i / (float)100)/2; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; - } - case UP: - { - for(int i = 0; i < stages; i++) + case UP: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.5 + offset - ((float)i / (float)100)/2; toReturn.minY = 0.3 - offset + ((float)i / (float)100); toReturn.minZ = 0.5 + offset - ((float)i / (float)100)/2; @@ -237,20 +183,10 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 0.5 - offset + ((float)i / (float)100)/2; toReturn.maxY = 1.0; toReturn.maxZ = 0.5 - offset + ((float)i / (float)100)/2; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; - } - case NORTH: - { - for(int i = 0; i < stages; i++) + case NORTH: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.3 + offset; toReturn.minY = 0.3 + offset; toReturn.minZ = 0.0; @@ -258,20 +194,10 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 0.7 - offset; toReturn.maxY = 0.3 - offset + ((float)i / (float)100); toReturn.maxZ = 0.3 + offset; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; - } - case SOUTH: - { - for(int i = 0; i < stages; i++) + case SOUTH: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.3 + offset; toReturn.minY = 0.3 + offset; toReturn.minZ = 0.7 - offset; @@ -279,20 +205,10 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 0.7 - offset; toReturn.maxY = 0.3 - offset + ((float)i / (float)100); toReturn.maxZ = 1.0; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; - } - case WEST: - { - for(int i = 0; i < stages; i++) + case WEST: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.0; toReturn.minY = 0.3 + offset; toReturn.minZ = 0.3 + offset; @@ -300,20 +216,10 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 0.3 + offset; toReturn.maxY = 0.3 - offset + ((float)i / (float)100); toReturn.maxZ = 0.7 - offset; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; - } - case EAST: - { - for(int i = 0; i < stages; i++) + case EAST: { - displays[i] = GLAllocation.generateDisplayLists(1); - GL11.glNewList(displays[i], 4864); - toReturn.minX = 0.7 - offset; toReturn.minY = 0.3 + offset; toReturn.minZ = 0.3 + offset; @@ -321,17 +227,16 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer toReturn.maxX = 1.0; toReturn.maxY = 0.3 - offset + ((float)i / (float)100); toReturn.maxZ = 0.7 - offset; - - MekanismRenderer.renderObject(toReturn); - GL11.glEndList(); + break; } - - return displays; } + + MekanismRenderer.renderObject(toReturn); + GL11.glEndList(); } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - return null; + return displays; } } diff --git a/src/minecraft/mekanism/common/BlockMachine.java b/src/minecraft/mekanism/common/BlockMachine.java index 48a3bfb13..ecdbcf27b 100644 --- a/src/minecraft/mekanism/common/BlockMachine.java +++ b/src/minecraft/mekanism/common/BlockMachine.java @@ -786,17 +786,17 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds public static enum MachineType { - ENRICHMENT_CHAMBER(0, 3, 20000, TileEntityEnrichmentChamber.class, false), - OSMIUM_COMPRESSOR(1, 4, 20000, TileEntityOsmiumCompressor.class, false), - COMBINER(2, 5, 20000, TileEntityCombiner.class, false), - CRUSHER(3, 6, 20000, TileEntityCrusher.class, false), - THEORETICAL_ELEMENTIZER(4, 7, 20000, TileEntityTheoreticalElementizer.class, true), - BASIC_FACTORY(5, 11, 60000, TileEntityFactory.class, false), - ADVANCED_FACTORY(6, 11, 100000, TileEntityAdvancedFactory.class, false), - ELITE_FACTORY(7, 11, 140000, TileEntityEliteFactory.class, false), - METALLURGIC_INFUSER(8, 12, 20000, TileEntityMetallurgicInfuser.class, true), - PURIFICATION_CHAMBER(9, 15, 20000, TileEntityPurificationChamber.class, false), - ENERGIZED_SMELTER(10, 16, 20000, TileEntityEnergizedSmelter.class, false), + ENRICHMENT_CHAMBER(0, 3, Mekanism.enrichmentChamberUsage*400, TileEntityEnrichmentChamber.class, false), + OSMIUM_COMPRESSOR(1, 4, Mekanism.osmiumCompressorUsage*400, TileEntityOsmiumCompressor.class, false), + COMBINER(2, 5, Mekanism.combinerUsage*400, TileEntityCombiner.class, false), + CRUSHER(3, 6, Mekanism.crusherUsage*400, TileEntityCrusher.class, false), + THEORETICAL_ELEMENTIZER(4, 7, Mekanism.theoreticalElementizerUsage*400, TileEntityTheoreticalElementizer.class, true), + BASIC_FACTORY(5, 11, Mekanism.factoryUsage*3*400, TileEntityFactory.class, false), + ADVANCED_FACTORY(6, 11, Mekanism.factoryUsage*5*400, TileEntityAdvancedFactory.class, false), + ELITE_FACTORY(7, 11, Mekanism.factoryUsage*7*400, TileEntityEliteFactory.class, false), + METALLURGIC_INFUSER(8, 12, Mekanism.metallurgicInfuserUsage*400, TileEntityMetallurgicInfuser.class, true), + PURIFICATION_CHAMBER(9, 15, Mekanism.purificationChamberUsage*400, TileEntityPurificationChamber.class, false), + ENERGIZED_SMELTER(10, 16, Mekanism.energizedSmelterUsage*400, TileEntityEnergizedSmelter.class, false), TELEPORTER(11, 13, 5000000, TileEntityTeleporter.class, false), ELECTRIC_PUMP(12, 17, 10000, TileEntityElectricPump.class, true), ELECTRIC_CHEST(13, -1, 12000, TileEntityElectricChest.class, true), diff --git a/src/minecraft/mekanism/common/BlockTransmitter.java b/src/minecraft/mekanism/common/BlockTransmitter.java index 88ff2cd12..3039216e1 100644 --- a/src/minecraft/mekanism/common/BlockTransmitter.java +++ b/src/minecraft/mekanism/common/BlockTransmitter.java @@ -118,22 +118,27 @@ public class BlockTransmitter extends Block { minY = 0.0F; } + if(connectable[1]) { maxY = 1.0F; } + if(connectable[2]) { minZ = 0.0F; } + if(connectable[3]) { maxZ = 1.0F; } + if(connectable[4]) { minX = 0.0F; } + if(connectable[5]) { maxX = 1.0F; @@ -178,35 +183,7 @@ public class BlockTransmitter extends Block } else if(world.getBlockMetadata(x, y, z) == 2) { - TileEntity[] connectedPipes = PipeUtils.getConnectedPipes(tileEntity); - ITankContainer[] connectedAcceptors = PipeUtils.getConnectedAcceptors(tileEntity); - - for(ITankContainer container : connectedAcceptors) - { - if(container != null) - { - int side = Arrays.asList(connectedAcceptors).indexOf(container); - - if(container.getTanks(ForgeDirection.getOrientation(side).getOpposite()) != null && container.getTanks(ForgeDirection.getOrientation(side).getOpposite()).length != 0) - { - connectable[side] = true; - } - else if(container.getTank(ForgeDirection.getOrientation(side).getOpposite(), new LiquidStack(-1, 1000)) != null) - { - connectable[side] = true; - } - } - } - - for(TileEntity tile : connectedPipes) - { - if(tile != null) - { - int side = Arrays.asList(connectedPipes).indexOf(tile); - - connectable[side] = true; - } - } + connectable = PipeUtils.getConnections(tileEntity); } } @@ -233,22 +210,27 @@ public class BlockTransmitter extends Block { minY = 0.0F; } + if(connectable[1]) { maxY = 1.0F; } + if(connectable[2]) { minZ = 0.0F; } + if(connectable[3]) { maxZ = 1.0F; } + if(connectable[4]) { minX = 0.0F; } + if(connectable[5]) { maxX = 1.0F; diff --git a/src/minecraft/mekanism/common/CableUtils.java b/src/minecraft/mekanism/common/CableUtils.java index 7ea4e11e9..a533f91c9 100644 --- a/src/minecraft/mekanism/common/CableUtils.java +++ b/src/minecraft/mekanism/common/CableUtils.java @@ -69,6 +69,11 @@ public final class CableUtils return cables; } + /** + * Gets all the adjacent connections to a TileEntity. + * @param tileEntity - center TileEntity + * @return boolean[] of adjacent connections + */ public static boolean[] getConnections(TileEntity tileEntity) { boolean[] connectable = new boolean[] {false, false, false, false, false, false}; diff --git a/src/minecraft/mekanism/common/CommonProxy.java b/src/minecraft/mekanism/common/CommonProxy.java index ae9e302fd..f6e2daa05 100644 --- a/src/minecraft/mekanism/common/CommonProxy.java +++ b/src/minecraft/mekanism/common/CommonProxy.java @@ -95,6 +95,7 @@ public class CommonProxy Mekanism.boundingBlockID = Mekanism.configuration.getBlock("BoundingBlock", 3005).getInt(); Mekanism.gasTankID = Mekanism.configuration.getBlock("GasTank", 3006).getInt(); Mekanism.transmitterID = Mekanism.configuration.getBlock("Transmitter", 3007).getInt(); + Mekanism.extrasEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ExtrasEnabled", true).getBoolean(true); Mekanism.osmiumGenerationEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OsmiumGenerationEnabled", true).getBoolean(true); Mekanism.disableBCSteelCrafting = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "DisableBCSteelCrafting", false).getBoolean(true); @@ -110,6 +111,16 @@ public class CommonProxy Mekanism.FROM_BC = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "JoulesToMJ", 25).getDouble(25); Mekanism.TO_BC = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MJToJoules", .04).getDouble(.04); Mekanism.ENERGY_PER_REDSTONE = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnergyPerRedstone", 10000).getDouble(10000); + + Mekanism.enrichmentChamberUsage = Mekanism.configuration.get("usage", "EnrichmentChamberUsage", 50).getDouble(50); + Mekanism.osmiumCompressorUsage = Mekanism.configuration.get("usage", "OsmiumCompressorUsage", 50).getDouble(50); + Mekanism.combinerUsage = Mekanism.configuration.get("usage", "CombinerUsage", 50).getDouble(50); + Mekanism.crusherUsage = Mekanism.configuration.get("usage", "CrusherUsage", 50).getDouble(50); + Mekanism.theoreticalElementizerUsage = Mekanism.configuration.get("usage", "TheoreticalElementizerUsage", 80).getDouble(80); + Mekanism.factoryUsage = Mekanism.configuration.get("usage", "FactoryUsage", 50).getDouble(50); + Mekanism.metallurgicInfuserUsage = Mekanism.configuration.get("usage", "MetallurgicInfuserUsage", 50).getDouble(50); + Mekanism.purificationChamberUsage = Mekanism.configuration.get("usage", "PurificationChamberUsage", 50).getDouble(50); + Mekanism.energizedSmelterUsage = Mekanism.configuration.get("usage", "EnergizedSmelterUsage", 50).getDouble(50); Mekanism.configuration.save(); } diff --git a/src/minecraft/mekanism/common/EnergyNetwork.java b/src/minecraft/mekanism/common/EnergyNetwork.java index 2a5121243..b3d041d83 100644 --- a/src/minecraft/mekanism/common/EnergyNetwork.java +++ b/src/minecraft/mekanism/common/EnergyNetwork.java @@ -66,11 +66,6 @@ public class EnergyNetwork Collections.shuffle(availableAcceptors); - for(TileEntity tile : ignored) - { - availableAcceptors.remove(tile); - } - if(!availableAcceptors.isEmpty()) { int divider = availableAcceptors.size(); @@ -79,7 +74,7 @@ public class EnergyNetwork for(Object obj : availableAcceptors) { - if(obj instanceof TileEntity) + if(obj instanceof TileEntity && !ignored.contains(obj)) { TileEntity acceptor = (TileEntity)obj; double currentSending = sending+remaining; diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index dd8abea71..a4b700bfd 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -173,7 +173,7 @@ public class Mekanism public static Item Clump; public static Item DirtyDust; - //Config Values + //General Configuration public static boolean extrasEnabled = true; public static boolean osmiumGenerationEnabled = true; public static boolean disableBCBronzeCrafting = true; @@ -192,6 +192,17 @@ public class Mekanism public static double FROM_BC; public static double ENERGY_PER_REDSTONE = 10000; + //Usage Configuration + public static double enrichmentChamberUsage; + public static double osmiumCompressorUsage; + public static double combinerUsage; + public static double crusherUsage; + public static double theoreticalElementizerUsage; + public static double factoryUsage; + public static double metallurgicInfuserUsage; + public static double purificationChamberUsage; + public static double energizedSmelterUsage; + /** Total ticks passed since thePlayer joined theWorld */ public static int ticksPassed = 0; diff --git a/src/minecraft/mekanism/common/PipeUtils.java b/src/minecraft/mekanism/common/PipeUtils.java index dc2f9c36a..e93127b3d 100644 --- a/src/minecraft/mekanism/common/PipeUtils.java +++ b/src/minecraft/mekanism/common/PipeUtils.java @@ -1,9 +1,12 @@ package mekanism.common; +import java.util.Arrays; + import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.liquids.ITankContainer; +import net.minecraftforge.liquids.LiquidStack; public final class PipeUtils { @@ -31,6 +34,48 @@ public final class PipeUtils return pipes; } + + /** + * Gets all the adjacent connections to a TileEntity. + * @param tileEntity - center TileEntity + * @return boolean[] of adjacent connections + */ + public static boolean[] getConnections(TileEntity tileEntity) + { + boolean[] connectable = new boolean[] {false, false, false, false, false, false}; + + TileEntity[] connectedPipes = PipeUtils.getConnectedPipes(tileEntity); + ITankContainer[] connectedAcceptors = PipeUtils.getConnectedAcceptors(tileEntity); + + for(ITankContainer container : connectedAcceptors) + { + if(container != null) + { + int side = Arrays.asList(connectedAcceptors).indexOf(container); + + if(container.getTanks(ForgeDirection.getOrientation(side).getOpposite()) != null && container.getTanks(ForgeDirection.getOrientation(side).getOpposite()).length != 0) + { + connectable[side] = true; + } + else if(container.getTank(ForgeDirection.getOrientation(side).getOpposite(), new LiquidStack(-1, 1000)) != null) + { + connectable[side] = true; + } + } + } + + for(TileEntity tile : connectedPipes) + { + if(tile != null) + { + int side = Arrays.asList(connectedPipes).indexOf(tile); + + connectable[side] = true; + } + } + + return connectable; + } /** * Gets all the acceptors around a tile entity. diff --git a/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java b/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java index d603f0abe..1ee0807b5 100644 --- a/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java +++ b/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java @@ -42,7 +42,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM * @param maxEnergy - maximum amount of energy this machine can hold. * @param maxSecondaryEnergy - maximum amount of secondary energy (fuel) this machine can hold. */ - public TileEntityAdvancedElectricMachine(String soundPath, String name, String path, int perTick, int secondaryPerTick, int ticksRequired, double maxEnergy, int maxSecondaryEnergy) + public TileEntityAdvancedElectricMachine(String soundPath, String name, String path, double perTick, int secondaryPerTick, int ticksRequired, double maxEnergy, int maxSecondaryEnergy) { super(soundPath, name, path, perTick, ticksRequired, maxEnergy); diff --git a/src/minecraft/mekanism/common/TileEntityBasicMachine.java b/src/minecraft/mekanism/common/TileEntityBasicMachine.java index 3b2fedafd..cc0d0af8c 100644 --- a/src/minecraft/mekanism/common/TileEntityBasicMachine.java +++ b/src/minecraft/mekanism/common/TileEntityBasicMachine.java @@ -72,7 +72,7 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp * @param ticksRequired - how many ticks it takes to run a cycle * @param maxEnergy - how much energy this machine can store */ - public TileEntityBasicMachine(String soundPath, String name, String path, int perTick, int ticksRequired, double maxEnergy) + public TileEntityBasicMachine(String soundPath, String name, String path, double perTick, int ticksRequired, double maxEnergy) { super(name, maxEnergy); ENERGY_PER_TICK = perTick; diff --git a/src/minecraft/mekanism/common/TileEntityCombiner.java b/src/minecraft/mekanism/common/TileEntityCombiner.java index 2de92ba47..5d832154d 100644 --- a/src/minecraft/mekanism/common/TileEntityCombiner.java +++ b/src/minecraft/mekanism/common/TileEntityCombiner.java @@ -12,7 +12,7 @@ public class TileEntityCombiner extends TileEntityAdvancedElectricMachine { public TileEntityCombiner() { - super("Combiner.ogg", "Combiner", "/mods/mekanism/gui/GuiCombiner.png", 50, 1, 200, MachineType.COMBINER.baseEnergy, 200); + super("Combiner.ogg", "Combiner", "/mods/mekanism/gui/GuiCombiner.png", Mekanism.combinerUsage, 1, 200, MachineType.COMBINER.baseEnergy, 200); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityCrusher.java b/src/minecraft/mekanism/common/TileEntityCrusher.java index 3775b2ce6..9aab75ef5 100644 --- a/src/minecraft/mekanism/common/TileEntityCrusher.java +++ b/src/minecraft/mekanism/common/TileEntityCrusher.java @@ -9,7 +9,7 @@ public class TileEntityCrusher extends TileEntityElectricMachine { public TileEntityCrusher() { - super("Crusher.ogg", "Crusher", "/mods/mekanism/gui/GuiCrusher.png", 50, 200, MachineType.CRUSHER.baseEnergy); + super("Crusher.ogg", "Crusher", "/mods/mekanism/gui/GuiCrusher.png", Mekanism.crusherUsage, 200, MachineType.CRUSHER.baseEnergy); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityElectricMachine.java b/src/minecraft/mekanism/common/TileEntityElectricMachine.java index d17b40e6e..b63ea4c8e 100644 --- a/src/minecraft/mekanism/common/TileEntityElectricMachine.java +++ b/src/minecraft/mekanism/common/TileEntityElectricMachine.java @@ -21,7 +21,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine * @param ticksRequired - ticks required to operate -- or smelt an item. * @param maxEnergy - maximum energy this machine can hold. */ - public TileEntityElectricMachine(String soundPath, String name, String path, int perTick, int ticksRequired, double maxEnergy) + public TileEntityElectricMachine(String soundPath, String name, String path, double perTick, int ticksRequired, double maxEnergy) { super(soundPath, name, path, perTick, ticksRequired, maxEnergy); diff --git a/src/minecraft/mekanism/common/TileEntityEnergizedSmelter.java b/src/minecraft/mekanism/common/TileEntityEnergizedSmelter.java index 114a1ce44..545536c5f 100644 --- a/src/minecraft/mekanism/common/TileEntityEnergizedSmelter.java +++ b/src/minecraft/mekanism/common/TileEntityEnergizedSmelter.java @@ -12,7 +12,7 @@ public class TileEntityEnergizedSmelter extends TileEntityElectricMachine { public TileEntityEnergizedSmelter() { - super("Smelter.ogg", "Energized Smelter", "/mods/mekanism/gui/GuiEnergizedSmelter.png", 50, 200, MachineType.ENERGIZED_SMELTER.baseEnergy); + super("Smelter.ogg", "Energized Smelter", "/mods/mekanism/gui/GuiEnergizedSmelter.png", Mekanism.energizedSmelterUsage, 200, MachineType.ENERGIZED_SMELTER.baseEnergy); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityEnrichmentChamber.java b/src/minecraft/mekanism/common/TileEntityEnrichmentChamber.java index f73a27a20..27fc85657 100644 --- a/src/minecraft/mekanism/common/TileEntityEnrichmentChamber.java +++ b/src/minecraft/mekanism/common/TileEntityEnrichmentChamber.java @@ -9,7 +9,7 @@ public class TileEntityEnrichmentChamber extends TileEntityElectricMachine { public TileEntityEnrichmentChamber() { - super("Chamber.ogg", "Enrichment Chamber", "/mods/mekanism/gui/GuiChamber.png", 50, 200, MachineType.ENRICHMENT_CHAMBER.baseEnergy); + super("Chamber.ogg", "Enrichment Chamber", "/mods/mekanism/gui/GuiChamber.png", Mekanism.enrichmentChamberUsage, 200, MachineType.ENRICHMENT_CHAMBER.baseEnergy); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityFactory.java b/src/minecraft/mekanism/common/TileEntityFactory.java index 51b7e07d8..03820e7a2 100644 --- a/src/minecraft/mekanism/common/TileEntityFactory.java +++ b/src/minecraft/mekanism/common/TileEntityFactory.java @@ -48,7 +48,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg public int TICKS_REQUIRED = 200; /** How much energy each operation consumes per tick. */ - public int ENERGY_PER_TICK = 50; + public double ENERGY_PER_TICK = Mekanism.factoryUsage; /** This machine's speed multiplier. */ public int speedMultiplier; diff --git a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java index 198494e41..f75796d6d 100644 --- a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java +++ b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java @@ -49,7 +49,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem public int MAX_INFUSE = 1000; /** How much energy this machine consumes per-tick. */ - public double ENERGY_PER_TICK = 50; + public double ENERGY_PER_TICK = Mekanism.metallurgicInfuserUsage; /** How many ticks it takes to run an operation. */ public int TICKS_REQUIRED = 200; diff --git a/src/minecraft/mekanism/common/TileEntityOsmiumCompressor.java b/src/minecraft/mekanism/common/TileEntityOsmiumCompressor.java index 1e1a0237f..892f7a997 100644 --- a/src/minecraft/mekanism/common/TileEntityOsmiumCompressor.java +++ b/src/minecraft/mekanism/common/TileEntityOsmiumCompressor.java @@ -11,7 +11,7 @@ public class TileEntityOsmiumCompressor extends TileEntityAdvancedElectricMachin { public TileEntityOsmiumCompressor() { - super("Compressor.ogg", "Osmium Compressor", "/mods/mekanism/gui/GuiCompressor.png", 50, 1, 200, MachineType.OSMIUM_COMPRESSOR.baseEnergy, 200); + super("Compressor.ogg", "Osmium Compressor", "/mods/mekanism/gui/GuiCompressor.png", Mekanism.osmiumCompressorUsage, 1, 200, MachineType.OSMIUM_COMPRESSOR.baseEnergy, 200); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityPurificationChamber.java b/src/minecraft/mekanism/common/TileEntityPurificationChamber.java index 100f2543b..c7e6cca2c 100644 --- a/src/minecraft/mekanism/common/TileEntityPurificationChamber.java +++ b/src/minecraft/mekanism/common/TileEntityPurificationChamber.java @@ -18,7 +18,7 @@ public class TileEntityPurificationChamber extends TileEntityAdvancedElectricMac { public TileEntityPurificationChamber() { - super("PurificationChamber.ogg", "Purification Chamber", "/mods/mekanism/gui/GuiPurificationChamber.png", 50, 1, 200, MachineType.PURIFICATION_CHAMBER.baseEnergy, 1200); + super("PurificationChamber.ogg", "Purification Chamber", "/mods/mekanism/gui/GuiPurificationChamber.png", Mekanism.purificationChamberUsage, 1, 200, MachineType.PURIFICATION_CHAMBER.baseEnergy, 1200); } @Override diff --git a/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java b/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java index 25bdecffe..0d0987fb8 100644 --- a/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java +++ b/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java @@ -16,7 +16,7 @@ public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectric { public TileEntityTheoreticalElementizer() { - super("Elementizer.ogg", "Theoretical Elementizer", "/mods/mekanism/gui/GuiElementizer.png", 24, 1, 1000, MachineType.THEORETICAL_ELEMENTIZER.baseEnergy, 1000); + super("Elementizer.ogg", "Theoretical Elementizer", "/mods/mekanism/gui/GuiElementizer.png", Mekanism.theoreticalElementizerUsage, 1, 1000, MachineType.THEORETICAL_ELEMENTIZER.baseEnergy, 1000); } @Override diff --git a/src/minecraft/mekanism/common/network/PacketDataRequest.java b/src/minecraft/mekanism/common/network/PacketDataRequest.java index f8ab4f43b..2445e8674 100644 --- a/src/minecraft/mekanism/common/network/PacketDataRequest.java +++ b/src/minecraft/mekanism/common/network/PacketDataRequest.java @@ -7,7 +7,9 @@ import mekanism.api.Object3D; import mekanism.common.ITileNetwork; import mekanism.common.PacketHandler; import mekanism.common.PacketHandler.Transmission; +import mekanism.common.TileEntityDynamicTank; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import com.google.common.io.ByteArrayDataInput; @@ -45,6 +47,13 @@ public class PacketDataRequest implements IMekanismPacket if(worldServer != null && worldServer.getBlockTileEntity(x, y, z) instanceof ITileNetwork) { + TileEntity tileEntity = worldServer.getBlockTileEntity(x, y, z); + + if(tileEntity instanceof TileEntityDynamicTank) + { + ((TileEntityDynamicTank)tileEntity).sendStructure = true; + } + PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTileEntity().setParams(Object3D.get(worldServer.getBlockTileEntity(x, y, z)), ((ITileNetwork)worldServer.getBlockTileEntity(x, y, z)).getNetworkedData(new ArrayList()))); } } diff --git a/src/minecraft/mekanism/generators/common/GeneratorsCommonProxy.java b/src/minecraft/mekanism/generators/common/GeneratorsCommonProxy.java index 19b552ab9..5f66dff35 100644 --- a/src/minecraft/mekanism/generators/common/GeneratorsCommonProxy.java +++ b/src/minecraft/mekanism/generators/common/GeneratorsCommonProxy.java @@ -46,6 +46,7 @@ public class GeneratorsCommonProxy MekanismGenerators.hydrogenGeneration = Mekanism.configuration.get("generation", "HydrogenGeneration", 300).getDouble(300); MekanismGenerators.solarGeneration = Mekanism.configuration.get("generation", "SolarGeneration", 30).getDouble(30); MekanismGenerators.windGeneration = Mekanism.configuration.get("generation", "WindGeneration", 30).getDouble(30); + MekanismGenerators.electrolyticSeparatorUsage = Mekanism.configuration.get("usage", "ElectrolyticSeparatorUsage", 50).getDouble(50); Mekanism.configuration.save(); } diff --git a/src/minecraft/mekanism/generators/common/MekanismGenerators.java b/src/minecraft/mekanism/generators/common/MekanismGenerators.java index 505282caf..1a89d0954 100644 --- a/src/minecraft/mekanism/generators/common/MekanismGenerators.java +++ b/src/minecraft/mekanism/generators/common/MekanismGenerators.java @@ -53,7 +53,7 @@ public class MekanismGenerators implements IModule //Block IDs public static int generatorID = 3005; - //Configuration + //Generation Configuration public static double advancedSolarGeneration; public static double bioGeneration; public static double heatGeneration; @@ -61,6 +61,9 @@ public class MekanismGenerators implements IModule public static double solarGeneration; public static double windGeneration; + //Usage Configuration + public static double electrolyticSeparatorUsage; + @PreInit public void preInit(FMLPreInitializationEvent event) { diff --git a/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java b/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java index 8c889c585..2616084b0 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java @@ -170,7 +170,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp if(oxygenStored < MAX_GAS && hydrogenStored < MAX_GAS && waterTank.getLiquid() != null && waterTank.getLiquid().amount-2 >= 0 && electricityStored-100 > 0) { waterTank.drain(2, true); - setEnergy(electricityStored - 50); + setEnergy(electricityStored - MekanismGenerators.electrolyticSeparatorUsage); setGas(EnumGas.OXYGEN, oxygenStored + 1); setGas(EnumGas.HYDROGEN, hydrogenStored + 2); } From 339ed313263b5f1d02d8829d12637579db6d2729 Mon Sep 17 00:00:00 2001 From: micdoodle8 Date: Thu, 27 Jun 2013 15:05:56 -0400 Subject: [PATCH 05/29] Test if tube can transfer gas to other tubes before adding them to the list of attached tubes. --- src/minecraft/mekanism/api/GasTransmission.java | 11 +++++++++-- src/minecraft/mekanism/api/IPressurizedTube.java | 7 +++++++ .../mekanism/common/TileEntityPressurizedTube.java | 6 ++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/minecraft/mekanism/api/GasTransmission.java b/src/minecraft/mekanism/api/GasTransmission.java index 2faccbeab..b59683f82 100644 --- a/src/minecraft/mekanism/api/GasTransmission.java +++ b/src/minecraft/mekanism/api/GasTransmission.java @@ -46,9 +46,16 @@ public final class GasTransmission { TileEntity tube = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - if(tube instanceof IPressurizedTube && ((IPressurizedTube)tube).canTransferGas()) + if (tileEntity instanceof IPressurizedTube) { - tubes[orientation.ordinal()] = tube; + if (((IPressurizedTube)tileEntity).canTransferGasToTube(tube)) + { + tubes[orientation.ordinal()] = tube; + } + } + else if (tube instanceof IPressurizedTube && ((IPressurizedTube)tube).canTransferGas()) + { + tubes[orientation.ordinal()] = tube; } } } diff --git a/src/minecraft/mekanism/api/IPressurizedTube.java b/src/minecraft/mekanism/api/IPressurizedTube.java index e1ddae856..0786df7c9 100644 --- a/src/minecraft/mekanism/api/IPressurizedTube.java +++ b/src/minecraft/mekanism/api/IPressurizedTube.java @@ -10,6 +10,13 @@ public interface IPressurizedTube */ public boolean canTransferGas(); + /** + * Whether or not this tube can transfer gas into an adjacent tube. + * @param tile - the adjacent tube + * @return if this tube can transfer gas into the passed tube + */ + public boolean canTransferGasToTube(TileEntity tile); + /** * Called when a gas is transferred through this tube. * @param type - the type of gas transferred diff --git a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java index 19e934474..18ba772d9 100644 --- a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java +++ b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java @@ -95,6 +95,12 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize { return worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) == 0; } + + @Override + public boolean canTransferGasToTube(TileEntity tile) + { + return this.canTransferGas(); + } @Override public void onTransfer(EnumGas type) From 60932026af3f556f27530930d407d141a3c3bbb3 Mon Sep 17 00:00:00 2001 From: micdoodle8 Date: Fri, 28 Jun 2013 00:44:14 -0400 Subject: [PATCH 06/29] Check if tubes can connect to each other and merge/split accordingly --- .../common/TileEntityPressurizedTube.java | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java index 18ba772d9..22f53724e 100644 --- a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java +++ b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java @@ -68,26 +68,35 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize @Override public void refreshNetwork() { - if(!worldObj.isRemote) - { - if(canTransferGas()) - { - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - - if(tileEntity instanceof IPressurizedTube && ((IPressurizedTube)tileEntity).canTransferGas()) - { - getNetwork().merge(((IPressurizedTube)tileEntity).getNetwork()); - } - } - - getNetwork().refresh(); - } - else { - getNetwork().split(this); - } - } + if (!worldObj.isRemote) + { + if (canTransferGas()) + { + for (ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); + + if (tileEntity instanceof IPressurizedTube) + { + if (((IPressurizedTube)tileEntity).canTransferGasToTube(this) && this.canTransferGasToTube(tileEntity)) + { + this.getNetwork().merge(((IPressurizedTube)tileEntity).getNetwork()); + } + else + { + ((IPressurizedTube) tileEntity).getNetwork().split(this); + this.getNetwork().split(((IPressurizedTube) tileEntity)); + } + } + } + + this.getNetwork().refresh(); + } + else + { + this.getNetwork().split(this); + } + } } @Override From 612d4ab5cb43c5dd635d33511f6f81d2e5e7258c Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 10:29:32 -0400 Subject: [PATCH 07/29] Minor enhancements *Touched up on @micdoodle8's work on the GasNetwork. *Pressurized Tubes now connect visually to Gas Tanks. *Fixed various network crashes. --- src/minecraft/mekanism/api/GasNetwork.java | 10 +++-- .../mekanism/api/GasTransmission.java | 6 +-- .../client/RenderPressurizedTube.java | 37 ++++++++++++++++++- src/minecraft/mekanism/common/Mekanism.java | 8 +++- .../common/TileEntityPressurizedTube.java | 2 +- 5 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/minecraft/mekanism/api/GasNetwork.java b/src/minecraft/mekanism/api/GasNetwork.java index 4d041fe0a..df7eff03c 100644 --- a/src/minecraft/mekanism/api/GasNetwork.java +++ b/src/minecraft/mekanism/api/GasNetwork.java @@ -246,11 +246,15 @@ public class GasNetwork if(!iterated.contains(obj) && !toIgnore.contains(obj)) { - TileEntity tileEntity = obj.getTileEntity(worldObj); + TileEntity tileEntity = location.getTileEntity(worldObj); + TileEntity sideTile = obj.getTileEntity(worldObj); - if(tileEntity instanceof IPressurizedTube && ((IPressurizedTube)tileEntity).canTransferGas()) + if(sideTile instanceof IPressurizedTube && ((IPressurizedTube)sideTile).canTransferGas()) { - loopThrough(obj); + if(((IPressurizedTube)sideTile).canTransferGasToTube(tileEntity) && ((IPressurizedTube)tileEntity).canTransferGasToTube(sideTile)) + { + loopThrough(obj); + } } } } diff --git a/src/minecraft/mekanism/api/GasTransmission.java b/src/minecraft/mekanism/api/GasTransmission.java index b59683f82..3a53f9164 100644 --- a/src/minecraft/mekanism/api/GasTransmission.java +++ b/src/minecraft/mekanism/api/GasTransmission.java @@ -46,14 +46,14 @@ public final class GasTransmission { TileEntity tube = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - if (tileEntity instanceof IPressurizedTube) + if(tileEntity instanceof IPressurizedTube) { - if (((IPressurizedTube)tileEntity).canTransferGasToTube(tube)) + if(((IPressurizedTube)tileEntity).canTransferGasToTube(tube)) { tubes[orientation.ordinal()] = tube; } } - else if (tube instanceof IPressurizedTube && ((IPressurizedTube)tube).canTransferGas()) + else if(tube instanceof IPressurizedTube && ((IPressurizedTube)tube).canTransferGas()) { tubes[orientation.ordinal()] = tube; } diff --git a/src/minecraft/mekanism/client/RenderPressurizedTube.java b/src/minecraft/mekanism/client/RenderPressurizedTube.java index 8767f06fb..c12d92e77 100644 --- a/src/minecraft/mekanism/client/RenderPressurizedTube.java +++ b/src/minecraft/mekanism/client/RenderPressurizedTube.java @@ -6,8 +6,10 @@ import java.util.HashMap; import mekanism.api.EnumGas; import mekanism.api.GasTransmission; import mekanism.api.ITubeConnection; +import mekanism.api.Object3D; import mekanism.client.MekanismRenderer.DisplayInteger; import mekanism.client.MekanismRenderer.Model3D; +import mekanism.common.TileEntityGasTank; import mekanism.common.TileEntityPressurizedTube; import net.minecraft.block.Block; import net.minecraft.client.renderer.GLAllocation; @@ -35,6 +37,7 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer renderAModelAt((TileEntityPressurizedTube)tileEntity, x, y, z, partialTick); } + @SuppressWarnings("incomplete-switch") public void renderAModelAt(TileEntityPressurizedTube tileEntity, double x, double y, double z, float partialTick) { bindTextureByName("/mods/mekanism/render/PressurizedTube.png"); @@ -65,7 +68,39 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer { if(connectable[i]) { - model.renderSide(ForgeDirection.getOrientation(i)); + TileEntity sideTile = Object3D.get(tileEntity).getFromSide(ForgeDirection.getOrientation(i)).getTileEntity(tileEntity.worldObj); + + if(sideTile instanceof TileEntityGasTank && i != 0 && i != 1) + { + GL11.glPushMatrix(); + + switch(ForgeDirection.getOrientation(i)) + { + case NORTH: + GL11.glScalef(1, 1, 1.63f); + GL11.glTranslatef(0, 0, -.073f); + break; + case SOUTH: + GL11.glScalef(1, 1, 1.63f); + GL11.glTranslatef(0, 0, .073f); + break; + case WEST: + GL11.glScalef(1.63f, 1, 1); + GL11.glTranslatef(.073f, 0, 0); + break; + case EAST: + GL11.glScalef(1.63f, 1, 1); + GL11.glTranslatef(-.073f, 0, 0); + break; + } + + model.renderSide(ForgeDirection.getOrientation(i)); + + GL11.glPopMatrix(); + } + else { + model.renderSide(ForgeDirection.getOrientation(i)); + } } } } diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index a4b700bfd..4ff20bb74 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -1206,12 +1206,16 @@ public class Mekanism @ForgeSubscribe public void onGasTransferred(GasTransferEvent event) { - PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.GAS, event.gasNetwork.tubes.iterator().next(), event.transferType)); + try { + PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.GAS, event.gasNetwork.tubes.iterator().next(), event.transferType)); + } catch(Exception e) {} } @ForgeSubscribe public void onLiquidTransferred(LiquidTransferEvent event) { - PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.LIQUID, event.liquidNetwork.pipes.iterator().next(), event.liquidSent)); + try { + PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterTransferUpdate().setParams(TransmitterTransferType.LIQUID, event.liquidNetwork.pipes.iterator().next(), event.liquidSent)); + } catch(Exception e) {} } } \ No newline at end of file diff --git a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java index 22f53724e..28c187d4c 100644 --- a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java +++ b/src/minecraft/mekanism/common/TileEntityPressurizedTube.java @@ -108,7 +108,7 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize @Override public boolean canTransferGasToTube(TileEntity tile) { - return this.canTransferGas(); + return canTransferGas(); } @Override From b255a98a740fd6fd3765293eed4a128bc1ef16de Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 18:01:00 -0400 Subject: [PATCH 08/29] Rebase for new workspace (sorry) --- .../api/blueprints/BlockSignature.java | 0 .../api/blueprints/BlueprintManager.java | 0 .../buildcraft/api/blueprints/BptBlock.java | 0 .../api/blueprints/BptBlockUtils.java | 0 .../api/blueprints/BptSlotInfo.java | 0 .../api/blueprints/IBptContext.java | 0 .../api/blueprints/ItemSignature.java | 0 .../buildcraft/api/bptblocks/BptBlockBed.java | 0 .../api/bptblocks/BptBlockCustomStack.java | 0 .../api/bptblocks/BptBlockDelegate.java | 0 .../api/bptblocks/BptBlockDirt.java | 0 .../api/bptblocks/BptBlockDoor.java | 0 .../api/bptblocks/BptBlockIgnore.java | 0 .../api/bptblocks/BptBlockIgnoreMeta.java | 0 .../api/bptblocks/BptBlockInventory.java | 0 .../api/bptblocks/BptBlockLever.java | 0 .../api/bptblocks/BptBlockLiquid.java | 0 .../api/bptblocks/BptBlockPiston.java | 0 .../api/bptblocks/BptBlockPumpkin.java | 0 .../bptblocks/BptBlockRedstoneRepeater.java | 0 .../bptblocks/BptBlockRotateInventory.java | 0 .../api/bptblocks/BptBlockRotateMeta.java | 0 .../api/bptblocks/BptBlockSign.java | 0 .../api/bptblocks/BptBlockStairs.java | 0 .../api/bptblocks/BptBlockWallSide.java | 0 .../buildcraft/api/core/BuildCraftAPI.java | 0 .../buildcraft/api/core/IAreaProvider.java | 0 .../buildcraft/api/core/IBox.java | 0 .../buildcraft/api/core/IIconProvider.java | 0 .../buildcraft/api/core/LaserKind.java | 0 .../buildcraft/api/core/Position.java | 0 .../buildcraft/api/core/SafeTimeTracker.java | 0 .../buildcraft/api/filler/FillerManager.java | 0 .../buildcraft/api/filler/IFillerPattern.java | 0 .../api/filler/IFillerRegistry.java | 0 .../api/fuels/IronEngineCoolant.java | 0 .../buildcraft/api/fuels/IronEngineFuel.java | 0 .../buildcraft/api/gates/ActionManager.java | 0 .../buildcraft/api/gates/IAction.java | 0 .../buildcraft/api/gates/IActionProvider.java | 0 .../buildcraft/api/gates/IActionReceptor.java | 0 .../api/gates/IOverrideDefaultTriggers.java | 0 .../buildcraft/api/gates/ITrigger.java | 0 .../api/gates/ITriggerParameter.java | 0 .../api/gates/ITriggerProvider.java | 0 .../api/gates/TriggerParameter.java | 0 .../api/inventory/ISecuredInventory.java | 0 .../api/inventory/ISelectiveInventory.java | 0 .../api/inventory/ISpecialInventory.java | 0 .../buildcraft/api/power/IPowerProvider.java | 0 .../buildcraft/api/power/IPowerReceptor.java | 0 .../buildcraft/api/power/PowerFramework.java | 0 .../buildcraft/api/power/PowerProvider.java | 0 .../api/recipes/AssemblyRecipe.java | 0 .../api/recipes/RefineryRecipe.java | 0 .../buildcraft/api/tools/IToolPipette.java | 0 .../buildcraft/api/tools/IToolWrench.java | 0 .../api/transport/FacadeManager.java | 0 .../api/transport/IExtractionHandler.java | 0 .../transport/IPassiveItemContribution.java | 0 .../buildcraft/api/transport/IPipe.java | 0 .../api/transport/IPipeConnection.java | 0 .../buildcraft/api/transport/IPipeEntry.java | 0 .../buildcraft/api/transport/IPipeTile.java | 0 .../buildcraft/api/transport/IPipedItem.java | 0 .../api/transport/ISolidSideTile.java | 0 .../buildcraft/api/transport/PipeManager.java | 0 .../dan200/computer/api/ComputerCraftAPI.java | 0 .../dan200/computer/api/IComputerAccess.java | 0 .../computer/api/IHostedPeripheral.java | 0 .../dan200/computer/api/IMedia.java | 0 .../dan200/computer/api/IPeripheral.java | 0 .../computer/api/IPeripheralHandler.java | 0 .../dan200/turtle/api/ITurtleAccess.java | 0 .../turtle/api/ITurtleCommandHandler.java | 0 .../dan200/turtle/api/ITurtleUpgrade.java | 0 .../dan200/turtle/api/TurtleAPI.java | 0 .../dan200/turtle/api/TurtleSide.java | 0 .../dan200/turtle/api/TurtleUpgradeType.java | 0 .../dan200/turtle/api/TurtleVerb.java | 0 .../ic2/api/Direction.java | 0 .../ic2/api/crops/BaseSeed.java | 0 .../ic2/api/crops/CropCard.java | 0 .../ic2/api/crops/Crops.java | 0 .../ic2/api/crops/ICropTile.java | 0 .../ic2/api/energy/EnergyNet.java | 0 .../ic2/api/energy/event/EnergyTileEvent.java | 0 .../api/energy/event/EnergyTileLoadEvent.java | 0 .../energy/event/EnergyTileSourceEvent.java | 0 .../energy/event/EnergyTileUnloadEvent.java | 0 .../ic2/api/energy/tile/IEnergyAcceptor.java | 0 .../ic2/api/energy/tile/IEnergyConductor.java | 0 .../ic2/api/energy/tile/IEnergyEmitter.java | 0 .../ic2/api/energy/tile/IEnergySink.java | 0 .../ic2/api/energy/tile/IEnergySource.java | 0 .../ic2/api/energy/tile/IEnergyTile.java | 0 .../ic2/api/energy/usage.txt | 0 .../ic2/api/event/PaintEvent.java | 0 .../ic2/api/event/RetextureEvent.java | 0 .../ic2/api/info/IEnergyValueProvider.java | 0 .../ic2/api/info/IFuelValueProvider.java | 0 .../ic2/api/info/Info.java | 0 .../ic2/api/item/ElectricItem.java | 0 .../ic2/api/item/IBoxable.java | 0 .../ic2/api/item/ICustomElectricItem.java | 0 .../ic2/api/item/IElectricItem.java | 0 .../ic2/api/item/IElectricItemManager.java | 0 .../ic2/api/item/IMetalArmor.java | 0 .../ic2/api/item/ISpecialElectricItem.java | 0 .../ic2/api/item/ITerraformingBP.java | 0 .../ic2/api/item/ItemWrapper.java | 0 .../ic2/api/item/Items.java | 0 ...INetworkClientTileEntityEventListener.java | 0 .../ic2/api/network/INetworkDataProvider.java | 0 .../network/INetworkItemEventListener.java | 0 .../INetworkTileEntityEventListener.java | 0 .../api/network/INetworkUpdateListener.java | 0 .../ic2/api/network/NetworkHelper.java | 0 .../ic2/api/reactor/IC2Reactor.java | 0 .../ic2/api/reactor/IReactor.java | 0 .../ic2/api/reactor/IReactorChamber.java | 0 .../ic2/api/reactor/IReactorComponent.java | 0 .../api/recipe/ICraftingRecipeManager.java | 0 .../ic2/api/recipe/IListRecipeManager.java | 0 .../ic2/api/recipe/IMachineRecipeManager.java | 0 .../ic2/api/recipe/Recipes.java | 0 .../ic2/api/tile/ExplosionWhitelist.java | 0 .../ic2/api/tile/IEnergyStorage.java | 0 .../ic2/api/tile/IWrenchable.java | 0 .../mekanism/api/EnergizedItemManager.java | 0 .../mekanism/api/EnumColor.java | 0 .../mekanism/api/EnumGas.java | 0 .../mekanism/api/GasNetwork.java | 0 .../mekanism/api/GasTransmission.java | 0 .../mekanism/api/IAccessibleGui.java | 0 .../mekanism/api/ICableOutputter.java | 0 .../mekanism/api/IConfigurable.java | 0 .../mekanism/api/IEnergizedItem.java | 0 .../mekanism/api/IGasAcceptor.java | 0 .../mekanism/api/IGasStorage.java | 0 .../mekanism/api/IPressurizedTube.java | 0 .../mekanism/api/IStorageTank.java | 0 .../mekanism/api/IStrictEnergyAcceptor.java | 0 .../mekanism/api/IStrictEnergyStorage.java | 0 .../mekanism/api/ITubeConnection.java | 0 .../mekanism/api/IUpgradeManagement.java | 0 .../mekanism/api/InfuseObject.java | 0 .../mekanism/api/InfuseRegistry.java | 0 .../mekanism/api/InfuseType.java | 0 .../mekanism/api/InfusionInput.java | 0 .../mekanism/api/InfusionOutput.java | 0 .../mekanism/api/ItemRetriever.java | 0 .../mekanism/api/Object3D.java | 0 .../mekanism/api/RecipeHelper.java | 0 .../mekanism/api/SideData.java | 0 .../mekanism/api/TabProxy.java | 0 .../client/BasicRenderingHandler.java | 0 .../mekanism/client/CapeBufferDownload.java | 0 .../client/ClientConnectionHandler.java | 0 .../client/ClientPlayerTickHandler.java | 0 .../mekanism/client/ClientProxy.java | 0 .../mekanism/client/ClientTickHandler.java | 0 .../mekanism/client/GasClientUpdate.java | 0 .../client/GuiAdvancedElectricMachine.java | 0 .../mekanism/client/GuiCombiner.java | 0 .../mekanism/client/GuiControlPanel.java | 0 .../mekanism/client/GuiCredits.java | 0 .../mekanism/client/GuiCrusher.java | 0 .../mekanism/client/GuiDynamicTank.java | 0 .../mekanism/client/GuiElectricChest.java | 0 .../mekanism/client/GuiElectricMachine.java | 0 .../mekanism/client/GuiElectricPump.java | 0 .../mekanism/client/GuiEnergizedSmelter.java | 0 .../mekanism/client/GuiEnergyCube.java | 0 .../mekanism/client/GuiEnrichmentChamber.java | 0 .../mekanism/client/GuiFactory.java | 0 .../mekanism/client/GuiGasTank.java | 0 .../client/GuiMetallurgicInfuser.java | 0 .../mekanism/client/GuiOsmiumCompressor.java | 0 .../mekanism/client/GuiPasswordEnter.java | 0 .../mekanism/client/GuiPasswordModify.java | 0 .../client/GuiPortableTeleporter.java | 0 .../client/GuiPurificationChamber.java | 0 .../mekanism/client/GuiRobitCrafting.java | 0 .../mekanism/client/GuiRobitInventory.java | 0 .../mekanism/client/GuiRobitMain.java | 0 .../mekanism/client/GuiRobitRepair.java | 0 .../mekanism/client/GuiRobitSmelting.java | 0 .../mekanism/client/GuiStopwatch.java | 0 .../mekanism/client/GuiTeleporter.java | 0 .../client/GuiTheoreticalElementizer.java | 0 .../mekanism/client/GuiWeatherOrb.java | 0 .../mekanism/client/IHasSound.java | 0 .../mekanism/client/ItemRenderingHandler.java | 0 .../mekanism/client/LiquidClientUpdate.java | 0 .../client/MachineRenderingHandler.java | 0 .../mekanism/client/MekanismRenderer.java | 0 .../mekanism/client/ModelChargepad.java | 0 .../mekanism/client/ModelElectricPump.java | 0 .../client/ModelMetallurgicInfuser.java | 0 .../mekanism/client/ModelRobit.java | 0 .../client/ModelTheoreticalElementizer.java | 0 .../mekanism/client/ModelTransmitter.java | 0 .../mekanism/client/RenderChargepad.java | 0 .../client/RenderConfigurableMachine.java | 0 .../mekanism/client/RenderDynamicTank.java | 0 .../mekanism/client/RenderElectricChest.java | 0 .../mekanism/client/RenderElectricPump.java | 0 .../mekanism/client/RenderMechanicalPipe.java | 0 .../client/RenderMetallurgicInfuser.java | 0 .../mekanism/client/RenderObsidianTNT.java | 0 .../client/RenderPressurizedTube.java | 0 .../mekanism/client/RenderRobit.java | 0 .../client/RenderTheoreticalElementizer.java | 0 .../mekanism/client/RenderTickHandler.java | 0 .../mekanism/client/RenderUniversalCable.java | 0 .../mekanism/client/Sound.java | 0 .../mekanism/client/SoundHandler.java | 0 .../mekanism/client/ThreadClientUpdate.java | 0 .../mekanism/client/ThreadTankSparkle.java | 0 .../mekanism/client/TransmitterRenderer.java | 0 .../mekanism/common/BlockBasic.java | 0 .../mekanism/common/BlockBounding.java | 0 .../mekanism/common/BlockEnergyCube.java | 0 .../mekanism/common/BlockGasTank.java | 0 .../mekanism/common/BlockMachine.java | 0 .../mekanism/common/BlockObsidianTNT.java | 0 .../mekanism/common/BlockOre.java | 0 .../mekanism/common/BlockTransmitter.java | 0 .../mekanism/common/CableUtils.java | 0 .../mekanism/common/ChargeUtils.java | 0 .../mekanism/common/CommandMekanism.java | 0 .../common/CommonPlayerTickHandler.java | 0 .../mekanism/common/CommonProxy.java | 0 .../common/CommonWorldTickHandler.java | 0 .../ContainerAdvancedElectricMachine.java | 0 .../mekanism/common/ContainerDynamicTank.java | 0 .../common/ContainerElectricChest.java | 0 .../common/ContainerElectricMachine.java | 0 .../common/ContainerElectricPump.java | 0 .../mekanism/common/ContainerEnergyCube.java | 0 .../mekanism/common/ContainerFactory.java | 0 .../mekanism/common/ContainerGasTank.java | 0 .../common/ContainerMetallurgicInfuser.java | 0 .../common/ContainerRobitCrafting.java | 0 .../common/ContainerRobitInventory.java | 0 .../mekanism/common/ContainerRobitMain.java | 0 .../mekanism/common/ContainerRobitRepair.java | 0 .../common/ContainerRobitSmelting.java | 0 .../mekanism/common/ContainerTeleporter.java | 0 .../mekanism/common/CoreGuiHandler.java | 0 .../mekanism/common/CreativeTabMekanism.java | 0 .../mekanism/common/DynamicLiquidTank.java | 0 .../mekanism/common/DynamicTankCache.java | 0 .../mekanism/common/EnergyNetwork.java | 0 .../mekanism/common/EntityObsidianTNT.java | 0 .../mekanism/common/EntityRobit.java | 0 .../mekanism/common/IActiveState.java | 0 .../mekanism/common/IBoundingBlock.java | 0 .../mekanism/common/IC2EnergyHandler.java | 0 .../mekanism/common/IElectricChest.java | 0 .../mekanism/common/IElectricMachine.java | 0 .../mekanism/common/IEnergyCube.java | 0 .../mekanism/common/IFactory.java | 0 .../mekanism/common/IMechanicalPipe.java | 0 .../mekanism/common/IModule.java | 0 .../mekanism/common/ISpecialBounds.java | 0 .../mekanism/common/ISustainedInventory.java | 0 .../mekanism/common/ISustainedTank.java | 0 .../mekanism/common/ITileNetwork.java | 0 .../mekanism/common/IUniversalCable.java | 0 .../common/InventoryElectricChest.java | 0 .../common/ItemAtomicDisassembler.java | 0 .../mekanism/common/ItemBlockBasic.java | 0 .../mekanism/common/ItemBlockEnergyCube.java | 0 .../mekanism/common/ItemBlockMachine.java | 0 .../mekanism/common/ItemBlockOre.java | 0 .../mekanism/common/ItemBlockTransmitter.java | 0 .../mekanism/common/ItemClump.java | 0 .../mekanism/common/ItemConfigurator.java | 0 .../mekanism/common/ItemDirtyDust.java | 0 .../mekanism/common/ItemDust.java | 0 .../mekanism/common/ItemElectricBow.java | 0 .../mekanism/common/ItemEnergized.java | 0 .../mekanism/common/ItemIngot.java | 0 .../mekanism/common/ItemMachineUpgrade.java | 0 .../mekanism/common/ItemMekanism.java | 0 .../common/ItemPortableTeleporter.java | 0 .../mekanism/common/ItemRobit.java | 0 .../mekanism/common/ItemStopwatch.java | 0 .../mekanism/common/ItemStorageTank.java | 0 .../mekanism/common/ItemWeatherOrb.java | 0 .../mekanism/common/LinkedPowerProvider.java | 0 .../mekanism/common/LiquidNetwork.java | 0 .../mekanism/common/LiquidSlot.java | 0 .../mekanism/common/Mekanism.java | 0 .../mekanism/common/MekanismHooks.java | 0 .../mekanism/common/MekanismRecipe.java | 0 .../mekanism/common/MekanismUtils.java | 0 .../mekanism/common/OreHandler.java | 0 .../mekanism/common/PacketHandler.java | 0 .../mekanism/common/PipeUtils.java | 0 .../mekanism/common/RecipeHandler.java | 0 .../mekanism/common/RobitAIFollow.java | 0 .../mekanism/common/SlotElectricChest.java | 0 .../mekanism/common/SlotEnergy.java | 0 .../mekanism/common/SlotMachineUpgrade.java | 0 .../mekanism/common/SlotOutput.java | 0 .../mekanism/common/SlotStorageTank.java | 0 .../mekanism/common/SynchronizedTankData.java | 0 .../mekanism/common/TankUpdateProtocol.java | 0 .../mekanism/common/Teleporter.java | 0 .../mekanism/common/ThreadGetData.java | 0 .../mekanism/common/Tier.java | 0 .../TileEntityAdvancedElectricMachine.java | 0 .../common/TileEntityAdvancedFactory.java | 0 .../mekanism/common/TileEntityBasicBlock.java | 0 .../common/TileEntityBasicMachine.java | 0 .../common/TileEntityBoundingBlock.java | 0 .../mekanism/common/TileEntityChargepad.java | 0 .../mekanism/common/TileEntityCombiner.java | 0 .../common/TileEntityContainerBlock.java | 0 .../common/TileEntityControlPanel.java | 0 .../mekanism/common/TileEntityCrusher.java | 0 .../common/TileEntityDynamicTank.java | 0 .../common/TileEntityDynamicValve.java | 0 .../common/TileEntityElectricBlock.java | 0 .../common/TileEntityElectricChest.java | 0 .../common/TileEntityElectricMachine.java | 0 .../common/TileEntityElectricPump.java | 0 .../common/TileEntityEliteFactory.java | 0 .../common/TileEntityEnergizedSmelter.java | 0 .../mekanism/common/TileEntityEnergyCube.java | 0 .../common/TileEntityEnrichmentChamber.java | 0 .../mekanism/common/TileEntityFactory.java | 0 .../mekanism/common/TileEntityGasTank.java | 0 .../common/TileEntityMechanicalPipe.java | 0 .../common/TileEntityMetallurgicInfuser.java | 0 .../common/TileEntityOsmiumCompressor.java | 0 .../common/TileEntityPressurizedTube.java | 49 +++++++----------- .../common/TileEntityPurificationChamber.java | 0 .../mekanism/common/TileEntityTeleporter.java | 0 .../TileEntityTheoreticalElementizer.java | 0 .../common/TileEntityUniversalCable.java | 0 .../mekanism/common/Version.java | 0 .../common/network/IMekanismPacket.java | 0 .../network/PacketConfiguratorState.java | 0 .../common/network/PacketControlPanel.java | 0 .../common/network/PacketDataRequest.java | 0 .../common/network/PacketDigitUpdate.java | 0 .../network/PacketElectricBowState.java | 0 .../common/network/PacketElectricChest.java | 0 .../network/PacketPortableTeleport.java | 0 .../common/network/PacketPortalFX.java | 0 .../mekanism/common/network/PacketRobit.java | 0 .../common/network/PacketStatusUpdate.java | 0 .../common/network/PacketTileEntity.java | 0 .../mekanism/common/network/PacketTime.java | 0 .../PacketTransmitterTransferUpdate.java | 0 .../common/network/PacketWeather.java | 0 .../client/BlockRenderingHandler.java | 0 .../client/GeneratorsClientProxy.java | 0 .../generators/client/GuiBioGenerator.java | 0 .../client/GuiElectrolyticSeparator.java | 0 .../generators/client/GuiHeatGenerator.java | 0 .../client/GuiHydrogenGenerator.java | 0 .../generators/client/GuiSolarGenerator.java | 0 .../generators/client/GuiWindTurbine.java | 0 .../client/ModelAdvancedSolarGenerator.java | 0 .../generators/client/ModelBioGenerator.java | 0 .../client/ModelElectrolyticSeparator.java | 0 .../generators/client/ModelHeatGenerator.java | 0 .../client/ModelHydrogenGenerator.java | 0 .../generators/client/ModelWindTurbine.java | 0 .../client/RenderAdvancedSolarGenerator.java | 0 .../generators/client/RenderBioGenerator.java | 0 .../client/RenderElectrolyticSeparator.java | 0 .../client/RenderHeatGenerator.java | 0 .../client/RenderHydrogenGenerator.java | 0 .../generators/client/RenderWindTurbine.java | 0 .../generators/common/BlockGenerator.java | 0 .../common/ContainerBioGenerator.java | 0 .../ContainerElectrolyticSeparator.java | 0 .../common/ContainerHeatGenerator.java | 0 .../common/ContainerHydrogenGenerator.java | 0 .../common/ContainerSolarGenerator.java | 0 .../common/ContainerWindTurbine.java | 0 .../common/GeneratorsCommonProxy.java | 0 .../common/GeneratorsGuiHandler.java | 0 .../generators/common/ItemBlockGenerator.java | 0 .../generators/common/MekanismGenerators.java | 0 .../TileEntityAdvancedSolarGenerator.java | 0 .../common/TileEntityBioGenerator.java | 0 .../TileEntityElectrolyticSeparator.java | 0 .../common/TileEntityGenerator.java | 0 .../common/TileEntityHeatGenerator.java | 0 .../common/TileEntityHydrogenGenerator.java | 0 .../common/TileEntitySolarGenerator.java | 0 .../common/TileEntityWindTurbine.java | 0 .../PacketElectrolyticSeparatorParticle.java | 0 .../nei/AdvancedMachineRecipeHandler.java | 0 .../mekanism/nei/CombinerRecipeHandler.java | 0 .../mekanism/nei/CrusherRecipeHandler.java | 0 .../nei/EnrichmentChamberRecipeHandler.java | 0 .../mekanism/nei/MachineRecipeHandler.java | 0 .../mekanism/nei/MekanismRecipeHandler.java | 0 .../nei/MetallurgicInfuserRecipeHandler.java | 0 .../mekanism/nei/NEIMekanismConfig.java | 0 .../nei/OsmiumCompressorRecipeHandler.java | 0 .../nei/PurificationChamberRecipeHandler.java | 0 .../tools/common/ItemMekanismArmor.java | 0 .../tools/common/ItemMekanismAxe.java | 0 .../tools/common/ItemMekanismHoe.java | 0 .../tools/common/ItemMekanismPaxel.java | 0 .../tools/common/ItemMekanismPickaxe.java | 0 .../tools/common/ItemMekanismShovel.java | 0 .../tools/common/ItemMekanismSword.java | 0 .../tools/common/ItemMekanismTool.java | 0 .../mekanism/tools/common/MekanismTools.java | 0 .../galacticraft/API/IEntityBreathable.java | 0 .../mods/galacticraft/API/ISolarLevel.java | 0 .../mods/metallurgy/api/IMetalSet.java | 0 .../mods/metallurgy/api/IOreInfo.java | 0 .../mods/metallurgy/api/MetallurgyAPI.java | 0 .../mods/metallurgy/api/OreType.java | 0 .../api/ThermalExpansionInfo.java | 0 .../api/crafting/CraftingHelpers.java | 0 .../api/crafting/CraftingManagers.java | 0 .../api/crafting/ICrucibleManager.java | 0 .../api/crafting/ICrucibleRecipe.java | 0 .../api/crafting/IFurnaceManager.java | 0 .../api/crafting/IFurnaceRecipe.java | 0 .../api/crafting/IPulverizerManager.java | 0 .../api/crafting/IPulverizerRecipe.java | 0 .../api/crafting/ISawmillManager.java | 0 .../api/crafting/ISawmillRecipe.java | 0 .../api/crafting/ISmelterManager.java | 0 .../api/crafting/ISmelterRecipe.java | 0 .../api/crafting/ITransposerManager.java | 0 .../api/crafting/ITransposerRecipe.java | 0 .../api/item/IChargeableItem.java | 0 .../api/item/ItemRegistry.java | 0 .../api/tileentity/IAccessControl.java | 0 .../api/tileentity/IReconfigurableFacing.java | 0 .../api/tileentity/IReconfigurableSides.java | 0 .../api/tileentity/IRedstoneControl.java | 0 .../api/tileentity/ISidedBlockTexture.java | 0 .../api/tileentity/ITesseract.java | 0 .../core/UniversalElectricity.java | 0 .../core/block/IConductor.java | 0 .../core/block/IConnectionProvider.java | 0 .../core/block/IConnector.java | 0 .../core/block/IElectricityStorage.java | 0 .../core/block/INetworkProvider.java | 0 .../core/block/IVoltage.java | 0 .../core/electricity/ElectricityDisplay.java | 0 .../core/electricity/ElectricityNetwork.java | 0 .../electricity/ElectricityNetworkHelper.java | 0 .../core/electricity/ElectricityPack.java | 0 .../core/electricity/IConductorRegistry.java | 0 .../core/electricity/IElectricityNetwork.java | 0 .../core/item/ElectricItemHelper.java | 0 .../core/item/IItemElectric.java | 0 .../core/item/IItemElectricityStorage.java | 0 .../core/item/IItemVoltage.java | 0 .../core/item/ItemElectric.java | 0 .../core/path/IPathCallBack.java | 0 .../core/path/Pathfinder.java | 0 .../core/path/PathfinderAStar.java | 0 .../core/path/PathfinderChecker.java | 0 .../core/vector/Vector2.java | 0 .../core/vector/Vector3.java | 0 .../core/vector/VectorHelper.java | 0 .../prefab/CustomDamageSource.java | 0 .../universalelectricity/prefab/GuiBase.java | 0 .../prefab/RecipeHelper.java | 0 .../prefab/SlotSpecific.java | 0 .../prefab/TranslationHelper.java | 0 .../prefab/block/BlockAdvanced.java | 0 .../prefab/block/BlockConductor.java | 0 .../prefab/block/BlockRotatable.java | 0 .../prefab/flag/CommandFlag.java | 0 .../prefab/flag/Flag.java | 0 .../prefab/flag/FlagBase.java | 0 .../prefab/flag/FlagRegion.java | 0 .../prefab/flag/FlagRegistry.java | 0 .../prefab/flag/FlagWorld.java | 0 .../prefab/flag/ModFlag.java | 0 .../prefab/flag/NBTFileLoader.java | 0 .../prefab/implement/IDisableable.java | 0 .../prefab/implement/IRedstoneProvider.java | 0 .../prefab/implement/IRedstoneReceptor.java | 0 .../prefab/implement/IRotatable.java | 0 .../prefab/implement/ITier.java | 0 .../prefab/implement/IToolConfigurator.java | 0 .../prefab/multiblock/BlockMulti.java | 0 .../prefab/multiblock/IBlockActivate.java | 0 .../prefab/multiblock/IMultiBlock.java | 0 .../prefab/multiblock/TileEntityMulti.java | 0 .../prefab/network/IPacketReceiver.java | 0 .../prefab/network/PacketManager.java | 0 .../prefab/ore/OreGenBase.java | 0 .../prefab/ore/OreGenReplace.java | 0 .../prefab/ore/OreGenReplaceStone.java | 0 .../prefab/ore/OreGenerator.java | 0 .../prefab/potion/CustomPotion.java | 0 .../prefab/potion/CustomPotionEffect.java | 0 .../prefab/tile/TileEntityAdvanced.java | 0 .../prefab/tile/TileEntityConductor.java | 0 .../prefab/tile/TileEntityDisableable.java | 0 .../prefab/tile/TileEntityElectrical.java | 0 .../tile/TileEntityElectricityRunnable.java | 0 .../tile/TileEntityElectricityStorage.java | 0 .../prefab/vector/Region2.java | 0 .../prefab/vector/Region3.java | 0 .../armor/bronze_1.png | Bin .../armor/bronze_2.png | Bin .../armor/glowstone_1.png | Bin .../armor/glowstone_2.png | Bin .../armor/lazuli_1.png | Bin .../armor/lazuli_2.png | Bin .../armor/obsidian_1.png | Bin .../armor/obsidian_2.png | Bin .../armor/osmium_1.png | Bin .../armor/osmium_2.png | Bin .../minecraft => resources}/armor/steel_1.png | Bin .../minecraft => resources}/armor/steel_2.png | Bin .../mods/mekanism/gui/GuiBioGenerator.png | Bin .../mods/mekanism/gui/GuiChamber.png | Bin .../mods/mekanism/gui/GuiCombiner.png | Bin .../mods/mekanism/gui/GuiCompressor.png | Bin .../mods/mekanism/gui/GuiControlPanel.png | Bin .../mods/mekanism/gui/GuiCrusher.png | Bin .../mods/mekanism/gui/GuiDynamicTank.png | Bin .../mods/mekanism/gui/GuiElectricChest.png | Bin .../mods/mekanism/gui/GuiElectricPump.png | Bin .../mekanism/gui/GuiElectrolyticSeparator.png | Bin .../mods/mekanism/gui/GuiElementizer.png | Bin .../mods/mekanism/gui/GuiEnergizedSmelter.png | Bin .../mods/mekanism/gui/GuiEnergyCube.png | Bin .../mods/mekanism/gui/GuiGasTank.png | Bin .../mods/mekanism/gui/GuiHeatGenerator.png | Bin .../mekanism/gui/GuiHydrogenGenerator.png | Bin .../mekanism/gui/GuiMetallurgicInfuser.png | Bin .../mods/mekanism/gui/GuiPasswordEnter.png | Bin .../mods/mekanism/gui/GuiPasswordModify.png | Bin .../mekanism/gui/GuiPortableTeleporter.png | Bin .../mekanism/gui/GuiPurificationChamber.png | Bin .../mods/mekanism/gui/GuiRobitCrafting.png | Bin .../mods/mekanism/gui/GuiRobitInventory.png | Bin .../mods/mekanism/gui/GuiRobitMain.png | Bin .../mods/mekanism/gui/GuiRobitRepair.png | Bin .../mods/mekanism/gui/GuiRobitSmelting.png | Bin .../mods/mekanism/gui/GuiSolarGenerator.png | Bin .../mods/mekanism/gui/GuiStopwatch.png | Bin .../mods/mekanism/gui/GuiTeleporter.png | Bin .../mods/mekanism/gui/GuiWeatherOrb.png | Bin .../mods/mekanism/gui/GuiWindTurbine.png | Bin .../gui/factory/GuiAdvancedFactory.png | Bin .../mekanism/gui/factory/GuiBasicFactory.png | Bin .../mekanism/gui/factory/GuiEliteFactory.png | Bin .../mods/mekanism/infuse/Bio.png | Bin .../mods/mekanism/infuse/Carbon.png | Bin .../mods/mekanism/infuse/Diamond.png | Bin .../mods/mekanism/infuse/Infusions.png | Bin .../mods/mekanism/infuse/Tin.png | Bin .../render/AdvancedSolarGenerator.png | Bin .../mods/mekanism/render/BioGenerator.png | Bin .../mods/mekanism/render/Chargepad.png | Bin .../mods/mekanism/render/ElectricChest.png | Bin .../mods/mekanism/render/ElectricPump.png | Bin .../render/ElectrolyticSeparatorHydrogen.png | Bin .../render/ElectrolyticSeparatorNone.png | Bin .../render/ElectrolyticSeparatorOxygen.png | Bin .../mods/mekanism/render/HeatGenerator.png | Bin .../mods/mekanism/render/HeatGeneratorOn.png | Bin .../mekanism/render/HydrogenGenerator.png | Bin .../mods/mekanism/render/MechanicalPipe.png | Bin .../mekanism/render/MechanicalPipeActive.png | Bin .../mekanism/render/MetallurgicInfuser.png | Bin .../mods/mekanism/render/PressurizedTube.png | Bin .../mods/mekanism/render/Robit.png | Bin .../mekanism/render/SideConfigOverlay.png | Bin .../render/TheoreticalElementizer.png | Bin .../mods/mekanism/render/UniversalCable.png | Bin .../mods/mekanism/render/WindTurbine.png | Bin .../mods/mekanism/sound/BioGenerator.ogg | Bin .../mods/mekanism/sound/Chamber.ogg | Bin .../mods/mekanism/sound/Chargepad.ogg | Bin .../mods/mekanism/sound/Combiner.ogg | Bin .../mods/mekanism/sound/Compressor.ogg | Bin .../mods/mekanism/sound/Crusher.ogg | Bin .../mods/mekanism/sound/Elementizer.ogg | Bin .../mods/mekanism/sound/HeatGenerator.ogg | Bin .../mods/mekanism/sound/HydrogenGenerator.ogg | Bin .../mekanism/sound/MetallurgicInfuser.ogg | Bin .../mekanism/sound/PurificationChamber.ogg | Bin .../mods/mekanism/sound/Smelter.ogg | Bin .../mods/mekanism/sound/SolarGenerator.ogg | Bin .../mods/mekanism/sound/WindTurbine.ogg | Bin .../mods/mekanism/sound/cj/CJ_1.ogg | Bin .../mods/mekanism/sound/cj/CJ_2.ogg | Bin .../mods/mekanism/sound/cj/CJ_3.ogg | Bin .../blocks/AdvancedEnergyCubeFront.png | Bin .../blocks/AdvancedEnergyCubeSide.png | Bin .../textures/blocks/AdvancedFactoryFront.png | Bin .../textures/blocks/AdvancedFactorySide.png | Bin .../textures/blocks/AdvancedFactoryTop.png | Bin .../textures/blocks/BasicEnergyCubeFront.png | Bin .../textures/blocks/BasicEnergyCubeSide.png | Bin .../textures/blocks/BasicFactoryFront.png | Bin .../textures/blocks/BasicFactorySide.png | Bin .../textures/blocks/BasicFactoryTop.png | Bin .../mekanism/textures/blocks/BronzeBlock.png | Bin .../mekanism/textures/blocks/CoalBlock.png | Bin .../textures/blocks/CombinerFrontOff.png | Bin .../textures/blocks/CombinerFrontOn.png | Bin .../textures/blocks/CombinerFrontOn.txt | 0 .../textures/blocks/CrusherFrontOff.png | Bin .../textures/blocks/CrusherFrontOn.png | Bin .../textures/blocks/CrusherFrontOn.txt | 0 .../mekanism/textures/blocks/DynamicGlass.png | Bin .../mekanism/textures/blocks/DynamicTank.png | Bin .../mekanism/textures/blocks/DynamicValve.png | Bin .../textures/blocks/ElectricPumpFront.png | Bin .../textures/blocks/ElectricPumpSide.png | Bin .../textures/blocks/EliteEnergyCubeFront.png | Bin .../textures/blocks/EliteEnergyCubeSide.png | Bin .../textures/blocks/EliteFactoryFront.png | Bin .../textures/blocks/EliteFactorySide.png | Bin .../textures/blocks/EliteFactoryTop.png | Bin .../blocks/EnergizedSmelterFrontOff.png | Bin .../blocks/EnergizedSmelterFrontOn.png | Bin .../blocks/EnergizedSmelterFrontOn.txt | 0 .../blocks/EnrichmentChamberFrontOff.png | Bin .../blocks/EnrichmentChamberFrontOn.png | Bin .../mekanism/textures/blocks/GasTankFront.png | Bin .../mekanism/textures/blocks/GasTankSide.png | Bin .../mekanism/textures/blocks/GasTankTop.png | Bin .../blocks/MetallurgicInfuserBackOff.png | Bin .../blocks/MetallurgicInfuserBackOn.png | Bin .../blocks/MetallurgicInfuserBackOn.txt | 0 .../blocks/MetallurgicInfuserFrontOff.png | Bin .../blocks/MetallurgicInfuserFrontOn.png | Bin .../blocks/MetallurgicInfuserFrontOn.txt | 0 .../blocks/MetallurgicInfuserSideOff.png | Bin .../blocks/MetallurgicInfuserSideOn.png | Bin .../blocks/MetallurgicInfuserSideOn.txt | 0 .../blocks/MetallurgicInfuserTopOff.png | Bin .../blocks/MetallurgicInfuserTopOn.png | Bin .../textures/blocks/ObsidianTNTBottom.png | Bin .../textures/blocks/ObsidianTNTSide.png | Bin .../textures/blocks/ObsidianTNTTop.png | Bin .../mekanism/textures/blocks/OsmiumBlock.png | Bin .../blocks/OsmiumCompressorFrontOff.png | Bin .../blocks/OsmiumCompressorFrontOn.png | Bin .../blocks/OsmiumCompressorFrontOn.txt | 0 .../mekanism/textures/blocks/OsmiumOre.png | Bin .../mekanism/textures/blocks/OverlayAqua.png | Bin .../mekanism/textures/blocks/OverlayBlack.png | Bin .../textures/blocks/OverlayBrightGreen.png | Bin .../textures/blocks/OverlayDarkAqua.png | Bin .../textures/blocks/OverlayDarkBlue.png | Bin .../textures/blocks/OverlayDarkGreen.png | Bin .../textures/blocks/OverlayDarkGrey.png | Bin .../textures/blocks/OverlayDarkRed.png | Bin .../mekanism/textures/blocks/OverlayGrey.png | Bin .../textures/blocks/OverlayIndigo.png | Bin .../textures/blocks/OverlayOrange.png | Bin .../mekanism/textures/blocks/OverlayPink.png | Bin .../textures/blocks/OverlayPurple.png | Bin .../mekanism/textures/blocks/OverlayRed.png | Bin .../mekanism/textures/blocks/OverlayWhite.png | Bin .../textures/blocks/OverlayYellow.png | Bin .../blocks/PurificationChamberFrontOff.png | Bin .../blocks/PurificationChamberFrontOn.png | Bin .../blocks/PurificationChamberFrontOn.txt | 0 .../textures/blocks/RefinedGlowstone.png | Bin .../textures/blocks/RefinedObsidian.png | Bin .../textures/blocks/SolarGeneratorFront.png | Bin .../textures/blocks/SolarGeneratorSide.png | Bin .../textures/blocks/SolarGeneratorTop.png | Bin .../mekanism/textures/blocks/SteelBlock.png | Bin .../mekanism/textures/blocks/SteelCasing.png | Bin .../mekanism/textures/blocks/Teleporter.png | Bin .../textures/blocks/TeleporterFrame.png | Bin .../blocks/UltimateEnergyCubeFront.png | Bin .../blocks/UltimateEnergyCubeSide.png | Bin .../mekanism/textures/items/AtomicCore.png | Bin .../textures/items/AtomicDisassembler.png | Bin .../mods/mekanism/textures/items/BioFuel.png | Bin .../mekanism/textures/items/BronzeAxe.png | Bin .../mekanism/textures/items/BronzeBoots.png | Bin .../textures/items/BronzeChestplate.png | Bin .../mekanism/textures/items/BronzeHelmet.png | Bin .../mekanism/textures/items/BronzeHoe.png | Bin .../mekanism/textures/items/BronzeIngot.png | Bin .../textures/items/BronzeLeggings.png | Bin .../mekanism/textures/items/BronzePaxel.png | Bin .../mekanism/textures/items/BronzePickaxe.png | Bin .../mekanism/textures/items/BronzeShovel.png | Bin .../mekanism/textures/items/BronzeSword.png | Bin .../textures/items/CompressedCarbon.png | Bin .../mekanism/textures/items/Configurator.png | Bin .../textures/items/ControlCircuit.png | Bin .../mekanism/textures/items/CopperClump.png | Bin .../mekanism/textures/items/CopperDust.png | Bin .../mekanism/textures/items/DiamondDust.png | Bin .../mekanism/textures/items/DiamondPaxel.png | Bin .../textures/items/DirtyCopperDust.png | Bin .../mekanism/textures/items/DirtyGoldDust.png | Bin .../mekanism/textures/items/DirtyIronDust.png | Bin .../textures/items/DirtyObsidianDust.png | Bin .../textures/items/DirtyOsmiumDust.png | Bin .../textures/items/DirtySilverDust.png | Bin .../mekanism/textures/items/DirtyTinDust.png | Bin .../mekanism/textures/items/ElectricBow.png | Bin .../textures/items/ElectrolyticCore.png | Bin .../mekanism/textures/items/EnergyTablet.png | Bin .../mekanism/textures/items/EnergyUpgrade.png | Bin .../mekanism/textures/items/EnrichedAlloy.png | Bin .../mekanism/textures/items/EnrichedIron.png | Bin .../mekanism/textures/items/GlowstoneAxe.png | Bin .../textures/items/GlowstoneBoots.png | Bin .../textures/items/GlowstoneChestplate.png | Bin .../textures/items/GlowstoneHelmet.png | Bin .../mekanism/textures/items/GlowstoneHoe.png | Bin .../textures/items/GlowstoneIngot.png | Bin .../textures/items/GlowstoneLeggings.png | Bin .../textures/items/GlowstonePaxel.png | Bin .../textures/items/GlowstonePickaxe.png | Bin .../textures/items/GlowstoneShovel.png | Bin .../textures/items/GlowstoneSword.png | Bin .../mekanism/textures/items/GoldClump.png | Bin .../mods/mekanism/textures/items/GoldDust.png | Bin .../mekanism/textures/items/GoldPaxel.png | Bin .../mekanism/textures/items/IronClump.png | Bin .../mods/mekanism/textures/items/IronDust.png | Bin .../mekanism/textures/items/IronPaxel.png | Bin .../mekanism/textures/items/LazuliAxe.png | Bin .../mekanism/textures/items/LazuliBoots.png | Bin .../textures/items/LazuliChestplate.png | Bin .../mekanism/textures/items/LazuliHelmet.png | Bin .../mekanism/textures/items/LazuliHoe.png | Bin .../textures/items/LazuliLeggings.png | Bin .../mekanism/textures/items/LazuliPaxel.png | Bin .../mekanism/textures/items/LazuliPickaxe.png | Bin .../mekanism/textures/items/LazuliShovel.png | Bin .../mekanism/textures/items/LazuliSword.png | Bin .../mekanism/textures/items/LiquidEnergy.png | Bin .../mekanism/textures/items/LiquidEnergy.txt | 0 .../textures/items/LiquidHydrogen.png | Bin .../textures/items/LiquidHydrogen.txt | 0 .../mekanism/textures/items/LiquidOxygen.png | Bin .../mekanism/textures/items/LiquidOxygen.txt | 0 .../mekanism/textures/items/ObsidianAxe.png | Bin .../mekanism/textures/items/ObsidianBoots.png | Bin .../textures/items/ObsidianChestplate.png | Bin .../mekanism/textures/items/ObsidianDust.png | Bin .../textures/items/ObsidianHelmet.png | Bin .../mekanism/textures/items/ObsidianHoe.png | Bin .../mekanism/textures/items/ObsidianIngot.png | Bin .../textures/items/ObsidianLeggings.png | Bin .../mekanism/textures/items/ObsidianPaxel.png | Bin .../textures/items/ObsidianPickaxe.png | Bin .../textures/items/ObsidianShovel.png | Bin .../mekanism/textures/items/ObsidianSword.png | Bin .../mekanism/textures/items/OsmiumAxe.png | Bin .../mekanism/textures/items/OsmiumBoots.png | Bin .../textures/items/OsmiumChestplate.png | Bin .../mekanism/textures/items/OsmiumClump.png | Bin .../mekanism/textures/items/OsmiumDust.png | Bin .../mekanism/textures/items/OsmiumHelmet.png | Bin .../mekanism/textures/items/OsmiumHoe.png | Bin .../mekanism/textures/items/OsmiumIngot.png | Bin .../textures/items/OsmiumLeggings.png | Bin .../mekanism/textures/items/OsmiumPaxel.png | Bin .../mekanism/textures/items/OsmiumPickaxe.png | Bin .../mekanism/textures/items/OsmiumShovel.png | Bin .../mekanism/textures/items/OsmiumSword.png | Bin .../textures/items/PortableTeleporter.png | Bin .../mekanism/textures/items/SilverClump.png | Bin .../mekanism/textures/items/SilverDust.png | Bin .../mekanism/textures/items/SolarPanel.png | Bin .../mekanism/textures/items/SpeedUpgrade.png | Bin .../mods/mekanism/textures/items/SteelAxe.png | Bin .../mekanism/textures/items/SteelBoots.png | Bin .../textures/items/SteelChestplate.png | Bin .../mekanism/textures/items/SteelDust.png | Bin .../mekanism/textures/items/SteelHelmet.png | Bin .../mods/mekanism/textures/items/SteelHoe.png | Bin .../mekanism/textures/items/SteelIngot.png | Bin .../mekanism/textures/items/SteelLeggings.png | Bin .../mekanism/textures/items/SteelPaxel.png | Bin .../mekanism/textures/items/SteelPickaxe.png | Bin .../mekanism/textures/items/SteelShovel.png | Bin .../mekanism/textures/items/SteelSword.png | Bin .../mekanism/textures/items/StonePaxel.png | Bin .../mekanism/textures/items/Stopwatch.png | Bin .../mekanism/textures/items/StorageTank.png | Bin .../textures/items/TeleportationCore.png | Bin .../mods/mekanism/textures/items/TinClump.png | Bin .../mods/mekanism/textures/items/TinDust.png | Bin .../mekanism/textures/items/WeatherOrb.png | Bin .../mekanism/textures/items/WoodPaxel.png | Bin 805 files changed, 20 insertions(+), 29 deletions(-) rename {src/minecraft => common}/buildcraft/api/blueprints/BlockSignature.java (100%) rename {src/minecraft => common}/buildcraft/api/blueprints/BlueprintManager.java (100%) rename {src/minecraft => common}/buildcraft/api/blueprints/BptBlock.java (100%) rename {src/minecraft => common}/buildcraft/api/blueprints/BptBlockUtils.java (100%) rename {src/minecraft => common}/buildcraft/api/blueprints/BptSlotInfo.java (100%) rename {src/minecraft => common}/buildcraft/api/blueprints/IBptContext.java (100%) rename {src/minecraft => common}/buildcraft/api/blueprints/ItemSignature.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockBed.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockCustomStack.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockDelegate.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockDirt.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockDoor.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockIgnore.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockInventory.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockLever.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockLiquid.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockPiston.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockPumpkin.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockRotateInventory.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockRotateMeta.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockSign.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockStairs.java (100%) rename {src/minecraft => common}/buildcraft/api/bptblocks/BptBlockWallSide.java (100%) rename {src/minecraft => common}/buildcraft/api/core/BuildCraftAPI.java (100%) rename {src/minecraft => common}/buildcraft/api/core/IAreaProvider.java (100%) rename {src/minecraft => common}/buildcraft/api/core/IBox.java (100%) rename {src/minecraft => common}/buildcraft/api/core/IIconProvider.java (100%) rename {src/minecraft => common}/buildcraft/api/core/LaserKind.java (100%) rename {src/minecraft => common}/buildcraft/api/core/Position.java (100%) rename {src/minecraft => common}/buildcraft/api/core/SafeTimeTracker.java (100%) rename {src/minecraft => common}/buildcraft/api/filler/FillerManager.java (100%) rename {src/minecraft => common}/buildcraft/api/filler/IFillerPattern.java (100%) rename {src/minecraft => common}/buildcraft/api/filler/IFillerRegistry.java (100%) rename {src/minecraft => common}/buildcraft/api/fuels/IronEngineCoolant.java (100%) rename {src/minecraft => common}/buildcraft/api/fuels/IronEngineFuel.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/ActionManager.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/IAction.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/IActionProvider.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/IActionReceptor.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/IOverrideDefaultTriggers.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/ITrigger.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/ITriggerParameter.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/ITriggerProvider.java (100%) rename {src/minecraft => common}/buildcraft/api/gates/TriggerParameter.java (100%) rename {src/minecraft => common}/buildcraft/api/inventory/ISecuredInventory.java (100%) rename {src/minecraft => common}/buildcraft/api/inventory/ISelectiveInventory.java (100%) rename {src/minecraft => common}/buildcraft/api/inventory/ISpecialInventory.java (100%) rename {src/minecraft => common}/buildcraft/api/power/IPowerProvider.java (100%) rename {src/minecraft => common}/buildcraft/api/power/IPowerReceptor.java (100%) rename {src/minecraft => common}/buildcraft/api/power/PowerFramework.java (100%) rename {src/minecraft => common}/buildcraft/api/power/PowerProvider.java (100%) rename {src/minecraft => common}/buildcraft/api/recipes/AssemblyRecipe.java (100%) rename {src/minecraft => common}/buildcraft/api/recipes/RefineryRecipe.java (100%) rename {src/minecraft => common}/buildcraft/api/tools/IToolPipette.java (100%) rename {src/minecraft => common}/buildcraft/api/tools/IToolWrench.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/FacadeManager.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IExtractionHandler.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IPassiveItemContribution.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IPipe.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IPipeConnection.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IPipeEntry.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IPipeTile.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/IPipedItem.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/ISolidSideTile.java (100%) rename {src/minecraft => common}/buildcraft/api/transport/PipeManager.java (100%) rename {src/minecraft => common}/dan200/computer/api/ComputerCraftAPI.java (100%) rename {src/minecraft => common}/dan200/computer/api/IComputerAccess.java (100%) rename {src/minecraft => common}/dan200/computer/api/IHostedPeripheral.java (100%) rename {src/minecraft => common}/dan200/computer/api/IMedia.java (100%) rename {src/minecraft => common}/dan200/computer/api/IPeripheral.java (100%) rename {src/minecraft => common}/dan200/computer/api/IPeripheralHandler.java (100%) rename {src/minecraft => common}/dan200/turtle/api/ITurtleAccess.java (100%) rename {src/minecraft => common}/dan200/turtle/api/ITurtleCommandHandler.java (100%) rename {src/minecraft => common}/dan200/turtle/api/ITurtleUpgrade.java (100%) rename {src/minecraft => common}/dan200/turtle/api/TurtleAPI.java (100%) rename {src/minecraft => common}/dan200/turtle/api/TurtleSide.java (100%) rename {src/minecraft => common}/dan200/turtle/api/TurtleUpgradeType.java (100%) rename {src/minecraft => common}/dan200/turtle/api/TurtleVerb.java (100%) rename {src/minecraft => common}/ic2/api/Direction.java (100%) rename {src/minecraft => common}/ic2/api/crops/BaseSeed.java (100%) rename {src/minecraft => common}/ic2/api/crops/CropCard.java (100%) rename {src/minecraft => common}/ic2/api/crops/Crops.java (100%) rename {src/minecraft => common}/ic2/api/crops/ICropTile.java (100%) rename {src/minecraft => common}/ic2/api/energy/EnergyNet.java (100%) rename {src/minecraft => common}/ic2/api/energy/event/EnergyTileEvent.java (100%) rename {src/minecraft => common}/ic2/api/energy/event/EnergyTileLoadEvent.java (100%) rename {src/minecraft => common}/ic2/api/energy/event/EnergyTileSourceEvent.java (100%) rename {src/minecraft => common}/ic2/api/energy/event/EnergyTileUnloadEvent.java (100%) rename {src/minecraft => common}/ic2/api/energy/tile/IEnergyAcceptor.java (100%) rename {src/minecraft => common}/ic2/api/energy/tile/IEnergyConductor.java (100%) rename {src/minecraft => common}/ic2/api/energy/tile/IEnergyEmitter.java (100%) rename {src/minecraft => common}/ic2/api/energy/tile/IEnergySink.java (100%) rename {src/minecraft => common}/ic2/api/energy/tile/IEnergySource.java (100%) rename {src/minecraft => common}/ic2/api/energy/tile/IEnergyTile.java (100%) rename {src/minecraft => common}/ic2/api/energy/usage.txt (100%) rename {src/minecraft => common}/ic2/api/event/PaintEvent.java (100%) rename {src/minecraft => common}/ic2/api/event/RetextureEvent.java (100%) rename {src/minecraft => common}/ic2/api/info/IEnergyValueProvider.java (100%) rename {src/minecraft => common}/ic2/api/info/IFuelValueProvider.java (100%) rename {src/minecraft => common}/ic2/api/info/Info.java (100%) rename {src/minecraft => common}/ic2/api/item/ElectricItem.java (100%) rename {src/minecraft => common}/ic2/api/item/IBoxable.java (100%) rename {src/minecraft => common}/ic2/api/item/ICustomElectricItem.java (100%) rename {src/minecraft => common}/ic2/api/item/IElectricItem.java (100%) rename {src/minecraft => common}/ic2/api/item/IElectricItemManager.java (100%) rename {src/minecraft => common}/ic2/api/item/IMetalArmor.java (100%) rename {src/minecraft => common}/ic2/api/item/ISpecialElectricItem.java (100%) rename {src/minecraft => common}/ic2/api/item/ITerraformingBP.java (100%) rename {src/minecraft => common}/ic2/api/item/ItemWrapper.java (100%) rename {src/minecraft => common}/ic2/api/item/Items.java (100%) rename {src/minecraft => common}/ic2/api/network/INetworkClientTileEntityEventListener.java (100%) rename {src/minecraft => common}/ic2/api/network/INetworkDataProvider.java (100%) rename {src/minecraft => common}/ic2/api/network/INetworkItemEventListener.java (100%) rename {src/minecraft => common}/ic2/api/network/INetworkTileEntityEventListener.java (100%) rename {src/minecraft => common}/ic2/api/network/INetworkUpdateListener.java (100%) rename {src/minecraft => common}/ic2/api/network/NetworkHelper.java (100%) rename {src/minecraft => common}/ic2/api/reactor/IC2Reactor.java (100%) rename {src/minecraft => common}/ic2/api/reactor/IReactor.java (100%) rename {src/minecraft => common}/ic2/api/reactor/IReactorChamber.java (100%) rename {src/minecraft => common}/ic2/api/reactor/IReactorComponent.java (100%) rename {src/minecraft => common}/ic2/api/recipe/ICraftingRecipeManager.java (100%) rename {src/minecraft => common}/ic2/api/recipe/IListRecipeManager.java (100%) rename {src/minecraft => common}/ic2/api/recipe/IMachineRecipeManager.java (100%) rename {src/minecraft => common}/ic2/api/recipe/Recipes.java (100%) rename {src/minecraft => common}/ic2/api/tile/ExplosionWhitelist.java (100%) rename {src/minecraft => common}/ic2/api/tile/IEnergyStorage.java (100%) rename {src/minecraft => common}/ic2/api/tile/IWrenchable.java (100%) rename {src/minecraft => common}/mekanism/api/EnergizedItemManager.java (100%) rename {src/minecraft => common}/mekanism/api/EnumColor.java (100%) rename {src/minecraft => common}/mekanism/api/EnumGas.java (100%) rename {src/minecraft => common}/mekanism/api/GasNetwork.java (100%) rename {src/minecraft => common}/mekanism/api/GasTransmission.java (100%) rename {src/minecraft => common}/mekanism/api/IAccessibleGui.java (100%) rename {src/minecraft => common}/mekanism/api/ICableOutputter.java (100%) rename {src/minecraft => common}/mekanism/api/IConfigurable.java (100%) rename {src/minecraft => common}/mekanism/api/IEnergizedItem.java (100%) rename {src/minecraft => common}/mekanism/api/IGasAcceptor.java (100%) rename {src/minecraft => common}/mekanism/api/IGasStorage.java (100%) rename {src/minecraft => common}/mekanism/api/IPressurizedTube.java (100%) rename {src/minecraft => common}/mekanism/api/IStorageTank.java (100%) rename {src/minecraft => common}/mekanism/api/IStrictEnergyAcceptor.java (100%) rename {src/minecraft => common}/mekanism/api/IStrictEnergyStorage.java (100%) rename {src/minecraft => common}/mekanism/api/ITubeConnection.java (100%) rename {src/minecraft => common}/mekanism/api/IUpgradeManagement.java (100%) rename {src/minecraft => common}/mekanism/api/InfuseObject.java (100%) rename {src/minecraft => common}/mekanism/api/InfuseRegistry.java (100%) rename {src/minecraft => common}/mekanism/api/InfuseType.java (100%) rename {src/minecraft => common}/mekanism/api/InfusionInput.java (100%) rename {src/minecraft => common}/mekanism/api/InfusionOutput.java (100%) rename {src/minecraft => common}/mekanism/api/ItemRetriever.java (100%) rename {src/minecraft => common}/mekanism/api/Object3D.java (100%) rename {src/minecraft => common}/mekanism/api/RecipeHelper.java (100%) rename {src/minecraft => common}/mekanism/api/SideData.java (100%) rename {src/minecraft => common}/mekanism/api/TabProxy.java (100%) rename {src/minecraft => common}/mekanism/client/BasicRenderingHandler.java (100%) rename {src/minecraft => common}/mekanism/client/CapeBufferDownload.java (100%) rename {src/minecraft => common}/mekanism/client/ClientConnectionHandler.java (100%) rename {src/minecraft => common}/mekanism/client/ClientPlayerTickHandler.java (100%) rename {src/minecraft => common}/mekanism/client/ClientProxy.java (100%) rename {src/minecraft => common}/mekanism/client/ClientTickHandler.java (100%) rename {src/minecraft => common}/mekanism/client/GasClientUpdate.java (100%) rename {src/minecraft => common}/mekanism/client/GuiAdvancedElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/client/GuiCombiner.java (100%) rename {src/minecraft => common}/mekanism/client/GuiControlPanel.java (100%) rename {src/minecraft => common}/mekanism/client/GuiCredits.java (100%) rename {src/minecraft => common}/mekanism/client/GuiCrusher.java (100%) rename {src/minecraft => common}/mekanism/client/GuiDynamicTank.java (100%) rename {src/minecraft => common}/mekanism/client/GuiElectricChest.java (100%) rename {src/minecraft => common}/mekanism/client/GuiElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/client/GuiElectricPump.java (100%) rename {src/minecraft => common}/mekanism/client/GuiEnergizedSmelter.java (100%) rename {src/minecraft => common}/mekanism/client/GuiEnergyCube.java (100%) rename {src/minecraft => common}/mekanism/client/GuiEnrichmentChamber.java (100%) rename {src/minecraft => common}/mekanism/client/GuiFactory.java (100%) rename {src/minecraft => common}/mekanism/client/GuiGasTank.java (100%) rename {src/minecraft => common}/mekanism/client/GuiMetallurgicInfuser.java (100%) rename {src/minecraft => common}/mekanism/client/GuiOsmiumCompressor.java (100%) rename {src/minecraft => common}/mekanism/client/GuiPasswordEnter.java (100%) rename {src/minecraft => common}/mekanism/client/GuiPasswordModify.java (100%) rename {src/minecraft => common}/mekanism/client/GuiPortableTeleporter.java (100%) rename {src/minecraft => common}/mekanism/client/GuiPurificationChamber.java (100%) rename {src/minecraft => common}/mekanism/client/GuiRobitCrafting.java (100%) rename {src/minecraft => common}/mekanism/client/GuiRobitInventory.java (100%) rename {src/minecraft => common}/mekanism/client/GuiRobitMain.java (100%) rename {src/minecraft => common}/mekanism/client/GuiRobitRepair.java (100%) rename {src/minecraft => common}/mekanism/client/GuiRobitSmelting.java (100%) rename {src/minecraft => common}/mekanism/client/GuiStopwatch.java (100%) rename {src/minecraft => common}/mekanism/client/GuiTeleporter.java (100%) rename {src/minecraft => common}/mekanism/client/GuiTheoreticalElementizer.java (100%) rename {src/minecraft => common}/mekanism/client/GuiWeatherOrb.java (100%) rename {src/minecraft => common}/mekanism/client/IHasSound.java (100%) rename {src/minecraft => common}/mekanism/client/ItemRenderingHandler.java (100%) rename {src/minecraft => common}/mekanism/client/LiquidClientUpdate.java (100%) rename {src/minecraft => common}/mekanism/client/MachineRenderingHandler.java (100%) rename {src/minecraft => common}/mekanism/client/MekanismRenderer.java (100%) rename {src/minecraft => common}/mekanism/client/ModelChargepad.java (100%) rename {src/minecraft => common}/mekanism/client/ModelElectricPump.java (100%) rename {src/minecraft => common}/mekanism/client/ModelMetallurgicInfuser.java (100%) rename {src/minecraft => common}/mekanism/client/ModelRobit.java (100%) rename {src/minecraft => common}/mekanism/client/ModelTheoreticalElementizer.java (100%) rename {src/minecraft => common}/mekanism/client/ModelTransmitter.java (100%) rename {src/minecraft => common}/mekanism/client/RenderChargepad.java (100%) rename {src/minecraft => common}/mekanism/client/RenderConfigurableMachine.java (100%) rename {src/minecraft => common}/mekanism/client/RenderDynamicTank.java (100%) rename {src/minecraft => common}/mekanism/client/RenderElectricChest.java (100%) rename {src/minecraft => common}/mekanism/client/RenderElectricPump.java (100%) rename {src/minecraft => common}/mekanism/client/RenderMechanicalPipe.java (100%) rename {src/minecraft => common}/mekanism/client/RenderMetallurgicInfuser.java (100%) rename {src/minecraft => common}/mekanism/client/RenderObsidianTNT.java (100%) rename {src/minecraft => common}/mekanism/client/RenderPressurizedTube.java (100%) rename {src/minecraft => common}/mekanism/client/RenderRobit.java (100%) rename {src/minecraft => common}/mekanism/client/RenderTheoreticalElementizer.java (100%) rename {src/minecraft => common}/mekanism/client/RenderTickHandler.java (100%) rename {src/minecraft => common}/mekanism/client/RenderUniversalCable.java (100%) rename {src/minecraft => common}/mekanism/client/Sound.java (100%) rename {src/minecraft => common}/mekanism/client/SoundHandler.java (100%) rename {src/minecraft => common}/mekanism/client/ThreadClientUpdate.java (100%) rename {src/minecraft => common}/mekanism/client/ThreadTankSparkle.java (100%) rename {src/minecraft => common}/mekanism/client/TransmitterRenderer.java (100%) rename {src/minecraft => common}/mekanism/common/BlockBasic.java (100%) rename {src/minecraft => common}/mekanism/common/BlockBounding.java (100%) rename {src/minecraft => common}/mekanism/common/BlockEnergyCube.java (100%) rename {src/minecraft => common}/mekanism/common/BlockGasTank.java (100%) rename {src/minecraft => common}/mekanism/common/BlockMachine.java (100%) rename {src/minecraft => common}/mekanism/common/BlockObsidianTNT.java (100%) rename {src/minecraft => common}/mekanism/common/BlockOre.java (100%) rename {src/minecraft => common}/mekanism/common/BlockTransmitter.java (100%) rename {src/minecraft => common}/mekanism/common/CableUtils.java (100%) rename {src/minecraft => common}/mekanism/common/ChargeUtils.java (100%) rename {src/minecraft => common}/mekanism/common/CommandMekanism.java (100%) rename {src/minecraft => common}/mekanism/common/CommonPlayerTickHandler.java (100%) rename {src/minecraft => common}/mekanism/common/CommonProxy.java (100%) rename {src/minecraft => common}/mekanism/common/CommonWorldTickHandler.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerAdvancedElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerDynamicTank.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerElectricChest.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerElectricPump.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerEnergyCube.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerFactory.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerGasTank.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerMetallurgicInfuser.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerRobitCrafting.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerRobitInventory.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerRobitMain.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerRobitRepair.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerRobitSmelting.java (100%) rename {src/minecraft => common}/mekanism/common/ContainerTeleporter.java (100%) rename {src/minecraft => common}/mekanism/common/CoreGuiHandler.java (100%) rename {src/minecraft => common}/mekanism/common/CreativeTabMekanism.java (100%) rename {src/minecraft => common}/mekanism/common/DynamicLiquidTank.java (100%) rename {src/minecraft => common}/mekanism/common/DynamicTankCache.java (100%) rename {src/minecraft => common}/mekanism/common/EnergyNetwork.java (100%) rename {src/minecraft => common}/mekanism/common/EntityObsidianTNT.java (100%) rename {src/minecraft => common}/mekanism/common/EntityRobit.java (100%) rename {src/minecraft => common}/mekanism/common/IActiveState.java (100%) rename {src/minecraft => common}/mekanism/common/IBoundingBlock.java (100%) rename {src/minecraft => common}/mekanism/common/IC2EnergyHandler.java (100%) rename {src/minecraft => common}/mekanism/common/IElectricChest.java (100%) rename {src/minecraft => common}/mekanism/common/IElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/common/IEnergyCube.java (100%) rename {src/minecraft => common}/mekanism/common/IFactory.java (100%) rename {src/minecraft => common}/mekanism/common/IMechanicalPipe.java (100%) rename {src/minecraft => common}/mekanism/common/IModule.java (100%) rename {src/minecraft => common}/mekanism/common/ISpecialBounds.java (100%) rename {src/minecraft => common}/mekanism/common/ISustainedInventory.java (100%) rename {src/minecraft => common}/mekanism/common/ISustainedTank.java (100%) rename {src/minecraft => common}/mekanism/common/ITileNetwork.java (100%) rename {src/minecraft => common}/mekanism/common/IUniversalCable.java (100%) rename {src/minecraft => common}/mekanism/common/InventoryElectricChest.java (100%) rename {src/minecraft => common}/mekanism/common/ItemAtomicDisassembler.java (100%) rename {src/minecraft => common}/mekanism/common/ItemBlockBasic.java (100%) rename {src/minecraft => common}/mekanism/common/ItemBlockEnergyCube.java (100%) rename {src/minecraft => common}/mekanism/common/ItemBlockMachine.java (100%) rename {src/minecraft => common}/mekanism/common/ItemBlockOre.java (100%) rename {src/minecraft => common}/mekanism/common/ItemBlockTransmitter.java (100%) rename {src/minecraft => common}/mekanism/common/ItemClump.java (100%) rename {src/minecraft => common}/mekanism/common/ItemConfigurator.java (100%) rename {src/minecraft => common}/mekanism/common/ItemDirtyDust.java (100%) rename {src/minecraft => common}/mekanism/common/ItemDust.java (100%) rename {src/minecraft => common}/mekanism/common/ItemElectricBow.java (100%) rename {src/minecraft => common}/mekanism/common/ItemEnergized.java (100%) rename {src/minecraft => common}/mekanism/common/ItemIngot.java (100%) rename {src/minecraft => common}/mekanism/common/ItemMachineUpgrade.java (100%) rename {src/minecraft => common}/mekanism/common/ItemMekanism.java (100%) rename {src/minecraft => common}/mekanism/common/ItemPortableTeleporter.java (100%) rename {src/minecraft => common}/mekanism/common/ItemRobit.java (100%) rename {src/minecraft => common}/mekanism/common/ItemStopwatch.java (100%) rename {src/minecraft => common}/mekanism/common/ItemStorageTank.java (100%) rename {src/minecraft => common}/mekanism/common/ItemWeatherOrb.java (100%) rename {src/minecraft => common}/mekanism/common/LinkedPowerProvider.java (100%) rename {src/minecraft => common}/mekanism/common/LiquidNetwork.java (100%) rename {src/minecraft => common}/mekanism/common/LiquidSlot.java (100%) rename {src/minecraft => common}/mekanism/common/Mekanism.java (100%) rename {src/minecraft => common}/mekanism/common/MekanismHooks.java (100%) rename {src/minecraft => common}/mekanism/common/MekanismRecipe.java (100%) rename {src/minecraft => common}/mekanism/common/MekanismUtils.java (100%) rename {src/minecraft => common}/mekanism/common/OreHandler.java (100%) rename {src/minecraft => common}/mekanism/common/PacketHandler.java (100%) rename {src/minecraft => common}/mekanism/common/PipeUtils.java (100%) rename {src/minecraft => common}/mekanism/common/RecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/common/RobitAIFollow.java (100%) rename {src/minecraft => common}/mekanism/common/SlotElectricChest.java (100%) rename {src/minecraft => common}/mekanism/common/SlotEnergy.java (100%) rename {src/minecraft => common}/mekanism/common/SlotMachineUpgrade.java (100%) rename {src/minecraft => common}/mekanism/common/SlotOutput.java (100%) rename {src/minecraft => common}/mekanism/common/SlotStorageTank.java (100%) rename {src/minecraft => common}/mekanism/common/SynchronizedTankData.java (100%) rename {src/minecraft => common}/mekanism/common/TankUpdateProtocol.java (100%) rename {src/minecraft => common}/mekanism/common/Teleporter.java (100%) rename {src/minecraft => common}/mekanism/common/ThreadGetData.java (100%) rename {src/minecraft => common}/mekanism/common/Tier.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityAdvancedElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityAdvancedFactory.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityBasicBlock.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityBasicMachine.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityBoundingBlock.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityChargepad.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityCombiner.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityContainerBlock.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityControlPanel.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityCrusher.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityDynamicTank.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityDynamicValve.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityElectricBlock.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityElectricChest.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityElectricMachine.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityElectricPump.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityEliteFactory.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityEnergizedSmelter.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityEnergyCube.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityEnrichmentChamber.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityFactory.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityGasTank.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityMechanicalPipe.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityMetallurgicInfuser.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityOsmiumCompressor.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityPressurizedTube.java (64%) rename {src/minecraft => common}/mekanism/common/TileEntityPurificationChamber.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityTeleporter.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityTheoreticalElementizer.java (100%) rename {src/minecraft => common}/mekanism/common/TileEntityUniversalCable.java (100%) rename {src/minecraft => common}/mekanism/common/Version.java (100%) rename {src/minecraft => common}/mekanism/common/network/IMekanismPacket.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketConfiguratorState.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketControlPanel.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketDataRequest.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketDigitUpdate.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketElectricBowState.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketElectricChest.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketPortableTeleport.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketPortalFX.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketRobit.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketStatusUpdate.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketTileEntity.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketTime.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketTransmitterTransferUpdate.java (100%) rename {src/minecraft => common}/mekanism/common/network/PacketWeather.java (100%) rename {src/minecraft => common}/mekanism/generators/client/BlockRenderingHandler.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GeneratorsClientProxy.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GuiBioGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GuiElectrolyticSeparator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GuiHeatGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GuiHydrogenGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GuiSolarGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/GuiWindTurbine.java (100%) rename {src/minecraft => common}/mekanism/generators/client/ModelAdvancedSolarGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/ModelBioGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/ModelElectrolyticSeparator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/ModelHeatGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/ModelHydrogenGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/ModelWindTurbine.java (100%) rename {src/minecraft => common}/mekanism/generators/client/RenderAdvancedSolarGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/RenderBioGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/RenderElectrolyticSeparator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/RenderHeatGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/RenderHydrogenGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/client/RenderWindTurbine.java (100%) rename {src/minecraft => common}/mekanism/generators/common/BlockGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ContainerBioGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ContainerElectrolyticSeparator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ContainerHeatGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ContainerHydrogenGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ContainerSolarGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ContainerWindTurbine.java (100%) rename {src/minecraft => common}/mekanism/generators/common/GeneratorsCommonProxy.java (100%) rename {src/minecraft => common}/mekanism/generators/common/GeneratorsGuiHandler.java (100%) rename {src/minecraft => common}/mekanism/generators/common/ItemBlockGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/MekanismGenerators.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityBioGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityElectrolyticSeparator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityHeatGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityHydrogenGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntitySolarGenerator.java (100%) rename {src/minecraft => common}/mekanism/generators/common/TileEntityWindTurbine.java (100%) rename {src/minecraft => common}/mekanism/generators/common/network/PacketElectrolyticSeparatorParticle.java (100%) rename {src/minecraft => common}/mekanism/nei/AdvancedMachineRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/CombinerRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/CrusherRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/EnrichmentChamberRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/MachineRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/MekanismRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/MetallurgicInfuserRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/NEIMekanismConfig.java (100%) rename {src/minecraft => common}/mekanism/nei/OsmiumCompressorRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/nei/PurificationChamberRecipeHandler.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismArmor.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismAxe.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismHoe.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismPaxel.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismPickaxe.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismShovel.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismSword.java (100%) rename {src/minecraft => common}/mekanism/tools/common/ItemMekanismTool.java (100%) rename {src/minecraft => common}/mekanism/tools/common/MekanismTools.java (100%) rename {src/minecraft => common}/micdoodle8/mods/galacticraft/API/IEntityBreathable.java (100%) rename {src/minecraft => common}/micdoodle8/mods/galacticraft/API/ISolarLevel.java (100%) rename {src/minecraft => common}/rebelkeithy/mods/metallurgy/api/IMetalSet.java (100%) rename {src/minecraft => common}/rebelkeithy/mods/metallurgy/api/IOreInfo.java (100%) rename {src/minecraft => common}/rebelkeithy/mods/metallurgy/api/MetallurgyAPI.java (100%) rename {src/minecraft => common}/rebelkeithy/mods/metallurgy/api/OreType.java (100%) rename {src/minecraft => common}/thermalexpansion/api/ThermalExpansionInfo.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/CraftingHelpers.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/CraftingManagers.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ICrucibleManager.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ICrucibleRecipe.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/IFurnaceManager.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/IFurnaceRecipe.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/IPulverizerManager.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/IPulverizerRecipe.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ISawmillManager.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ISawmillRecipe.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ISmelterManager.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ISmelterRecipe.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ITransposerManager.java (100%) rename {src/minecraft => common}/thermalexpansion/api/crafting/ITransposerRecipe.java (100%) rename {src/minecraft => common}/thermalexpansion/api/item/IChargeableItem.java (100%) rename {src/minecraft => common}/thermalexpansion/api/item/ItemRegistry.java (100%) rename {src/minecraft => common}/thermalexpansion/api/tileentity/IAccessControl.java (100%) rename {src/minecraft => common}/thermalexpansion/api/tileentity/IReconfigurableFacing.java (100%) rename {src/minecraft => common}/thermalexpansion/api/tileentity/IReconfigurableSides.java (100%) rename {src/minecraft => common}/thermalexpansion/api/tileentity/IRedstoneControl.java (100%) rename {src/minecraft => common}/thermalexpansion/api/tileentity/ISidedBlockTexture.java (100%) rename {src/minecraft => common}/thermalexpansion/api/tileentity/ITesseract.java (100%) rename {src/minecraft => common}/universalelectricity/core/UniversalElectricity.java (100%) rename {src/minecraft => common}/universalelectricity/core/block/IConductor.java (100%) rename {src/minecraft => common}/universalelectricity/core/block/IConnectionProvider.java (100%) rename {src/minecraft => common}/universalelectricity/core/block/IConnector.java (100%) rename {src/minecraft => common}/universalelectricity/core/block/IElectricityStorage.java (100%) rename {src/minecraft => common}/universalelectricity/core/block/INetworkProvider.java (100%) rename {src/minecraft => common}/universalelectricity/core/block/IVoltage.java (100%) rename {src/minecraft => common}/universalelectricity/core/electricity/ElectricityDisplay.java (100%) rename {src/minecraft => common}/universalelectricity/core/electricity/ElectricityNetwork.java (100%) rename {src/minecraft => common}/universalelectricity/core/electricity/ElectricityNetworkHelper.java (100%) rename {src/minecraft => common}/universalelectricity/core/electricity/ElectricityPack.java (100%) rename {src/minecraft => common}/universalelectricity/core/electricity/IConductorRegistry.java (100%) rename {src/minecraft => common}/universalelectricity/core/electricity/IElectricityNetwork.java (100%) rename {src/minecraft => common}/universalelectricity/core/item/ElectricItemHelper.java (100%) rename {src/minecraft => common}/universalelectricity/core/item/IItemElectric.java (100%) rename {src/minecraft => common}/universalelectricity/core/item/IItemElectricityStorage.java (100%) rename {src/minecraft => common}/universalelectricity/core/item/IItemVoltage.java (100%) rename {src/minecraft => common}/universalelectricity/core/item/ItemElectric.java (100%) rename {src/minecraft => common}/universalelectricity/core/path/IPathCallBack.java (100%) rename {src/minecraft => common}/universalelectricity/core/path/Pathfinder.java (100%) rename {src/minecraft => common}/universalelectricity/core/path/PathfinderAStar.java (100%) rename {src/minecraft => common}/universalelectricity/core/path/PathfinderChecker.java (100%) rename {src/minecraft => common}/universalelectricity/core/vector/Vector2.java (100%) rename {src/minecraft => common}/universalelectricity/core/vector/Vector3.java (100%) rename {src/minecraft => common}/universalelectricity/core/vector/VectorHelper.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/CustomDamageSource.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/GuiBase.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/RecipeHelper.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/SlotSpecific.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/TranslationHelper.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/block/BlockAdvanced.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/block/BlockConductor.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/block/BlockRotatable.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/CommandFlag.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/Flag.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/FlagBase.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/FlagRegion.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/FlagRegistry.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/FlagWorld.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/ModFlag.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/flag/NBTFileLoader.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/implement/IDisableable.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/implement/IRedstoneProvider.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/implement/IRedstoneReceptor.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/implement/IRotatable.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/implement/ITier.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/implement/IToolConfigurator.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/multiblock/BlockMulti.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/multiblock/IBlockActivate.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/multiblock/IMultiBlock.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/multiblock/TileEntityMulti.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/network/IPacketReceiver.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/network/PacketManager.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/ore/OreGenBase.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/ore/OreGenReplace.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/ore/OreGenReplaceStone.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/ore/OreGenerator.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/potion/CustomPotion.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/potion/CustomPotionEffect.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/tile/TileEntityAdvanced.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/tile/TileEntityConductor.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/tile/TileEntityDisableable.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/tile/TileEntityElectrical.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/tile/TileEntityElectricityRunnable.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/tile/TileEntityElectricityStorage.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/vector/Region2.java (100%) rename {src/minecraft => common}/universalelectricity/prefab/vector/Region3.java (100%) rename {bin/minecraft => resources}/armor/bronze_1.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/bronze_2.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/glowstone_1.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/glowstone_2.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/lazuli_1.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/lazuli_2.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/obsidian_1.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/obsidian_2.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/osmium_1.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/osmium_2.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/steel_1.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/armor/steel_2.png (100%) mode change 100755 => 100644 rename {bin/minecraft => resources}/mods/mekanism/gui/GuiBioGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiChamber.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiCombiner.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiCompressor.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiControlPanel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiCrusher.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiDynamicTank.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiElectricChest.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiElectricPump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiElectrolyticSeparator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiElementizer.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiEnergizedSmelter.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiEnergyCube.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiGasTank.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiHeatGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiHydrogenGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiMetallurgicInfuser.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiPasswordEnter.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiPasswordModify.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiPortableTeleporter.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiPurificationChamber.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiRobitCrafting.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiRobitInventory.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiRobitMain.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiRobitRepair.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiRobitSmelting.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiSolarGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiStopwatch.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiTeleporter.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiWeatherOrb.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/GuiWindTurbine.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/factory/GuiAdvancedFactory.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/factory/GuiBasicFactory.png (100%) rename {bin/minecraft => resources}/mods/mekanism/gui/factory/GuiEliteFactory.png (100%) rename {bin/minecraft => resources}/mods/mekanism/infuse/Bio.png (100%) rename {bin/minecraft => resources}/mods/mekanism/infuse/Carbon.png (100%) rename {bin/minecraft => resources}/mods/mekanism/infuse/Diamond.png (100%) rename {bin/minecraft => resources}/mods/mekanism/infuse/Infusions.png (100%) rename {bin/minecraft => resources}/mods/mekanism/infuse/Tin.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/AdvancedSolarGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/BioGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/Chargepad.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/ElectricChest.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/ElectricPump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/ElectrolyticSeparatorHydrogen.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/ElectrolyticSeparatorNone.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/ElectrolyticSeparatorOxygen.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/HeatGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/HeatGeneratorOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/HydrogenGenerator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/MechanicalPipe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/MechanicalPipeActive.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/MetallurgicInfuser.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/PressurizedTube.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/Robit.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/SideConfigOverlay.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/TheoreticalElementizer.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/UniversalCable.png (100%) rename {bin/minecraft => resources}/mods/mekanism/render/WindTurbine.png (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/BioGenerator.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Chamber.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Chargepad.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Combiner.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Compressor.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Crusher.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Elementizer.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/HeatGenerator.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/HydrogenGenerator.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/MetallurgicInfuser.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/PurificationChamber.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/Smelter.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/SolarGenerator.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/WindTurbine.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/cj/CJ_1.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/cj/CJ_2.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/sound/cj/CJ_3.ogg (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/AdvancedFactoryFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/AdvancedFactorySide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/AdvancedFactoryTop.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/BasicFactoryFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/BasicFactorySide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/BasicFactoryTop.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/BronzeBlock.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CoalBlock.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CombinerFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CombinerFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CombinerFrontOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CrusherFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CrusherFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/CrusherFrontOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/DynamicGlass.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/DynamicTank.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/DynamicValve.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/ElectricPumpFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/ElectricPumpSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EliteFactoryFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EliteFactorySide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EliteFactoryTop.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EnergizedSmelterFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/EnrichmentChamberFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/GasTankFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/GasTankSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/GasTankTop.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/ObsidianTNTBottom.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/ObsidianTNTSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/ObsidianTNTTop.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OsmiumBlock.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OsmiumOre.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayAqua.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayBlack.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayBrightGreen.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayDarkAqua.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayDarkBlue.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayDarkGreen.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayDarkGrey.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayDarkRed.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayGrey.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayIndigo.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayOrange.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayPink.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayPurple.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayRed.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayWhite.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/OverlayYellow.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/PurificationChamberFrontOn.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/PurificationChamberFrontOn.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/RefinedGlowstone.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/RefinedObsidian.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/SolarGeneratorFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/SolarGeneratorSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/SolarGeneratorTop.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/SteelBlock.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/SteelCasing.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/Teleporter.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/TeleporterFrame.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/AtomicCore.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/AtomicDisassembler.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BioFuel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeAxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeBoots.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeChestplate.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeHelmet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeHoe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeIngot.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeLeggings.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzePaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzePickaxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeShovel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/BronzeSword.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/CompressedCarbon.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/Configurator.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ControlCircuit.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/CopperClump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/CopperDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DiamondDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DiamondPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtyCopperDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtyGoldDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtyIronDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtyObsidianDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtyOsmiumDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtySilverDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/DirtyTinDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ElectricBow.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ElectrolyticCore.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/EnergyTablet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/EnergyUpgrade.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/EnrichedAlloy.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/EnrichedIron.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneAxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneBoots.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneChestplate.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneHelmet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneHoe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneIngot.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneLeggings.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstonePaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstonePickaxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneShovel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GlowstoneSword.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GoldClump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GoldDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/GoldPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/IronClump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/IronDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/IronPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliAxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliBoots.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliChestplate.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliHelmet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliHoe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliLeggings.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliPickaxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliShovel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LazuliSword.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LiquidEnergy.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LiquidEnergy.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LiquidHydrogen.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LiquidHydrogen.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LiquidOxygen.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/LiquidOxygen.txt (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianAxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianBoots.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianChestplate.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianHelmet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianHoe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianIngot.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianLeggings.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianPickaxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianShovel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/ObsidianSword.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumAxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumBoots.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumChestplate.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumClump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumHelmet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumHoe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumIngot.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumLeggings.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumPickaxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumShovel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/OsmiumSword.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/PortableTeleporter.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SilverClump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SilverDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SolarPanel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SpeedUpgrade.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelAxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelBoots.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelChestplate.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelHelmet.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelHoe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelIngot.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelLeggings.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelPaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelPickaxe.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelShovel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/SteelSword.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/StonePaxel.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/Stopwatch.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/StorageTank.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/TeleportationCore.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/TinClump.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/TinDust.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/WeatherOrb.png (100%) rename {bin/minecraft => resources}/mods/mekanism/textures/items/WoodPaxel.png (100%) diff --git a/src/minecraft/buildcraft/api/blueprints/BlockSignature.java b/common/buildcraft/api/blueprints/BlockSignature.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/BlockSignature.java rename to common/buildcraft/api/blueprints/BlockSignature.java diff --git a/src/minecraft/buildcraft/api/blueprints/BlueprintManager.java b/common/buildcraft/api/blueprints/BlueprintManager.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/BlueprintManager.java rename to common/buildcraft/api/blueprints/BlueprintManager.java diff --git a/src/minecraft/buildcraft/api/blueprints/BptBlock.java b/common/buildcraft/api/blueprints/BptBlock.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/BptBlock.java rename to common/buildcraft/api/blueprints/BptBlock.java diff --git a/src/minecraft/buildcraft/api/blueprints/BptBlockUtils.java b/common/buildcraft/api/blueprints/BptBlockUtils.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/BptBlockUtils.java rename to common/buildcraft/api/blueprints/BptBlockUtils.java diff --git a/src/minecraft/buildcraft/api/blueprints/BptSlotInfo.java b/common/buildcraft/api/blueprints/BptSlotInfo.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/BptSlotInfo.java rename to common/buildcraft/api/blueprints/BptSlotInfo.java diff --git a/src/minecraft/buildcraft/api/blueprints/IBptContext.java b/common/buildcraft/api/blueprints/IBptContext.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/IBptContext.java rename to common/buildcraft/api/blueprints/IBptContext.java diff --git a/src/minecraft/buildcraft/api/blueprints/ItemSignature.java b/common/buildcraft/api/blueprints/ItemSignature.java similarity index 100% rename from src/minecraft/buildcraft/api/blueprints/ItemSignature.java rename to common/buildcraft/api/blueprints/ItemSignature.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockBed.java b/common/buildcraft/api/bptblocks/BptBlockBed.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockBed.java rename to common/buildcraft/api/bptblocks/BptBlockBed.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockCustomStack.java b/common/buildcraft/api/bptblocks/BptBlockCustomStack.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockCustomStack.java rename to common/buildcraft/api/bptblocks/BptBlockCustomStack.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockDelegate.java b/common/buildcraft/api/bptblocks/BptBlockDelegate.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockDelegate.java rename to common/buildcraft/api/bptblocks/BptBlockDelegate.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockDirt.java b/common/buildcraft/api/bptblocks/BptBlockDirt.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockDirt.java rename to common/buildcraft/api/bptblocks/BptBlockDirt.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockDoor.java b/common/buildcraft/api/bptblocks/BptBlockDoor.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockDoor.java rename to common/buildcraft/api/bptblocks/BptBlockDoor.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockIgnore.java b/common/buildcraft/api/bptblocks/BptBlockIgnore.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockIgnore.java rename to common/buildcraft/api/bptblocks/BptBlockIgnore.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java b/common/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java rename to common/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockInventory.java b/common/buildcraft/api/bptblocks/BptBlockInventory.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockInventory.java rename to common/buildcraft/api/bptblocks/BptBlockInventory.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockLever.java b/common/buildcraft/api/bptblocks/BptBlockLever.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockLever.java rename to common/buildcraft/api/bptblocks/BptBlockLever.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockLiquid.java b/common/buildcraft/api/bptblocks/BptBlockLiquid.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockLiquid.java rename to common/buildcraft/api/bptblocks/BptBlockLiquid.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockPiston.java b/common/buildcraft/api/bptblocks/BptBlockPiston.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockPiston.java rename to common/buildcraft/api/bptblocks/BptBlockPiston.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockPumpkin.java b/common/buildcraft/api/bptblocks/BptBlockPumpkin.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockPumpkin.java rename to common/buildcraft/api/bptblocks/BptBlockPumpkin.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java b/common/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java rename to common/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockRotateInventory.java b/common/buildcraft/api/bptblocks/BptBlockRotateInventory.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockRotateInventory.java rename to common/buildcraft/api/bptblocks/BptBlockRotateInventory.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockRotateMeta.java b/common/buildcraft/api/bptblocks/BptBlockRotateMeta.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockRotateMeta.java rename to common/buildcraft/api/bptblocks/BptBlockRotateMeta.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockSign.java b/common/buildcraft/api/bptblocks/BptBlockSign.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockSign.java rename to common/buildcraft/api/bptblocks/BptBlockSign.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockStairs.java b/common/buildcraft/api/bptblocks/BptBlockStairs.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockStairs.java rename to common/buildcraft/api/bptblocks/BptBlockStairs.java diff --git a/src/minecraft/buildcraft/api/bptblocks/BptBlockWallSide.java b/common/buildcraft/api/bptblocks/BptBlockWallSide.java similarity index 100% rename from src/minecraft/buildcraft/api/bptblocks/BptBlockWallSide.java rename to common/buildcraft/api/bptblocks/BptBlockWallSide.java diff --git a/src/minecraft/buildcraft/api/core/BuildCraftAPI.java b/common/buildcraft/api/core/BuildCraftAPI.java similarity index 100% rename from src/minecraft/buildcraft/api/core/BuildCraftAPI.java rename to common/buildcraft/api/core/BuildCraftAPI.java diff --git a/src/minecraft/buildcraft/api/core/IAreaProvider.java b/common/buildcraft/api/core/IAreaProvider.java similarity index 100% rename from src/minecraft/buildcraft/api/core/IAreaProvider.java rename to common/buildcraft/api/core/IAreaProvider.java diff --git a/src/minecraft/buildcraft/api/core/IBox.java b/common/buildcraft/api/core/IBox.java similarity index 100% rename from src/minecraft/buildcraft/api/core/IBox.java rename to common/buildcraft/api/core/IBox.java diff --git a/src/minecraft/buildcraft/api/core/IIconProvider.java b/common/buildcraft/api/core/IIconProvider.java similarity index 100% rename from src/minecraft/buildcraft/api/core/IIconProvider.java rename to common/buildcraft/api/core/IIconProvider.java diff --git a/src/minecraft/buildcraft/api/core/LaserKind.java b/common/buildcraft/api/core/LaserKind.java similarity index 100% rename from src/minecraft/buildcraft/api/core/LaserKind.java rename to common/buildcraft/api/core/LaserKind.java diff --git a/src/minecraft/buildcraft/api/core/Position.java b/common/buildcraft/api/core/Position.java similarity index 100% rename from src/minecraft/buildcraft/api/core/Position.java rename to common/buildcraft/api/core/Position.java diff --git a/src/minecraft/buildcraft/api/core/SafeTimeTracker.java b/common/buildcraft/api/core/SafeTimeTracker.java similarity index 100% rename from src/minecraft/buildcraft/api/core/SafeTimeTracker.java rename to common/buildcraft/api/core/SafeTimeTracker.java diff --git a/src/minecraft/buildcraft/api/filler/FillerManager.java b/common/buildcraft/api/filler/FillerManager.java similarity index 100% rename from src/minecraft/buildcraft/api/filler/FillerManager.java rename to common/buildcraft/api/filler/FillerManager.java diff --git a/src/minecraft/buildcraft/api/filler/IFillerPattern.java b/common/buildcraft/api/filler/IFillerPattern.java similarity index 100% rename from src/minecraft/buildcraft/api/filler/IFillerPattern.java rename to common/buildcraft/api/filler/IFillerPattern.java diff --git a/src/minecraft/buildcraft/api/filler/IFillerRegistry.java b/common/buildcraft/api/filler/IFillerRegistry.java similarity index 100% rename from src/minecraft/buildcraft/api/filler/IFillerRegistry.java rename to common/buildcraft/api/filler/IFillerRegistry.java diff --git a/src/minecraft/buildcraft/api/fuels/IronEngineCoolant.java b/common/buildcraft/api/fuels/IronEngineCoolant.java similarity index 100% rename from src/minecraft/buildcraft/api/fuels/IronEngineCoolant.java rename to common/buildcraft/api/fuels/IronEngineCoolant.java diff --git a/src/minecraft/buildcraft/api/fuels/IronEngineFuel.java b/common/buildcraft/api/fuels/IronEngineFuel.java similarity index 100% rename from src/minecraft/buildcraft/api/fuels/IronEngineFuel.java rename to common/buildcraft/api/fuels/IronEngineFuel.java diff --git a/src/minecraft/buildcraft/api/gates/ActionManager.java b/common/buildcraft/api/gates/ActionManager.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/ActionManager.java rename to common/buildcraft/api/gates/ActionManager.java diff --git a/src/minecraft/buildcraft/api/gates/IAction.java b/common/buildcraft/api/gates/IAction.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/IAction.java rename to common/buildcraft/api/gates/IAction.java diff --git a/src/minecraft/buildcraft/api/gates/IActionProvider.java b/common/buildcraft/api/gates/IActionProvider.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/IActionProvider.java rename to common/buildcraft/api/gates/IActionProvider.java diff --git a/src/minecraft/buildcraft/api/gates/IActionReceptor.java b/common/buildcraft/api/gates/IActionReceptor.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/IActionReceptor.java rename to common/buildcraft/api/gates/IActionReceptor.java diff --git a/src/minecraft/buildcraft/api/gates/IOverrideDefaultTriggers.java b/common/buildcraft/api/gates/IOverrideDefaultTriggers.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/IOverrideDefaultTriggers.java rename to common/buildcraft/api/gates/IOverrideDefaultTriggers.java diff --git a/src/minecraft/buildcraft/api/gates/ITrigger.java b/common/buildcraft/api/gates/ITrigger.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/ITrigger.java rename to common/buildcraft/api/gates/ITrigger.java diff --git a/src/minecraft/buildcraft/api/gates/ITriggerParameter.java b/common/buildcraft/api/gates/ITriggerParameter.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/ITriggerParameter.java rename to common/buildcraft/api/gates/ITriggerParameter.java diff --git a/src/minecraft/buildcraft/api/gates/ITriggerProvider.java b/common/buildcraft/api/gates/ITriggerProvider.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/ITriggerProvider.java rename to common/buildcraft/api/gates/ITriggerProvider.java diff --git a/src/minecraft/buildcraft/api/gates/TriggerParameter.java b/common/buildcraft/api/gates/TriggerParameter.java similarity index 100% rename from src/minecraft/buildcraft/api/gates/TriggerParameter.java rename to common/buildcraft/api/gates/TriggerParameter.java diff --git a/src/minecraft/buildcraft/api/inventory/ISecuredInventory.java b/common/buildcraft/api/inventory/ISecuredInventory.java similarity index 100% rename from src/minecraft/buildcraft/api/inventory/ISecuredInventory.java rename to common/buildcraft/api/inventory/ISecuredInventory.java diff --git a/src/minecraft/buildcraft/api/inventory/ISelectiveInventory.java b/common/buildcraft/api/inventory/ISelectiveInventory.java similarity index 100% rename from src/minecraft/buildcraft/api/inventory/ISelectiveInventory.java rename to common/buildcraft/api/inventory/ISelectiveInventory.java diff --git a/src/minecraft/buildcraft/api/inventory/ISpecialInventory.java b/common/buildcraft/api/inventory/ISpecialInventory.java similarity index 100% rename from src/minecraft/buildcraft/api/inventory/ISpecialInventory.java rename to common/buildcraft/api/inventory/ISpecialInventory.java diff --git a/src/minecraft/buildcraft/api/power/IPowerProvider.java b/common/buildcraft/api/power/IPowerProvider.java similarity index 100% rename from src/minecraft/buildcraft/api/power/IPowerProvider.java rename to common/buildcraft/api/power/IPowerProvider.java diff --git a/src/minecraft/buildcraft/api/power/IPowerReceptor.java b/common/buildcraft/api/power/IPowerReceptor.java similarity index 100% rename from src/minecraft/buildcraft/api/power/IPowerReceptor.java rename to common/buildcraft/api/power/IPowerReceptor.java diff --git a/src/minecraft/buildcraft/api/power/PowerFramework.java b/common/buildcraft/api/power/PowerFramework.java similarity index 100% rename from src/minecraft/buildcraft/api/power/PowerFramework.java rename to common/buildcraft/api/power/PowerFramework.java diff --git a/src/minecraft/buildcraft/api/power/PowerProvider.java b/common/buildcraft/api/power/PowerProvider.java similarity index 100% rename from src/minecraft/buildcraft/api/power/PowerProvider.java rename to common/buildcraft/api/power/PowerProvider.java diff --git a/src/minecraft/buildcraft/api/recipes/AssemblyRecipe.java b/common/buildcraft/api/recipes/AssemblyRecipe.java similarity index 100% rename from src/minecraft/buildcraft/api/recipes/AssemblyRecipe.java rename to common/buildcraft/api/recipes/AssemblyRecipe.java diff --git a/src/minecraft/buildcraft/api/recipes/RefineryRecipe.java b/common/buildcraft/api/recipes/RefineryRecipe.java similarity index 100% rename from src/minecraft/buildcraft/api/recipes/RefineryRecipe.java rename to common/buildcraft/api/recipes/RefineryRecipe.java diff --git a/src/minecraft/buildcraft/api/tools/IToolPipette.java b/common/buildcraft/api/tools/IToolPipette.java similarity index 100% rename from src/minecraft/buildcraft/api/tools/IToolPipette.java rename to common/buildcraft/api/tools/IToolPipette.java diff --git a/src/minecraft/buildcraft/api/tools/IToolWrench.java b/common/buildcraft/api/tools/IToolWrench.java similarity index 100% rename from src/minecraft/buildcraft/api/tools/IToolWrench.java rename to common/buildcraft/api/tools/IToolWrench.java diff --git a/src/minecraft/buildcraft/api/transport/FacadeManager.java b/common/buildcraft/api/transport/FacadeManager.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/FacadeManager.java rename to common/buildcraft/api/transport/FacadeManager.java diff --git a/src/minecraft/buildcraft/api/transport/IExtractionHandler.java b/common/buildcraft/api/transport/IExtractionHandler.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IExtractionHandler.java rename to common/buildcraft/api/transport/IExtractionHandler.java diff --git a/src/minecraft/buildcraft/api/transport/IPassiveItemContribution.java b/common/buildcraft/api/transport/IPassiveItemContribution.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IPassiveItemContribution.java rename to common/buildcraft/api/transport/IPassiveItemContribution.java diff --git a/src/minecraft/buildcraft/api/transport/IPipe.java b/common/buildcraft/api/transport/IPipe.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IPipe.java rename to common/buildcraft/api/transport/IPipe.java diff --git a/src/minecraft/buildcraft/api/transport/IPipeConnection.java b/common/buildcraft/api/transport/IPipeConnection.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IPipeConnection.java rename to common/buildcraft/api/transport/IPipeConnection.java diff --git a/src/minecraft/buildcraft/api/transport/IPipeEntry.java b/common/buildcraft/api/transport/IPipeEntry.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IPipeEntry.java rename to common/buildcraft/api/transport/IPipeEntry.java diff --git a/src/minecraft/buildcraft/api/transport/IPipeTile.java b/common/buildcraft/api/transport/IPipeTile.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IPipeTile.java rename to common/buildcraft/api/transport/IPipeTile.java diff --git a/src/minecraft/buildcraft/api/transport/IPipedItem.java b/common/buildcraft/api/transport/IPipedItem.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/IPipedItem.java rename to common/buildcraft/api/transport/IPipedItem.java diff --git a/src/minecraft/buildcraft/api/transport/ISolidSideTile.java b/common/buildcraft/api/transport/ISolidSideTile.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/ISolidSideTile.java rename to common/buildcraft/api/transport/ISolidSideTile.java diff --git a/src/minecraft/buildcraft/api/transport/PipeManager.java b/common/buildcraft/api/transport/PipeManager.java similarity index 100% rename from src/minecraft/buildcraft/api/transport/PipeManager.java rename to common/buildcraft/api/transport/PipeManager.java diff --git a/src/minecraft/dan200/computer/api/ComputerCraftAPI.java b/common/dan200/computer/api/ComputerCraftAPI.java similarity index 100% rename from src/minecraft/dan200/computer/api/ComputerCraftAPI.java rename to common/dan200/computer/api/ComputerCraftAPI.java diff --git a/src/minecraft/dan200/computer/api/IComputerAccess.java b/common/dan200/computer/api/IComputerAccess.java similarity index 100% rename from src/minecraft/dan200/computer/api/IComputerAccess.java rename to common/dan200/computer/api/IComputerAccess.java diff --git a/src/minecraft/dan200/computer/api/IHostedPeripheral.java b/common/dan200/computer/api/IHostedPeripheral.java similarity index 100% rename from src/minecraft/dan200/computer/api/IHostedPeripheral.java rename to common/dan200/computer/api/IHostedPeripheral.java diff --git a/src/minecraft/dan200/computer/api/IMedia.java b/common/dan200/computer/api/IMedia.java similarity index 100% rename from src/minecraft/dan200/computer/api/IMedia.java rename to common/dan200/computer/api/IMedia.java diff --git a/src/minecraft/dan200/computer/api/IPeripheral.java b/common/dan200/computer/api/IPeripheral.java similarity index 100% rename from src/minecraft/dan200/computer/api/IPeripheral.java rename to common/dan200/computer/api/IPeripheral.java diff --git a/src/minecraft/dan200/computer/api/IPeripheralHandler.java b/common/dan200/computer/api/IPeripheralHandler.java similarity index 100% rename from src/minecraft/dan200/computer/api/IPeripheralHandler.java rename to common/dan200/computer/api/IPeripheralHandler.java diff --git a/src/minecraft/dan200/turtle/api/ITurtleAccess.java b/common/dan200/turtle/api/ITurtleAccess.java similarity index 100% rename from src/minecraft/dan200/turtle/api/ITurtleAccess.java rename to common/dan200/turtle/api/ITurtleAccess.java diff --git a/src/minecraft/dan200/turtle/api/ITurtleCommandHandler.java b/common/dan200/turtle/api/ITurtleCommandHandler.java similarity index 100% rename from src/minecraft/dan200/turtle/api/ITurtleCommandHandler.java rename to common/dan200/turtle/api/ITurtleCommandHandler.java diff --git a/src/minecraft/dan200/turtle/api/ITurtleUpgrade.java b/common/dan200/turtle/api/ITurtleUpgrade.java similarity index 100% rename from src/minecraft/dan200/turtle/api/ITurtleUpgrade.java rename to common/dan200/turtle/api/ITurtleUpgrade.java diff --git a/src/minecraft/dan200/turtle/api/TurtleAPI.java b/common/dan200/turtle/api/TurtleAPI.java similarity index 100% rename from src/minecraft/dan200/turtle/api/TurtleAPI.java rename to common/dan200/turtle/api/TurtleAPI.java diff --git a/src/minecraft/dan200/turtle/api/TurtleSide.java b/common/dan200/turtle/api/TurtleSide.java similarity index 100% rename from src/minecraft/dan200/turtle/api/TurtleSide.java rename to common/dan200/turtle/api/TurtleSide.java diff --git a/src/minecraft/dan200/turtle/api/TurtleUpgradeType.java b/common/dan200/turtle/api/TurtleUpgradeType.java similarity index 100% rename from src/minecraft/dan200/turtle/api/TurtleUpgradeType.java rename to common/dan200/turtle/api/TurtleUpgradeType.java diff --git a/src/minecraft/dan200/turtle/api/TurtleVerb.java b/common/dan200/turtle/api/TurtleVerb.java similarity index 100% rename from src/minecraft/dan200/turtle/api/TurtleVerb.java rename to common/dan200/turtle/api/TurtleVerb.java diff --git a/src/minecraft/ic2/api/Direction.java b/common/ic2/api/Direction.java similarity index 100% rename from src/minecraft/ic2/api/Direction.java rename to common/ic2/api/Direction.java diff --git a/src/minecraft/ic2/api/crops/BaseSeed.java b/common/ic2/api/crops/BaseSeed.java similarity index 100% rename from src/minecraft/ic2/api/crops/BaseSeed.java rename to common/ic2/api/crops/BaseSeed.java diff --git a/src/minecraft/ic2/api/crops/CropCard.java b/common/ic2/api/crops/CropCard.java similarity index 100% rename from src/minecraft/ic2/api/crops/CropCard.java rename to common/ic2/api/crops/CropCard.java diff --git a/src/minecraft/ic2/api/crops/Crops.java b/common/ic2/api/crops/Crops.java similarity index 100% rename from src/minecraft/ic2/api/crops/Crops.java rename to common/ic2/api/crops/Crops.java diff --git a/src/minecraft/ic2/api/crops/ICropTile.java b/common/ic2/api/crops/ICropTile.java similarity index 100% rename from src/minecraft/ic2/api/crops/ICropTile.java rename to common/ic2/api/crops/ICropTile.java diff --git a/src/minecraft/ic2/api/energy/EnergyNet.java b/common/ic2/api/energy/EnergyNet.java similarity index 100% rename from src/minecraft/ic2/api/energy/EnergyNet.java rename to common/ic2/api/energy/EnergyNet.java diff --git a/src/minecraft/ic2/api/energy/event/EnergyTileEvent.java b/common/ic2/api/energy/event/EnergyTileEvent.java similarity index 100% rename from src/minecraft/ic2/api/energy/event/EnergyTileEvent.java rename to common/ic2/api/energy/event/EnergyTileEvent.java diff --git a/src/minecraft/ic2/api/energy/event/EnergyTileLoadEvent.java b/common/ic2/api/energy/event/EnergyTileLoadEvent.java similarity index 100% rename from src/minecraft/ic2/api/energy/event/EnergyTileLoadEvent.java rename to common/ic2/api/energy/event/EnergyTileLoadEvent.java diff --git a/src/minecraft/ic2/api/energy/event/EnergyTileSourceEvent.java b/common/ic2/api/energy/event/EnergyTileSourceEvent.java similarity index 100% rename from src/minecraft/ic2/api/energy/event/EnergyTileSourceEvent.java rename to common/ic2/api/energy/event/EnergyTileSourceEvent.java diff --git a/src/minecraft/ic2/api/energy/event/EnergyTileUnloadEvent.java b/common/ic2/api/energy/event/EnergyTileUnloadEvent.java similarity index 100% rename from src/minecraft/ic2/api/energy/event/EnergyTileUnloadEvent.java rename to common/ic2/api/energy/event/EnergyTileUnloadEvent.java diff --git a/src/minecraft/ic2/api/energy/tile/IEnergyAcceptor.java b/common/ic2/api/energy/tile/IEnergyAcceptor.java similarity index 100% rename from src/minecraft/ic2/api/energy/tile/IEnergyAcceptor.java rename to common/ic2/api/energy/tile/IEnergyAcceptor.java diff --git a/src/minecraft/ic2/api/energy/tile/IEnergyConductor.java b/common/ic2/api/energy/tile/IEnergyConductor.java similarity index 100% rename from src/minecraft/ic2/api/energy/tile/IEnergyConductor.java rename to common/ic2/api/energy/tile/IEnergyConductor.java diff --git a/src/minecraft/ic2/api/energy/tile/IEnergyEmitter.java b/common/ic2/api/energy/tile/IEnergyEmitter.java similarity index 100% rename from src/minecraft/ic2/api/energy/tile/IEnergyEmitter.java rename to common/ic2/api/energy/tile/IEnergyEmitter.java diff --git a/src/minecraft/ic2/api/energy/tile/IEnergySink.java b/common/ic2/api/energy/tile/IEnergySink.java similarity index 100% rename from src/minecraft/ic2/api/energy/tile/IEnergySink.java rename to common/ic2/api/energy/tile/IEnergySink.java diff --git a/src/minecraft/ic2/api/energy/tile/IEnergySource.java b/common/ic2/api/energy/tile/IEnergySource.java similarity index 100% rename from src/minecraft/ic2/api/energy/tile/IEnergySource.java rename to common/ic2/api/energy/tile/IEnergySource.java diff --git a/src/minecraft/ic2/api/energy/tile/IEnergyTile.java b/common/ic2/api/energy/tile/IEnergyTile.java similarity index 100% rename from src/minecraft/ic2/api/energy/tile/IEnergyTile.java rename to common/ic2/api/energy/tile/IEnergyTile.java diff --git a/src/minecraft/ic2/api/energy/usage.txt b/common/ic2/api/energy/usage.txt similarity index 100% rename from src/minecraft/ic2/api/energy/usage.txt rename to common/ic2/api/energy/usage.txt diff --git a/src/minecraft/ic2/api/event/PaintEvent.java b/common/ic2/api/event/PaintEvent.java similarity index 100% rename from src/minecraft/ic2/api/event/PaintEvent.java rename to common/ic2/api/event/PaintEvent.java diff --git a/src/minecraft/ic2/api/event/RetextureEvent.java b/common/ic2/api/event/RetextureEvent.java similarity index 100% rename from src/minecraft/ic2/api/event/RetextureEvent.java rename to common/ic2/api/event/RetextureEvent.java diff --git a/src/minecraft/ic2/api/info/IEnergyValueProvider.java b/common/ic2/api/info/IEnergyValueProvider.java similarity index 100% rename from src/minecraft/ic2/api/info/IEnergyValueProvider.java rename to common/ic2/api/info/IEnergyValueProvider.java diff --git a/src/minecraft/ic2/api/info/IFuelValueProvider.java b/common/ic2/api/info/IFuelValueProvider.java similarity index 100% rename from src/minecraft/ic2/api/info/IFuelValueProvider.java rename to common/ic2/api/info/IFuelValueProvider.java diff --git a/src/minecraft/ic2/api/info/Info.java b/common/ic2/api/info/Info.java similarity index 100% rename from src/minecraft/ic2/api/info/Info.java rename to common/ic2/api/info/Info.java diff --git a/src/minecraft/ic2/api/item/ElectricItem.java b/common/ic2/api/item/ElectricItem.java similarity index 100% rename from src/minecraft/ic2/api/item/ElectricItem.java rename to common/ic2/api/item/ElectricItem.java diff --git a/src/minecraft/ic2/api/item/IBoxable.java b/common/ic2/api/item/IBoxable.java similarity index 100% rename from src/minecraft/ic2/api/item/IBoxable.java rename to common/ic2/api/item/IBoxable.java diff --git a/src/minecraft/ic2/api/item/ICustomElectricItem.java b/common/ic2/api/item/ICustomElectricItem.java similarity index 100% rename from src/minecraft/ic2/api/item/ICustomElectricItem.java rename to common/ic2/api/item/ICustomElectricItem.java diff --git a/src/minecraft/ic2/api/item/IElectricItem.java b/common/ic2/api/item/IElectricItem.java similarity index 100% rename from src/minecraft/ic2/api/item/IElectricItem.java rename to common/ic2/api/item/IElectricItem.java diff --git a/src/minecraft/ic2/api/item/IElectricItemManager.java b/common/ic2/api/item/IElectricItemManager.java similarity index 100% rename from src/minecraft/ic2/api/item/IElectricItemManager.java rename to common/ic2/api/item/IElectricItemManager.java diff --git a/src/minecraft/ic2/api/item/IMetalArmor.java b/common/ic2/api/item/IMetalArmor.java similarity index 100% rename from src/minecraft/ic2/api/item/IMetalArmor.java rename to common/ic2/api/item/IMetalArmor.java diff --git a/src/minecraft/ic2/api/item/ISpecialElectricItem.java b/common/ic2/api/item/ISpecialElectricItem.java similarity index 100% rename from src/minecraft/ic2/api/item/ISpecialElectricItem.java rename to common/ic2/api/item/ISpecialElectricItem.java diff --git a/src/minecraft/ic2/api/item/ITerraformingBP.java b/common/ic2/api/item/ITerraformingBP.java similarity index 100% rename from src/minecraft/ic2/api/item/ITerraformingBP.java rename to common/ic2/api/item/ITerraformingBP.java diff --git a/src/minecraft/ic2/api/item/ItemWrapper.java b/common/ic2/api/item/ItemWrapper.java similarity index 100% rename from src/minecraft/ic2/api/item/ItemWrapper.java rename to common/ic2/api/item/ItemWrapper.java diff --git a/src/minecraft/ic2/api/item/Items.java b/common/ic2/api/item/Items.java similarity index 100% rename from src/minecraft/ic2/api/item/Items.java rename to common/ic2/api/item/Items.java diff --git a/src/minecraft/ic2/api/network/INetworkClientTileEntityEventListener.java b/common/ic2/api/network/INetworkClientTileEntityEventListener.java similarity index 100% rename from src/minecraft/ic2/api/network/INetworkClientTileEntityEventListener.java rename to common/ic2/api/network/INetworkClientTileEntityEventListener.java diff --git a/src/minecraft/ic2/api/network/INetworkDataProvider.java b/common/ic2/api/network/INetworkDataProvider.java similarity index 100% rename from src/minecraft/ic2/api/network/INetworkDataProvider.java rename to common/ic2/api/network/INetworkDataProvider.java diff --git a/src/minecraft/ic2/api/network/INetworkItemEventListener.java b/common/ic2/api/network/INetworkItemEventListener.java similarity index 100% rename from src/minecraft/ic2/api/network/INetworkItemEventListener.java rename to common/ic2/api/network/INetworkItemEventListener.java diff --git a/src/minecraft/ic2/api/network/INetworkTileEntityEventListener.java b/common/ic2/api/network/INetworkTileEntityEventListener.java similarity index 100% rename from src/minecraft/ic2/api/network/INetworkTileEntityEventListener.java rename to common/ic2/api/network/INetworkTileEntityEventListener.java diff --git a/src/minecraft/ic2/api/network/INetworkUpdateListener.java b/common/ic2/api/network/INetworkUpdateListener.java similarity index 100% rename from src/minecraft/ic2/api/network/INetworkUpdateListener.java rename to common/ic2/api/network/INetworkUpdateListener.java diff --git a/src/minecraft/ic2/api/network/NetworkHelper.java b/common/ic2/api/network/NetworkHelper.java similarity index 100% rename from src/minecraft/ic2/api/network/NetworkHelper.java rename to common/ic2/api/network/NetworkHelper.java diff --git a/src/minecraft/ic2/api/reactor/IC2Reactor.java b/common/ic2/api/reactor/IC2Reactor.java similarity index 100% rename from src/minecraft/ic2/api/reactor/IC2Reactor.java rename to common/ic2/api/reactor/IC2Reactor.java diff --git a/src/minecraft/ic2/api/reactor/IReactor.java b/common/ic2/api/reactor/IReactor.java similarity index 100% rename from src/minecraft/ic2/api/reactor/IReactor.java rename to common/ic2/api/reactor/IReactor.java diff --git a/src/minecraft/ic2/api/reactor/IReactorChamber.java b/common/ic2/api/reactor/IReactorChamber.java similarity index 100% rename from src/minecraft/ic2/api/reactor/IReactorChamber.java rename to common/ic2/api/reactor/IReactorChamber.java diff --git a/src/minecraft/ic2/api/reactor/IReactorComponent.java b/common/ic2/api/reactor/IReactorComponent.java similarity index 100% rename from src/minecraft/ic2/api/reactor/IReactorComponent.java rename to common/ic2/api/reactor/IReactorComponent.java diff --git a/src/minecraft/ic2/api/recipe/ICraftingRecipeManager.java b/common/ic2/api/recipe/ICraftingRecipeManager.java similarity index 100% rename from src/minecraft/ic2/api/recipe/ICraftingRecipeManager.java rename to common/ic2/api/recipe/ICraftingRecipeManager.java diff --git a/src/minecraft/ic2/api/recipe/IListRecipeManager.java b/common/ic2/api/recipe/IListRecipeManager.java similarity index 100% rename from src/minecraft/ic2/api/recipe/IListRecipeManager.java rename to common/ic2/api/recipe/IListRecipeManager.java diff --git a/src/minecraft/ic2/api/recipe/IMachineRecipeManager.java b/common/ic2/api/recipe/IMachineRecipeManager.java similarity index 100% rename from src/minecraft/ic2/api/recipe/IMachineRecipeManager.java rename to common/ic2/api/recipe/IMachineRecipeManager.java diff --git a/src/minecraft/ic2/api/recipe/Recipes.java b/common/ic2/api/recipe/Recipes.java similarity index 100% rename from src/minecraft/ic2/api/recipe/Recipes.java rename to common/ic2/api/recipe/Recipes.java diff --git a/src/minecraft/ic2/api/tile/ExplosionWhitelist.java b/common/ic2/api/tile/ExplosionWhitelist.java similarity index 100% rename from src/minecraft/ic2/api/tile/ExplosionWhitelist.java rename to common/ic2/api/tile/ExplosionWhitelist.java diff --git a/src/minecraft/ic2/api/tile/IEnergyStorage.java b/common/ic2/api/tile/IEnergyStorage.java similarity index 100% rename from src/minecraft/ic2/api/tile/IEnergyStorage.java rename to common/ic2/api/tile/IEnergyStorage.java diff --git a/src/minecraft/ic2/api/tile/IWrenchable.java b/common/ic2/api/tile/IWrenchable.java similarity index 100% rename from src/minecraft/ic2/api/tile/IWrenchable.java rename to common/ic2/api/tile/IWrenchable.java diff --git a/src/minecraft/mekanism/api/EnergizedItemManager.java b/common/mekanism/api/EnergizedItemManager.java similarity index 100% rename from src/minecraft/mekanism/api/EnergizedItemManager.java rename to common/mekanism/api/EnergizedItemManager.java diff --git a/src/minecraft/mekanism/api/EnumColor.java b/common/mekanism/api/EnumColor.java similarity index 100% rename from src/minecraft/mekanism/api/EnumColor.java rename to common/mekanism/api/EnumColor.java diff --git a/src/minecraft/mekanism/api/EnumGas.java b/common/mekanism/api/EnumGas.java similarity index 100% rename from src/minecraft/mekanism/api/EnumGas.java rename to common/mekanism/api/EnumGas.java diff --git a/src/minecraft/mekanism/api/GasNetwork.java b/common/mekanism/api/GasNetwork.java similarity index 100% rename from src/minecraft/mekanism/api/GasNetwork.java rename to common/mekanism/api/GasNetwork.java diff --git a/src/minecraft/mekanism/api/GasTransmission.java b/common/mekanism/api/GasTransmission.java similarity index 100% rename from src/minecraft/mekanism/api/GasTransmission.java rename to common/mekanism/api/GasTransmission.java diff --git a/src/minecraft/mekanism/api/IAccessibleGui.java b/common/mekanism/api/IAccessibleGui.java similarity index 100% rename from src/minecraft/mekanism/api/IAccessibleGui.java rename to common/mekanism/api/IAccessibleGui.java diff --git a/src/minecraft/mekanism/api/ICableOutputter.java b/common/mekanism/api/ICableOutputter.java similarity index 100% rename from src/minecraft/mekanism/api/ICableOutputter.java rename to common/mekanism/api/ICableOutputter.java diff --git a/src/minecraft/mekanism/api/IConfigurable.java b/common/mekanism/api/IConfigurable.java similarity index 100% rename from src/minecraft/mekanism/api/IConfigurable.java rename to common/mekanism/api/IConfigurable.java diff --git a/src/minecraft/mekanism/api/IEnergizedItem.java b/common/mekanism/api/IEnergizedItem.java similarity index 100% rename from src/minecraft/mekanism/api/IEnergizedItem.java rename to common/mekanism/api/IEnergizedItem.java diff --git a/src/minecraft/mekanism/api/IGasAcceptor.java b/common/mekanism/api/IGasAcceptor.java similarity index 100% rename from src/minecraft/mekanism/api/IGasAcceptor.java rename to common/mekanism/api/IGasAcceptor.java diff --git a/src/minecraft/mekanism/api/IGasStorage.java b/common/mekanism/api/IGasStorage.java similarity index 100% rename from src/minecraft/mekanism/api/IGasStorage.java rename to common/mekanism/api/IGasStorage.java diff --git a/src/minecraft/mekanism/api/IPressurizedTube.java b/common/mekanism/api/IPressurizedTube.java similarity index 100% rename from src/minecraft/mekanism/api/IPressurizedTube.java rename to common/mekanism/api/IPressurizedTube.java diff --git a/src/minecraft/mekanism/api/IStorageTank.java b/common/mekanism/api/IStorageTank.java similarity index 100% rename from src/minecraft/mekanism/api/IStorageTank.java rename to common/mekanism/api/IStorageTank.java diff --git a/src/minecraft/mekanism/api/IStrictEnergyAcceptor.java b/common/mekanism/api/IStrictEnergyAcceptor.java similarity index 100% rename from src/minecraft/mekanism/api/IStrictEnergyAcceptor.java rename to common/mekanism/api/IStrictEnergyAcceptor.java diff --git a/src/minecraft/mekanism/api/IStrictEnergyStorage.java b/common/mekanism/api/IStrictEnergyStorage.java similarity index 100% rename from src/minecraft/mekanism/api/IStrictEnergyStorage.java rename to common/mekanism/api/IStrictEnergyStorage.java diff --git a/src/minecraft/mekanism/api/ITubeConnection.java b/common/mekanism/api/ITubeConnection.java similarity index 100% rename from src/minecraft/mekanism/api/ITubeConnection.java rename to common/mekanism/api/ITubeConnection.java diff --git a/src/minecraft/mekanism/api/IUpgradeManagement.java b/common/mekanism/api/IUpgradeManagement.java similarity index 100% rename from src/minecraft/mekanism/api/IUpgradeManagement.java rename to common/mekanism/api/IUpgradeManagement.java diff --git a/src/minecraft/mekanism/api/InfuseObject.java b/common/mekanism/api/InfuseObject.java similarity index 100% rename from src/minecraft/mekanism/api/InfuseObject.java rename to common/mekanism/api/InfuseObject.java diff --git a/src/minecraft/mekanism/api/InfuseRegistry.java b/common/mekanism/api/InfuseRegistry.java similarity index 100% rename from src/minecraft/mekanism/api/InfuseRegistry.java rename to common/mekanism/api/InfuseRegistry.java diff --git a/src/minecraft/mekanism/api/InfuseType.java b/common/mekanism/api/InfuseType.java similarity index 100% rename from src/minecraft/mekanism/api/InfuseType.java rename to common/mekanism/api/InfuseType.java diff --git a/src/minecraft/mekanism/api/InfusionInput.java b/common/mekanism/api/InfusionInput.java similarity index 100% rename from src/minecraft/mekanism/api/InfusionInput.java rename to common/mekanism/api/InfusionInput.java diff --git a/src/minecraft/mekanism/api/InfusionOutput.java b/common/mekanism/api/InfusionOutput.java similarity index 100% rename from src/minecraft/mekanism/api/InfusionOutput.java rename to common/mekanism/api/InfusionOutput.java diff --git a/src/minecraft/mekanism/api/ItemRetriever.java b/common/mekanism/api/ItemRetriever.java similarity index 100% rename from src/minecraft/mekanism/api/ItemRetriever.java rename to common/mekanism/api/ItemRetriever.java diff --git a/src/minecraft/mekanism/api/Object3D.java b/common/mekanism/api/Object3D.java similarity index 100% rename from src/minecraft/mekanism/api/Object3D.java rename to common/mekanism/api/Object3D.java diff --git a/src/minecraft/mekanism/api/RecipeHelper.java b/common/mekanism/api/RecipeHelper.java similarity index 100% rename from src/minecraft/mekanism/api/RecipeHelper.java rename to common/mekanism/api/RecipeHelper.java diff --git a/src/minecraft/mekanism/api/SideData.java b/common/mekanism/api/SideData.java similarity index 100% rename from src/minecraft/mekanism/api/SideData.java rename to common/mekanism/api/SideData.java diff --git a/src/minecraft/mekanism/api/TabProxy.java b/common/mekanism/api/TabProxy.java similarity index 100% rename from src/minecraft/mekanism/api/TabProxy.java rename to common/mekanism/api/TabProxy.java diff --git a/src/minecraft/mekanism/client/BasicRenderingHandler.java b/common/mekanism/client/BasicRenderingHandler.java similarity index 100% rename from src/minecraft/mekanism/client/BasicRenderingHandler.java rename to common/mekanism/client/BasicRenderingHandler.java diff --git a/src/minecraft/mekanism/client/CapeBufferDownload.java b/common/mekanism/client/CapeBufferDownload.java similarity index 100% rename from src/minecraft/mekanism/client/CapeBufferDownload.java rename to common/mekanism/client/CapeBufferDownload.java diff --git a/src/minecraft/mekanism/client/ClientConnectionHandler.java b/common/mekanism/client/ClientConnectionHandler.java similarity index 100% rename from src/minecraft/mekanism/client/ClientConnectionHandler.java rename to common/mekanism/client/ClientConnectionHandler.java diff --git a/src/minecraft/mekanism/client/ClientPlayerTickHandler.java b/common/mekanism/client/ClientPlayerTickHandler.java similarity index 100% rename from src/minecraft/mekanism/client/ClientPlayerTickHandler.java rename to common/mekanism/client/ClientPlayerTickHandler.java diff --git a/src/minecraft/mekanism/client/ClientProxy.java b/common/mekanism/client/ClientProxy.java similarity index 100% rename from src/minecraft/mekanism/client/ClientProxy.java rename to common/mekanism/client/ClientProxy.java diff --git a/src/minecraft/mekanism/client/ClientTickHandler.java b/common/mekanism/client/ClientTickHandler.java similarity index 100% rename from src/minecraft/mekanism/client/ClientTickHandler.java rename to common/mekanism/client/ClientTickHandler.java diff --git a/src/minecraft/mekanism/client/GasClientUpdate.java b/common/mekanism/client/GasClientUpdate.java similarity index 100% rename from src/minecraft/mekanism/client/GasClientUpdate.java rename to common/mekanism/client/GasClientUpdate.java diff --git a/src/minecraft/mekanism/client/GuiAdvancedElectricMachine.java b/common/mekanism/client/GuiAdvancedElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/client/GuiAdvancedElectricMachine.java rename to common/mekanism/client/GuiAdvancedElectricMachine.java diff --git a/src/minecraft/mekanism/client/GuiCombiner.java b/common/mekanism/client/GuiCombiner.java similarity index 100% rename from src/minecraft/mekanism/client/GuiCombiner.java rename to common/mekanism/client/GuiCombiner.java diff --git a/src/minecraft/mekanism/client/GuiControlPanel.java b/common/mekanism/client/GuiControlPanel.java similarity index 100% rename from src/minecraft/mekanism/client/GuiControlPanel.java rename to common/mekanism/client/GuiControlPanel.java diff --git a/src/minecraft/mekanism/client/GuiCredits.java b/common/mekanism/client/GuiCredits.java similarity index 100% rename from src/minecraft/mekanism/client/GuiCredits.java rename to common/mekanism/client/GuiCredits.java diff --git a/src/minecraft/mekanism/client/GuiCrusher.java b/common/mekanism/client/GuiCrusher.java similarity index 100% rename from src/minecraft/mekanism/client/GuiCrusher.java rename to common/mekanism/client/GuiCrusher.java diff --git a/src/minecraft/mekanism/client/GuiDynamicTank.java b/common/mekanism/client/GuiDynamicTank.java similarity index 100% rename from src/minecraft/mekanism/client/GuiDynamicTank.java rename to common/mekanism/client/GuiDynamicTank.java diff --git a/src/minecraft/mekanism/client/GuiElectricChest.java b/common/mekanism/client/GuiElectricChest.java similarity index 100% rename from src/minecraft/mekanism/client/GuiElectricChest.java rename to common/mekanism/client/GuiElectricChest.java diff --git a/src/minecraft/mekanism/client/GuiElectricMachine.java b/common/mekanism/client/GuiElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/client/GuiElectricMachine.java rename to common/mekanism/client/GuiElectricMachine.java diff --git a/src/minecraft/mekanism/client/GuiElectricPump.java b/common/mekanism/client/GuiElectricPump.java similarity index 100% rename from src/minecraft/mekanism/client/GuiElectricPump.java rename to common/mekanism/client/GuiElectricPump.java diff --git a/src/minecraft/mekanism/client/GuiEnergizedSmelter.java b/common/mekanism/client/GuiEnergizedSmelter.java similarity index 100% rename from src/minecraft/mekanism/client/GuiEnergizedSmelter.java rename to common/mekanism/client/GuiEnergizedSmelter.java diff --git a/src/minecraft/mekanism/client/GuiEnergyCube.java b/common/mekanism/client/GuiEnergyCube.java similarity index 100% rename from src/minecraft/mekanism/client/GuiEnergyCube.java rename to common/mekanism/client/GuiEnergyCube.java diff --git a/src/minecraft/mekanism/client/GuiEnrichmentChamber.java b/common/mekanism/client/GuiEnrichmentChamber.java similarity index 100% rename from src/minecraft/mekanism/client/GuiEnrichmentChamber.java rename to common/mekanism/client/GuiEnrichmentChamber.java diff --git a/src/minecraft/mekanism/client/GuiFactory.java b/common/mekanism/client/GuiFactory.java similarity index 100% rename from src/minecraft/mekanism/client/GuiFactory.java rename to common/mekanism/client/GuiFactory.java diff --git a/src/minecraft/mekanism/client/GuiGasTank.java b/common/mekanism/client/GuiGasTank.java similarity index 100% rename from src/minecraft/mekanism/client/GuiGasTank.java rename to common/mekanism/client/GuiGasTank.java diff --git a/src/minecraft/mekanism/client/GuiMetallurgicInfuser.java b/common/mekanism/client/GuiMetallurgicInfuser.java similarity index 100% rename from src/minecraft/mekanism/client/GuiMetallurgicInfuser.java rename to common/mekanism/client/GuiMetallurgicInfuser.java diff --git a/src/minecraft/mekanism/client/GuiOsmiumCompressor.java b/common/mekanism/client/GuiOsmiumCompressor.java similarity index 100% rename from src/minecraft/mekanism/client/GuiOsmiumCompressor.java rename to common/mekanism/client/GuiOsmiumCompressor.java diff --git a/src/minecraft/mekanism/client/GuiPasswordEnter.java b/common/mekanism/client/GuiPasswordEnter.java similarity index 100% rename from src/minecraft/mekanism/client/GuiPasswordEnter.java rename to common/mekanism/client/GuiPasswordEnter.java diff --git a/src/minecraft/mekanism/client/GuiPasswordModify.java b/common/mekanism/client/GuiPasswordModify.java similarity index 100% rename from src/minecraft/mekanism/client/GuiPasswordModify.java rename to common/mekanism/client/GuiPasswordModify.java diff --git a/src/minecraft/mekanism/client/GuiPortableTeleporter.java b/common/mekanism/client/GuiPortableTeleporter.java similarity index 100% rename from src/minecraft/mekanism/client/GuiPortableTeleporter.java rename to common/mekanism/client/GuiPortableTeleporter.java diff --git a/src/minecraft/mekanism/client/GuiPurificationChamber.java b/common/mekanism/client/GuiPurificationChamber.java similarity index 100% rename from src/minecraft/mekanism/client/GuiPurificationChamber.java rename to common/mekanism/client/GuiPurificationChamber.java diff --git a/src/minecraft/mekanism/client/GuiRobitCrafting.java b/common/mekanism/client/GuiRobitCrafting.java similarity index 100% rename from src/minecraft/mekanism/client/GuiRobitCrafting.java rename to common/mekanism/client/GuiRobitCrafting.java diff --git a/src/minecraft/mekanism/client/GuiRobitInventory.java b/common/mekanism/client/GuiRobitInventory.java similarity index 100% rename from src/minecraft/mekanism/client/GuiRobitInventory.java rename to common/mekanism/client/GuiRobitInventory.java diff --git a/src/minecraft/mekanism/client/GuiRobitMain.java b/common/mekanism/client/GuiRobitMain.java similarity index 100% rename from src/minecraft/mekanism/client/GuiRobitMain.java rename to common/mekanism/client/GuiRobitMain.java diff --git a/src/minecraft/mekanism/client/GuiRobitRepair.java b/common/mekanism/client/GuiRobitRepair.java similarity index 100% rename from src/minecraft/mekanism/client/GuiRobitRepair.java rename to common/mekanism/client/GuiRobitRepair.java diff --git a/src/minecraft/mekanism/client/GuiRobitSmelting.java b/common/mekanism/client/GuiRobitSmelting.java similarity index 100% rename from src/minecraft/mekanism/client/GuiRobitSmelting.java rename to common/mekanism/client/GuiRobitSmelting.java diff --git a/src/minecraft/mekanism/client/GuiStopwatch.java b/common/mekanism/client/GuiStopwatch.java similarity index 100% rename from src/minecraft/mekanism/client/GuiStopwatch.java rename to common/mekanism/client/GuiStopwatch.java diff --git a/src/minecraft/mekanism/client/GuiTeleporter.java b/common/mekanism/client/GuiTeleporter.java similarity index 100% rename from src/minecraft/mekanism/client/GuiTeleporter.java rename to common/mekanism/client/GuiTeleporter.java diff --git a/src/minecraft/mekanism/client/GuiTheoreticalElementizer.java b/common/mekanism/client/GuiTheoreticalElementizer.java similarity index 100% rename from src/minecraft/mekanism/client/GuiTheoreticalElementizer.java rename to common/mekanism/client/GuiTheoreticalElementizer.java diff --git a/src/minecraft/mekanism/client/GuiWeatherOrb.java b/common/mekanism/client/GuiWeatherOrb.java similarity index 100% rename from src/minecraft/mekanism/client/GuiWeatherOrb.java rename to common/mekanism/client/GuiWeatherOrb.java diff --git a/src/minecraft/mekanism/client/IHasSound.java b/common/mekanism/client/IHasSound.java similarity index 100% rename from src/minecraft/mekanism/client/IHasSound.java rename to common/mekanism/client/IHasSound.java diff --git a/src/minecraft/mekanism/client/ItemRenderingHandler.java b/common/mekanism/client/ItemRenderingHandler.java similarity index 100% rename from src/minecraft/mekanism/client/ItemRenderingHandler.java rename to common/mekanism/client/ItemRenderingHandler.java diff --git a/src/minecraft/mekanism/client/LiquidClientUpdate.java b/common/mekanism/client/LiquidClientUpdate.java similarity index 100% rename from src/minecraft/mekanism/client/LiquidClientUpdate.java rename to common/mekanism/client/LiquidClientUpdate.java diff --git a/src/minecraft/mekanism/client/MachineRenderingHandler.java b/common/mekanism/client/MachineRenderingHandler.java similarity index 100% rename from src/minecraft/mekanism/client/MachineRenderingHandler.java rename to common/mekanism/client/MachineRenderingHandler.java diff --git a/src/minecraft/mekanism/client/MekanismRenderer.java b/common/mekanism/client/MekanismRenderer.java similarity index 100% rename from src/minecraft/mekanism/client/MekanismRenderer.java rename to common/mekanism/client/MekanismRenderer.java diff --git a/src/minecraft/mekanism/client/ModelChargepad.java b/common/mekanism/client/ModelChargepad.java similarity index 100% rename from src/minecraft/mekanism/client/ModelChargepad.java rename to common/mekanism/client/ModelChargepad.java diff --git a/src/minecraft/mekanism/client/ModelElectricPump.java b/common/mekanism/client/ModelElectricPump.java similarity index 100% rename from src/minecraft/mekanism/client/ModelElectricPump.java rename to common/mekanism/client/ModelElectricPump.java diff --git a/src/minecraft/mekanism/client/ModelMetallurgicInfuser.java b/common/mekanism/client/ModelMetallurgicInfuser.java similarity index 100% rename from src/minecraft/mekanism/client/ModelMetallurgicInfuser.java rename to common/mekanism/client/ModelMetallurgicInfuser.java diff --git a/src/minecraft/mekanism/client/ModelRobit.java b/common/mekanism/client/ModelRobit.java similarity index 100% rename from src/minecraft/mekanism/client/ModelRobit.java rename to common/mekanism/client/ModelRobit.java diff --git a/src/minecraft/mekanism/client/ModelTheoreticalElementizer.java b/common/mekanism/client/ModelTheoreticalElementizer.java similarity index 100% rename from src/minecraft/mekanism/client/ModelTheoreticalElementizer.java rename to common/mekanism/client/ModelTheoreticalElementizer.java diff --git a/src/minecraft/mekanism/client/ModelTransmitter.java b/common/mekanism/client/ModelTransmitter.java similarity index 100% rename from src/minecraft/mekanism/client/ModelTransmitter.java rename to common/mekanism/client/ModelTransmitter.java diff --git a/src/minecraft/mekanism/client/RenderChargepad.java b/common/mekanism/client/RenderChargepad.java similarity index 100% rename from src/minecraft/mekanism/client/RenderChargepad.java rename to common/mekanism/client/RenderChargepad.java diff --git a/src/minecraft/mekanism/client/RenderConfigurableMachine.java b/common/mekanism/client/RenderConfigurableMachine.java similarity index 100% rename from src/minecraft/mekanism/client/RenderConfigurableMachine.java rename to common/mekanism/client/RenderConfigurableMachine.java diff --git a/src/minecraft/mekanism/client/RenderDynamicTank.java b/common/mekanism/client/RenderDynamicTank.java similarity index 100% rename from src/minecraft/mekanism/client/RenderDynamicTank.java rename to common/mekanism/client/RenderDynamicTank.java diff --git a/src/minecraft/mekanism/client/RenderElectricChest.java b/common/mekanism/client/RenderElectricChest.java similarity index 100% rename from src/minecraft/mekanism/client/RenderElectricChest.java rename to common/mekanism/client/RenderElectricChest.java diff --git a/src/minecraft/mekanism/client/RenderElectricPump.java b/common/mekanism/client/RenderElectricPump.java similarity index 100% rename from src/minecraft/mekanism/client/RenderElectricPump.java rename to common/mekanism/client/RenderElectricPump.java diff --git a/src/minecraft/mekanism/client/RenderMechanicalPipe.java b/common/mekanism/client/RenderMechanicalPipe.java similarity index 100% rename from src/minecraft/mekanism/client/RenderMechanicalPipe.java rename to common/mekanism/client/RenderMechanicalPipe.java diff --git a/src/minecraft/mekanism/client/RenderMetallurgicInfuser.java b/common/mekanism/client/RenderMetallurgicInfuser.java similarity index 100% rename from src/minecraft/mekanism/client/RenderMetallurgicInfuser.java rename to common/mekanism/client/RenderMetallurgicInfuser.java diff --git a/src/minecraft/mekanism/client/RenderObsidianTNT.java b/common/mekanism/client/RenderObsidianTNT.java similarity index 100% rename from src/minecraft/mekanism/client/RenderObsidianTNT.java rename to common/mekanism/client/RenderObsidianTNT.java diff --git a/src/minecraft/mekanism/client/RenderPressurizedTube.java b/common/mekanism/client/RenderPressurizedTube.java similarity index 100% rename from src/minecraft/mekanism/client/RenderPressurizedTube.java rename to common/mekanism/client/RenderPressurizedTube.java diff --git a/src/minecraft/mekanism/client/RenderRobit.java b/common/mekanism/client/RenderRobit.java similarity index 100% rename from src/minecraft/mekanism/client/RenderRobit.java rename to common/mekanism/client/RenderRobit.java diff --git a/src/minecraft/mekanism/client/RenderTheoreticalElementizer.java b/common/mekanism/client/RenderTheoreticalElementizer.java similarity index 100% rename from src/minecraft/mekanism/client/RenderTheoreticalElementizer.java rename to common/mekanism/client/RenderTheoreticalElementizer.java diff --git a/src/minecraft/mekanism/client/RenderTickHandler.java b/common/mekanism/client/RenderTickHandler.java similarity index 100% rename from src/minecraft/mekanism/client/RenderTickHandler.java rename to common/mekanism/client/RenderTickHandler.java diff --git a/src/minecraft/mekanism/client/RenderUniversalCable.java b/common/mekanism/client/RenderUniversalCable.java similarity index 100% rename from src/minecraft/mekanism/client/RenderUniversalCable.java rename to common/mekanism/client/RenderUniversalCable.java diff --git a/src/minecraft/mekanism/client/Sound.java b/common/mekanism/client/Sound.java similarity index 100% rename from src/minecraft/mekanism/client/Sound.java rename to common/mekanism/client/Sound.java diff --git a/src/minecraft/mekanism/client/SoundHandler.java b/common/mekanism/client/SoundHandler.java similarity index 100% rename from src/minecraft/mekanism/client/SoundHandler.java rename to common/mekanism/client/SoundHandler.java diff --git a/src/minecraft/mekanism/client/ThreadClientUpdate.java b/common/mekanism/client/ThreadClientUpdate.java similarity index 100% rename from src/minecraft/mekanism/client/ThreadClientUpdate.java rename to common/mekanism/client/ThreadClientUpdate.java diff --git a/src/minecraft/mekanism/client/ThreadTankSparkle.java b/common/mekanism/client/ThreadTankSparkle.java similarity index 100% rename from src/minecraft/mekanism/client/ThreadTankSparkle.java rename to common/mekanism/client/ThreadTankSparkle.java diff --git a/src/minecraft/mekanism/client/TransmitterRenderer.java b/common/mekanism/client/TransmitterRenderer.java similarity index 100% rename from src/minecraft/mekanism/client/TransmitterRenderer.java rename to common/mekanism/client/TransmitterRenderer.java diff --git a/src/minecraft/mekanism/common/BlockBasic.java b/common/mekanism/common/BlockBasic.java similarity index 100% rename from src/minecraft/mekanism/common/BlockBasic.java rename to common/mekanism/common/BlockBasic.java diff --git a/src/minecraft/mekanism/common/BlockBounding.java b/common/mekanism/common/BlockBounding.java similarity index 100% rename from src/minecraft/mekanism/common/BlockBounding.java rename to common/mekanism/common/BlockBounding.java diff --git a/src/minecraft/mekanism/common/BlockEnergyCube.java b/common/mekanism/common/BlockEnergyCube.java similarity index 100% rename from src/minecraft/mekanism/common/BlockEnergyCube.java rename to common/mekanism/common/BlockEnergyCube.java diff --git a/src/minecraft/mekanism/common/BlockGasTank.java b/common/mekanism/common/BlockGasTank.java similarity index 100% rename from src/minecraft/mekanism/common/BlockGasTank.java rename to common/mekanism/common/BlockGasTank.java diff --git a/src/minecraft/mekanism/common/BlockMachine.java b/common/mekanism/common/BlockMachine.java similarity index 100% rename from src/minecraft/mekanism/common/BlockMachine.java rename to common/mekanism/common/BlockMachine.java diff --git a/src/minecraft/mekanism/common/BlockObsidianTNT.java b/common/mekanism/common/BlockObsidianTNT.java similarity index 100% rename from src/minecraft/mekanism/common/BlockObsidianTNT.java rename to common/mekanism/common/BlockObsidianTNT.java diff --git a/src/minecraft/mekanism/common/BlockOre.java b/common/mekanism/common/BlockOre.java similarity index 100% rename from src/minecraft/mekanism/common/BlockOre.java rename to common/mekanism/common/BlockOre.java diff --git a/src/minecraft/mekanism/common/BlockTransmitter.java b/common/mekanism/common/BlockTransmitter.java similarity index 100% rename from src/minecraft/mekanism/common/BlockTransmitter.java rename to common/mekanism/common/BlockTransmitter.java diff --git a/src/minecraft/mekanism/common/CableUtils.java b/common/mekanism/common/CableUtils.java similarity index 100% rename from src/minecraft/mekanism/common/CableUtils.java rename to common/mekanism/common/CableUtils.java diff --git a/src/minecraft/mekanism/common/ChargeUtils.java b/common/mekanism/common/ChargeUtils.java similarity index 100% rename from src/minecraft/mekanism/common/ChargeUtils.java rename to common/mekanism/common/ChargeUtils.java diff --git a/src/minecraft/mekanism/common/CommandMekanism.java b/common/mekanism/common/CommandMekanism.java similarity index 100% rename from src/minecraft/mekanism/common/CommandMekanism.java rename to common/mekanism/common/CommandMekanism.java diff --git a/src/minecraft/mekanism/common/CommonPlayerTickHandler.java b/common/mekanism/common/CommonPlayerTickHandler.java similarity index 100% rename from src/minecraft/mekanism/common/CommonPlayerTickHandler.java rename to common/mekanism/common/CommonPlayerTickHandler.java diff --git a/src/minecraft/mekanism/common/CommonProxy.java b/common/mekanism/common/CommonProxy.java similarity index 100% rename from src/minecraft/mekanism/common/CommonProxy.java rename to common/mekanism/common/CommonProxy.java diff --git a/src/minecraft/mekanism/common/CommonWorldTickHandler.java b/common/mekanism/common/CommonWorldTickHandler.java similarity index 100% rename from src/minecraft/mekanism/common/CommonWorldTickHandler.java rename to common/mekanism/common/CommonWorldTickHandler.java diff --git a/src/minecraft/mekanism/common/ContainerAdvancedElectricMachine.java b/common/mekanism/common/ContainerAdvancedElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerAdvancedElectricMachine.java rename to common/mekanism/common/ContainerAdvancedElectricMachine.java diff --git a/src/minecraft/mekanism/common/ContainerDynamicTank.java b/common/mekanism/common/ContainerDynamicTank.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerDynamicTank.java rename to common/mekanism/common/ContainerDynamicTank.java diff --git a/src/minecraft/mekanism/common/ContainerElectricChest.java b/common/mekanism/common/ContainerElectricChest.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerElectricChest.java rename to common/mekanism/common/ContainerElectricChest.java diff --git a/src/minecraft/mekanism/common/ContainerElectricMachine.java b/common/mekanism/common/ContainerElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerElectricMachine.java rename to common/mekanism/common/ContainerElectricMachine.java diff --git a/src/minecraft/mekanism/common/ContainerElectricPump.java b/common/mekanism/common/ContainerElectricPump.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerElectricPump.java rename to common/mekanism/common/ContainerElectricPump.java diff --git a/src/minecraft/mekanism/common/ContainerEnergyCube.java b/common/mekanism/common/ContainerEnergyCube.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerEnergyCube.java rename to common/mekanism/common/ContainerEnergyCube.java diff --git a/src/minecraft/mekanism/common/ContainerFactory.java b/common/mekanism/common/ContainerFactory.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerFactory.java rename to common/mekanism/common/ContainerFactory.java diff --git a/src/minecraft/mekanism/common/ContainerGasTank.java b/common/mekanism/common/ContainerGasTank.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerGasTank.java rename to common/mekanism/common/ContainerGasTank.java diff --git a/src/minecraft/mekanism/common/ContainerMetallurgicInfuser.java b/common/mekanism/common/ContainerMetallurgicInfuser.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerMetallurgicInfuser.java rename to common/mekanism/common/ContainerMetallurgicInfuser.java diff --git a/src/minecraft/mekanism/common/ContainerRobitCrafting.java b/common/mekanism/common/ContainerRobitCrafting.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerRobitCrafting.java rename to common/mekanism/common/ContainerRobitCrafting.java diff --git a/src/minecraft/mekanism/common/ContainerRobitInventory.java b/common/mekanism/common/ContainerRobitInventory.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerRobitInventory.java rename to common/mekanism/common/ContainerRobitInventory.java diff --git a/src/minecraft/mekanism/common/ContainerRobitMain.java b/common/mekanism/common/ContainerRobitMain.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerRobitMain.java rename to common/mekanism/common/ContainerRobitMain.java diff --git a/src/minecraft/mekanism/common/ContainerRobitRepair.java b/common/mekanism/common/ContainerRobitRepair.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerRobitRepair.java rename to common/mekanism/common/ContainerRobitRepair.java diff --git a/src/minecraft/mekanism/common/ContainerRobitSmelting.java b/common/mekanism/common/ContainerRobitSmelting.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerRobitSmelting.java rename to common/mekanism/common/ContainerRobitSmelting.java diff --git a/src/minecraft/mekanism/common/ContainerTeleporter.java b/common/mekanism/common/ContainerTeleporter.java similarity index 100% rename from src/minecraft/mekanism/common/ContainerTeleporter.java rename to common/mekanism/common/ContainerTeleporter.java diff --git a/src/minecraft/mekanism/common/CoreGuiHandler.java b/common/mekanism/common/CoreGuiHandler.java similarity index 100% rename from src/minecraft/mekanism/common/CoreGuiHandler.java rename to common/mekanism/common/CoreGuiHandler.java diff --git a/src/minecraft/mekanism/common/CreativeTabMekanism.java b/common/mekanism/common/CreativeTabMekanism.java similarity index 100% rename from src/minecraft/mekanism/common/CreativeTabMekanism.java rename to common/mekanism/common/CreativeTabMekanism.java diff --git a/src/minecraft/mekanism/common/DynamicLiquidTank.java b/common/mekanism/common/DynamicLiquidTank.java similarity index 100% rename from src/minecraft/mekanism/common/DynamicLiquidTank.java rename to common/mekanism/common/DynamicLiquidTank.java diff --git a/src/minecraft/mekanism/common/DynamicTankCache.java b/common/mekanism/common/DynamicTankCache.java similarity index 100% rename from src/minecraft/mekanism/common/DynamicTankCache.java rename to common/mekanism/common/DynamicTankCache.java diff --git a/src/minecraft/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java similarity index 100% rename from src/minecraft/mekanism/common/EnergyNetwork.java rename to common/mekanism/common/EnergyNetwork.java diff --git a/src/minecraft/mekanism/common/EntityObsidianTNT.java b/common/mekanism/common/EntityObsidianTNT.java similarity index 100% rename from src/minecraft/mekanism/common/EntityObsidianTNT.java rename to common/mekanism/common/EntityObsidianTNT.java diff --git a/src/minecraft/mekanism/common/EntityRobit.java b/common/mekanism/common/EntityRobit.java similarity index 100% rename from src/minecraft/mekanism/common/EntityRobit.java rename to common/mekanism/common/EntityRobit.java diff --git a/src/minecraft/mekanism/common/IActiveState.java b/common/mekanism/common/IActiveState.java similarity index 100% rename from src/minecraft/mekanism/common/IActiveState.java rename to common/mekanism/common/IActiveState.java diff --git a/src/minecraft/mekanism/common/IBoundingBlock.java b/common/mekanism/common/IBoundingBlock.java similarity index 100% rename from src/minecraft/mekanism/common/IBoundingBlock.java rename to common/mekanism/common/IBoundingBlock.java diff --git a/src/minecraft/mekanism/common/IC2EnergyHandler.java b/common/mekanism/common/IC2EnergyHandler.java similarity index 100% rename from src/minecraft/mekanism/common/IC2EnergyHandler.java rename to common/mekanism/common/IC2EnergyHandler.java diff --git a/src/minecraft/mekanism/common/IElectricChest.java b/common/mekanism/common/IElectricChest.java similarity index 100% rename from src/minecraft/mekanism/common/IElectricChest.java rename to common/mekanism/common/IElectricChest.java diff --git a/src/minecraft/mekanism/common/IElectricMachine.java b/common/mekanism/common/IElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/common/IElectricMachine.java rename to common/mekanism/common/IElectricMachine.java diff --git a/src/minecraft/mekanism/common/IEnergyCube.java b/common/mekanism/common/IEnergyCube.java similarity index 100% rename from src/minecraft/mekanism/common/IEnergyCube.java rename to common/mekanism/common/IEnergyCube.java diff --git a/src/minecraft/mekanism/common/IFactory.java b/common/mekanism/common/IFactory.java similarity index 100% rename from src/minecraft/mekanism/common/IFactory.java rename to common/mekanism/common/IFactory.java diff --git a/src/minecraft/mekanism/common/IMechanicalPipe.java b/common/mekanism/common/IMechanicalPipe.java similarity index 100% rename from src/minecraft/mekanism/common/IMechanicalPipe.java rename to common/mekanism/common/IMechanicalPipe.java diff --git a/src/minecraft/mekanism/common/IModule.java b/common/mekanism/common/IModule.java similarity index 100% rename from src/minecraft/mekanism/common/IModule.java rename to common/mekanism/common/IModule.java diff --git a/src/minecraft/mekanism/common/ISpecialBounds.java b/common/mekanism/common/ISpecialBounds.java similarity index 100% rename from src/minecraft/mekanism/common/ISpecialBounds.java rename to common/mekanism/common/ISpecialBounds.java diff --git a/src/minecraft/mekanism/common/ISustainedInventory.java b/common/mekanism/common/ISustainedInventory.java similarity index 100% rename from src/minecraft/mekanism/common/ISustainedInventory.java rename to common/mekanism/common/ISustainedInventory.java diff --git a/src/minecraft/mekanism/common/ISustainedTank.java b/common/mekanism/common/ISustainedTank.java similarity index 100% rename from src/minecraft/mekanism/common/ISustainedTank.java rename to common/mekanism/common/ISustainedTank.java diff --git a/src/minecraft/mekanism/common/ITileNetwork.java b/common/mekanism/common/ITileNetwork.java similarity index 100% rename from src/minecraft/mekanism/common/ITileNetwork.java rename to common/mekanism/common/ITileNetwork.java diff --git a/src/minecraft/mekanism/common/IUniversalCable.java b/common/mekanism/common/IUniversalCable.java similarity index 100% rename from src/minecraft/mekanism/common/IUniversalCable.java rename to common/mekanism/common/IUniversalCable.java diff --git a/src/minecraft/mekanism/common/InventoryElectricChest.java b/common/mekanism/common/InventoryElectricChest.java similarity index 100% rename from src/minecraft/mekanism/common/InventoryElectricChest.java rename to common/mekanism/common/InventoryElectricChest.java diff --git a/src/minecraft/mekanism/common/ItemAtomicDisassembler.java b/common/mekanism/common/ItemAtomicDisassembler.java similarity index 100% rename from src/minecraft/mekanism/common/ItemAtomicDisassembler.java rename to common/mekanism/common/ItemAtomicDisassembler.java diff --git a/src/minecraft/mekanism/common/ItemBlockBasic.java b/common/mekanism/common/ItemBlockBasic.java similarity index 100% rename from src/minecraft/mekanism/common/ItemBlockBasic.java rename to common/mekanism/common/ItemBlockBasic.java diff --git a/src/minecraft/mekanism/common/ItemBlockEnergyCube.java b/common/mekanism/common/ItemBlockEnergyCube.java similarity index 100% rename from src/minecraft/mekanism/common/ItemBlockEnergyCube.java rename to common/mekanism/common/ItemBlockEnergyCube.java diff --git a/src/minecraft/mekanism/common/ItemBlockMachine.java b/common/mekanism/common/ItemBlockMachine.java similarity index 100% rename from src/minecraft/mekanism/common/ItemBlockMachine.java rename to common/mekanism/common/ItemBlockMachine.java diff --git a/src/minecraft/mekanism/common/ItemBlockOre.java b/common/mekanism/common/ItemBlockOre.java similarity index 100% rename from src/minecraft/mekanism/common/ItemBlockOre.java rename to common/mekanism/common/ItemBlockOre.java diff --git a/src/minecraft/mekanism/common/ItemBlockTransmitter.java b/common/mekanism/common/ItemBlockTransmitter.java similarity index 100% rename from src/minecraft/mekanism/common/ItemBlockTransmitter.java rename to common/mekanism/common/ItemBlockTransmitter.java diff --git a/src/minecraft/mekanism/common/ItemClump.java b/common/mekanism/common/ItemClump.java similarity index 100% rename from src/minecraft/mekanism/common/ItemClump.java rename to common/mekanism/common/ItemClump.java diff --git a/src/minecraft/mekanism/common/ItemConfigurator.java b/common/mekanism/common/ItemConfigurator.java similarity index 100% rename from src/minecraft/mekanism/common/ItemConfigurator.java rename to common/mekanism/common/ItemConfigurator.java diff --git a/src/minecraft/mekanism/common/ItemDirtyDust.java b/common/mekanism/common/ItemDirtyDust.java similarity index 100% rename from src/minecraft/mekanism/common/ItemDirtyDust.java rename to common/mekanism/common/ItemDirtyDust.java diff --git a/src/minecraft/mekanism/common/ItemDust.java b/common/mekanism/common/ItemDust.java similarity index 100% rename from src/minecraft/mekanism/common/ItemDust.java rename to common/mekanism/common/ItemDust.java diff --git a/src/minecraft/mekanism/common/ItemElectricBow.java b/common/mekanism/common/ItemElectricBow.java similarity index 100% rename from src/minecraft/mekanism/common/ItemElectricBow.java rename to common/mekanism/common/ItemElectricBow.java diff --git a/src/minecraft/mekanism/common/ItemEnergized.java b/common/mekanism/common/ItemEnergized.java similarity index 100% rename from src/minecraft/mekanism/common/ItemEnergized.java rename to common/mekanism/common/ItemEnergized.java diff --git a/src/minecraft/mekanism/common/ItemIngot.java b/common/mekanism/common/ItemIngot.java similarity index 100% rename from src/minecraft/mekanism/common/ItemIngot.java rename to common/mekanism/common/ItemIngot.java diff --git a/src/minecraft/mekanism/common/ItemMachineUpgrade.java b/common/mekanism/common/ItemMachineUpgrade.java similarity index 100% rename from src/minecraft/mekanism/common/ItemMachineUpgrade.java rename to common/mekanism/common/ItemMachineUpgrade.java diff --git a/src/minecraft/mekanism/common/ItemMekanism.java b/common/mekanism/common/ItemMekanism.java similarity index 100% rename from src/minecraft/mekanism/common/ItemMekanism.java rename to common/mekanism/common/ItemMekanism.java diff --git a/src/minecraft/mekanism/common/ItemPortableTeleporter.java b/common/mekanism/common/ItemPortableTeleporter.java similarity index 100% rename from src/minecraft/mekanism/common/ItemPortableTeleporter.java rename to common/mekanism/common/ItemPortableTeleporter.java diff --git a/src/minecraft/mekanism/common/ItemRobit.java b/common/mekanism/common/ItemRobit.java similarity index 100% rename from src/minecraft/mekanism/common/ItemRobit.java rename to common/mekanism/common/ItemRobit.java diff --git a/src/minecraft/mekanism/common/ItemStopwatch.java b/common/mekanism/common/ItemStopwatch.java similarity index 100% rename from src/minecraft/mekanism/common/ItemStopwatch.java rename to common/mekanism/common/ItemStopwatch.java diff --git a/src/minecraft/mekanism/common/ItemStorageTank.java b/common/mekanism/common/ItemStorageTank.java similarity index 100% rename from src/minecraft/mekanism/common/ItemStorageTank.java rename to common/mekanism/common/ItemStorageTank.java diff --git a/src/minecraft/mekanism/common/ItemWeatherOrb.java b/common/mekanism/common/ItemWeatherOrb.java similarity index 100% rename from src/minecraft/mekanism/common/ItemWeatherOrb.java rename to common/mekanism/common/ItemWeatherOrb.java diff --git a/src/minecraft/mekanism/common/LinkedPowerProvider.java b/common/mekanism/common/LinkedPowerProvider.java similarity index 100% rename from src/minecraft/mekanism/common/LinkedPowerProvider.java rename to common/mekanism/common/LinkedPowerProvider.java diff --git a/src/minecraft/mekanism/common/LiquidNetwork.java b/common/mekanism/common/LiquidNetwork.java similarity index 100% rename from src/minecraft/mekanism/common/LiquidNetwork.java rename to common/mekanism/common/LiquidNetwork.java diff --git a/src/minecraft/mekanism/common/LiquidSlot.java b/common/mekanism/common/LiquidSlot.java similarity index 100% rename from src/minecraft/mekanism/common/LiquidSlot.java rename to common/mekanism/common/LiquidSlot.java diff --git a/src/minecraft/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java similarity index 100% rename from src/minecraft/mekanism/common/Mekanism.java rename to common/mekanism/common/Mekanism.java diff --git a/src/minecraft/mekanism/common/MekanismHooks.java b/common/mekanism/common/MekanismHooks.java similarity index 100% rename from src/minecraft/mekanism/common/MekanismHooks.java rename to common/mekanism/common/MekanismHooks.java diff --git a/src/minecraft/mekanism/common/MekanismRecipe.java b/common/mekanism/common/MekanismRecipe.java similarity index 100% rename from src/minecraft/mekanism/common/MekanismRecipe.java rename to common/mekanism/common/MekanismRecipe.java diff --git a/src/minecraft/mekanism/common/MekanismUtils.java b/common/mekanism/common/MekanismUtils.java similarity index 100% rename from src/minecraft/mekanism/common/MekanismUtils.java rename to common/mekanism/common/MekanismUtils.java diff --git a/src/minecraft/mekanism/common/OreHandler.java b/common/mekanism/common/OreHandler.java similarity index 100% rename from src/minecraft/mekanism/common/OreHandler.java rename to common/mekanism/common/OreHandler.java diff --git a/src/minecraft/mekanism/common/PacketHandler.java b/common/mekanism/common/PacketHandler.java similarity index 100% rename from src/minecraft/mekanism/common/PacketHandler.java rename to common/mekanism/common/PacketHandler.java diff --git a/src/minecraft/mekanism/common/PipeUtils.java b/common/mekanism/common/PipeUtils.java similarity index 100% rename from src/minecraft/mekanism/common/PipeUtils.java rename to common/mekanism/common/PipeUtils.java diff --git a/src/minecraft/mekanism/common/RecipeHandler.java b/common/mekanism/common/RecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/common/RecipeHandler.java rename to common/mekanism/common/RecipeHandler.java diff --git a/src/minecraft/mekanism/common/RobitAIFollow.java b/common/mekanism/common/RobitAIFollow.java similarity index 100% rename from src/minecraft/mekanism/common/RobitAIFollow.java rename to common/mekanism/common/RobitAIFollow.java diff --git a/src/minecraft/mekanism/common/SlotElectricChest.java b/common/mekanism/common/SlotElectricChest.java similarity index 100% rename from src/minecraft/mekanism/common/SlotElectricChest.java rename to common/mekanism/common/SlotElectricChest.java diff --git a/src/minecraft/mekanism/common/SlotEnergy.java b/common/mekanism/common/SlotEnergy.java similarity index 100% rename from src/minecraft/mekanism/common/SlotEnergy.java rename to common/mekanism/common/SlotEnergy.java diff --git a/src/minecraft/mekanism/common/SlotMachineUpgrade.java b/common/mekanism/common/SlotMachineUpgrade.java similarity index 100% rename from src/minecraft/mekanism/common/SlotMachineUpgrade.java rename to common/mekanism/common/SlotMachineUpgrade.java diff --git a/src/minecraft/mekanism/common/SlotOutput.java b/common/mekanism/common/SlotOutput.java similarity index 100% rename from src/minecraft/mekanism/common/SlotOutput.java rename to common/mekanism/common/SlotOutput.java diff --git a/src/minecraft/mekanism/common/SlotStorageTank.java b/common/mekanism/common/SlotStorageTank.java similarity index 100% rename from src/minecraft/mekanism/common/SlotStorageTank.java rename to common/mekanism/common/SlotStorageTank.java diff --git a/src/minecraft/mekanism/common/SynchronizedTankData.java b/common/mekanism/common/SynchronizedTankData.java similarity index 100% rename from src/minecraft/mekanism/common/SynchronizedTankData.java rename to common/mekanism/common/SynchronizedTankData.java diff --git a/src/minecraft/mekanism/common/TankUpdateProtocol.java b/common/mekanism/common/TankUpdateProtocol.java similarity index 100% rename from src/minecraft/mekanism/common/TankUpdateProtocol.java rename to common/mekanism/common/TankUpdateProtocol.java diff --git a/src/minecraft/mekanism/common/Teleporter.java b/common/mekanism/common/Teleporter.java similarity index 100% rename from src/minecraft/mekanism/common/Teleporter.java rename to common/mekanism/common/Teleporter.java diff --git a/src/minecraft/mekanism/common/ThreadGetData.java b/common/mekanism/common/ThreadGetData.java similarity index 100% rename from src/minecraft/mekanism/common/ThreadGetData.java rename to common/mekanism/common/ThreadGetData.java diff --git a/src/minecraft/mekanism/common/Tier.java b/common/mekanism/common/Tier.java similarity index 100% rename from src/minecraft/mekanism/common/Tier.java rename to common/mekanism/common/Tier.java diff --git a/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java b/common/mekanism/common/TileEntityAdvancedElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java rename to common/mekanism/common/TileEntityAdvancedElectricMachine.java diff --git a/src/minecraft/mekanism/common/TileEntityAdvancedFactory.java b/common/mekanism/common/TileEntityAdvancedFactory.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityAdvancedFactory.java rename to common/mekanism/common/TileEntityAdvancedFactory.java diff --git a/src/minecraft/mekanism/common/TileEntityBasicBlock.java b/common/mekanism/common/TileEntityBasicBlock.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityBasicBlock.java rename to common/mekanism/common/TileEntityBasicBlock.java diff --git a/src/minecraft/mekanism/common/TileEntityBasicMachine.java b/common/mekanism/common/TileEntityBasicMachine.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityBasicMachine.java rename to common/mekanism/common/TileEntityBasicMachine.java diff --git a/src/minecraft/mekanism/common/TileEntityBoundingBlock.java b/common/mekanism/common/TileEntityBoundingBlock.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityBoundingBlock.java rename to common/mekanism/common/TileEntityBoundingBlock.java diff --git a/src/minecraft/mekanism/common/TileEntityChargepad.java b/common/mekanism/common/TileEntityChargepad.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityChargepad.java rename to common/mekanism/common/TileEntityChargepad.java diff --git a/src/minecraft/mekanism/common/TileEntityCombiner.java b/common/mekanism/common/TileEntityCombiner.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityCombiner.java rename to common/mekanism/common/TileEntityCombiner.java diff --git a/src/minecraft/mekanism/common/TileEntityContainerBlock.java b/common/mekanism/common/TileEntityContainerBlock.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityContainerBlock.java rename to common/mekanism/common/TileEntityContainerBlock.java diff --git a/src/minecraft/mekanism/common/TileEntityControlPanel.java b/common/mekanism/common/TileEntityControlPanel.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityControlPanel.java rename to common/mekanism/common/TileEntityControlPanel.java diff --git a/src/minecraft/mekanism/common/TileEntityCrusher.java b/common/mekanism/common/TileEntityCrusher.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityCrusher.java rename to common/mekanism/common/TileEntityCrusher.java diff --git a/src/minecraft/mekanism/common/TileEntityDynamicTank.java b/common/mekanism/common/TileEntityDynamicTank.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityDynamicTank.java rename to common/mekanism/common/TileEntityDynamicTank.java diff --git a/src/minecraft/mekanism/common/TileEntityDynamicValve.java b/common/mekanism/common/TileEntityDynamicValve.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityDynamicValve.java rename to common/mekanism/common/TileEntityDynamicValve.java diff --git a/src/minecraft/mekanism/common/TileEntityElectricBlock.java b/common/mekanism/common/TileEntityElectricBlock.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityElectricBlock.java rename to common/mekanism/common/TileEntityElectricBlock.java diff --git a/src/minecraft/mekanism/common/TileEntityElectricChest.java b/common/mekanism/common/TileEntityElectricChest.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityElectricChest.java rename to common/mekanism/common/TileEntityElectricChest.java diff --git a/src/minecraft/mekanism/common/TileEntityElectricMachine.java b/common/mekanism/common/TileEntityElectricMachine.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityElectricMachine.java rename to common/mekanism/common/TileEntityElectricMachine.java diff --git a/src/minecraft/mekanism/common/TileEntityElectricPump.java b/common/mekanism/common/TileEntityElectricPump.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityElectricPump.java rename to common/mekanism/common/TileEntityElectricPump.java diff --git a/src/minecraft/mekanism/common/TileEntityEliteFactory.java b/common/mekanism/common/TileEntityEliteFactory.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityEliteFactory.java rename to common/mekanism/common/TileEntityEliteFactory.java diff --git a/src/minecraft/mekanism/common/TileEntityEnergizedSmelter.java b/common/mekanism/common/TileEntityEnergizedSmelter.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityEnergizedSmelter.java rename to common/mekanism/common/TileEntityEnergizedSmelter.java diff --git a/src/minecraft/mekanism/common/TileEntityEnergyCube.java b/common/mekanism/common/TileEntityEnergyCube.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityEnergyCube.java rename to common/mekanism/common/TileEntityEnergyCube.java diff --git a/src/minecraft/mekanism/common/TileEntityEnrichmentChamber.java b/common/mekanism/common/TileEntityEnrichmentChamber.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityEnrichmentChamber.java rename to common/mekanism/common/TileEntityEnrichmentChamber.java diff --git a/src/minecraft/mekanism/common/TileEntityFactory.java b/common/mekanism/common/TileEntityFactory.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityFactory.java rename to common/mekanism/common/TileEntityFactory.java diff --git a/src/minecraft/mekanism/common/TileEntityGasTank.java b/common/mekanism/common/TileEntityGasTank.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityGasTank.java rename to common/mekanism/common/TileEntityGasTank.java diff --git a/src/minecraft/mekanism/common/TileEntityMechanicalPipe.java b/common/mekanism/common/TileEntityMechanicalPipe.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityMechanicalPipe.java rename to common/mekanism/common/TileEntityMechanicalPipe.java diff --git a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java b/common/mekanism/common/TileEntityMetallurgicInfuser.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java rename to common/mekanism/common/TileEntityMetallurgicInfuser.java diff --git a/src/minecraft/mekanism/common/TileEntityOsmiumCompressor.java b/common/mekanism/common/TileEntityOsmiumCompressor.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityOsmiumCompressor.java rename to common/mekanism/common/TileEntityOsmiumCompressor.java diff --git a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java b/common/mekanism/common/TileEntityPressurizedTube.java similarity index 64% rename from src/minecraft/mekanism/common/TileEntityPressurizedTube.java rename to common/mekanism/common/TileEntityPressurizedTube.java index 28c187d4c..bba9dfe11 100644 --- a/src/minecraft/mekanism/common/TileEntityPressurizedTube.java +++ b/common/mekanism/common/TileEntityPressurizedTube.java @@ -68,35 +68,26 @@ public class TileEntityPressurizedTube extends TileEntity implements IPressurize @Override public void refreshNetwork() { - if (!worldObj.isRemote) - { - if (canTransferGas()) - { - for (ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - - if (tileEntity instanceof IPressurizedTube) - { - if (((IPressurizedTube)tileEntity).canTransferGasToTube(this) && this.canTransferGasToTube(tileEntity)) - { - this.getNetwork().merge(((IPressurizedTube)tileEntity).getNetwork()); - } - else - { - ((IPressurizedTube) tileEntity).getNetwork().split(this); - this.getNetwork().split(((IPressurizedTube) tileEntity)); - } - } - } - - this.getNetwork().refresh(); - } - else - { - this.getNetwork().split(this); - } - } + if(!worldObj.isRemote) + { + if(canTransferGas()) + { + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tileEntity instanceof IPressurizedTube && ((IPressurizedTube)tileEntity).canTransferGas()) + { + getNetwork().merge(((IPressurizedTube)tileEntity).getNetwork()); + } + } + + getNetwork().refresh(); + } + else { + getNetwork().split(this); + } + } } @Override diff --git a/src/minecraft/mekanism/common/TileEntityPurificationChamber.java b/common/mekanism/common/TileEntityPurificationChamber.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityPurificationChamber.java rename to common/mekanism/common/TileEntityPurificationChamber.java diff --git a/src/minecraft/mekanism/common/TileEntityTeleporter.java b/common/mekanism/common/TileEntityTeleporter.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityTeleporter.java rename to common/mekanism/common/TileEntityTeleporter.java diff --git a/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java b/common/mekanism/common/TileEntityTheoreticalElementizer.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java rename to common/mekanism/common/TileEntityTheoreticalElementizer.java diff --git a/src/minecraft/mekanism/common/TileEntityUniversalCable.java b/common/mekanism/common/TileEntityUniversalCable.java similarity index 100% rename from src/minecraft/mekanism/common/TileEntityUniversalCable.java rename to common/mekanism/common/TileEntityUniversalCable.java diff --git a/src/minecraft/mekanism/common/Version.java b/common/mekanism/common/Version.java similarity index 100% rename from src/minecraft/mekanism/common/Version.java rename to common/mekanism/common/Version.java diff --git a/src/minecraft/mekanism/common/network/IMekanismPacket.java b/common/mekanism/common/network/IMekanismPacket.java similarity index 100% rename from src/minecraft/mekanism/common/network/IMekanismPacket.java rename to common/mekanism/common/network/IMekanismPacket.java diff --git a/src/minecraft/mekanism/common/network/PacketConfiguratorState.java b/common/mekanism/common/network/PacketConfiguratorState.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketConfiguratorState.java rename to common/mekanism/common/network/PacketConfiguratorState.java diff --git a/src/minecraft/mekanism/common/network/PacketControlPanel.java b/common/mekanism/common/network/PacketControlPanel.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketControlPanel.java rename to common/mekanism/common/network/PacketControlPanel.java diff --git a/src/minecraft/mekanism/common/network/PacketDataRequest.java b/common/mekanism/common/network/PacketDataRequest.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketDataRequest.java rename to common/mekanism/common/network/PacketDataRequest.java diff --git a/src/minecraft/mekanism/common/network/PacketDigitUpdate.java b/common/mekanism/common/network/PacketDigitUpdate.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketDigitUpdate.java rename to common/mekanism/common/network/PacketDigitUpdate.java diff --git a/src/minecraft/mekanism/common/network/PacketElectricBowState.java b/common/mekanism/common/network/PacketElectricBowState.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketElectricBowState.java rename to common/mekanism/common/network/PacketElectricBowState.java diff --git a/src/minecraft/mekanism/common/network/PacketElectricChest.java b/common/mekanism/common/network/PacketElectricChest.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketElectricChest.java rename to common/mekanism/common/network/PacketElectricChest.java diff --git a/src/minecraft/mekanism/common/network/PacketPortableTeleport.java b/common/mekanism/common/network/PacketPortableTeleport.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketPortableTeleport.java rename to common/mekanism/common/network/PacketPortableTeleport.java diff --git a/src/minecraft/mekanism/common/network/PacketPortalFX.java b/common/mekanism/common/network/PacketPortalFX.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketPortalFX.java rename to common/mekanism/common/network/PacketPortalFX.java diff --git a/src/minecraft/mekanism/common/network/PacketRobit.java b/common/mekanism/common/network/PacketRobit.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketRobit.java rename to common/mekanism/common/network/PacketRobit.java diff --git a/src/minecraft/mekanism/common/network/PacketStatusUpdate.java b/common/mekanism/common/network/PacketStatusUpdate.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketStatusUpdate.java rename to common/mekanism/common/network/PacketStatusUpdate.java diff --git a/src/minecraft/mekanism/common/network/PacketTileEntity.java b/common/mekanism/common/network/PacketTileEntity.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketTileEntity.java rename to common/mekanism/common/network/PacketTileEntity.java diff --git a/src/minecraft/mekanism/common/network/PacketTime.java b/common/mekanism/common/network/PacketTime.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketTime.java rename to common/mekanism/common/network/PacketTime.java diff --git a/src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java b/common/mekanism/common/network/PacketTransmitterTransferUpdate.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketTransmitterTransferUpdate.java rename to common/mekanism/common/network/PacketTransmitterTransferUpdate.java diff --git a/src/minecraft/mekanism/common/network/PacketWeather.java b/common/mekanism/common/network/PacketWeather.java similarity index 100% rename from src/minecraft/mekanism/common/network/PacketWeather.java rename to common/mekanism/common/network/PacketWeather.java diff --git a/src/minecraft/mekanism/generators/client/BlockRenderingHandler.java b/common/mekanism/generators/client/BlockRenderingHandler.java similarity index 100% rename from src/minecraft/mekanism/generators/client/BlockRenderingHandler.java rename to common/mekanism/generators/client/BlockRenderingHandler.java diff --git a/src/minecraft/mekanism/generators/client/GeneratorsClientProxy.java b/common/mekanism/generators/client/GeneratorsClientProxy.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GeneratorsClientProxy.java rename to common/mekanism/generators/client/GeneratorsClientProxy.java diff --git a/src/minecraft/mekanism/generators/client/GuiBioGenerator.java b/common/mekanism/generators/client/GuiBioGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GuiBioGenerator.java rename to common/mekanism/generators/client/GuiBioGenerator.java diff --git a/src/minecraft/mekanism/generators/client/GuiElectrolyticSeparator.java b/common/mekanism/generators/client/GuiElectrolyticSeparator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GuiElectrolyticSeparator.java rename to common/mekanism/generators/client/GuiElectrolyticSeparator.java diff --git a/src/minecraft/mekanism/generators/client/GuiHeatGenerator.java b/common/mekanism/generators/client/GuiHeatGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GuiHeatGenerator.java rename to common/mekanism/generators/client/GuiHeatGenerator.java diff --git a/src/minecraft/mekanism/generators/client/GuiHydrogenGenerator.java b/common/mekanism/generators/client/GuiHydrogenGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GuiHydrogenGenerator.java rename to common/mekanism/generators/client/GuiHydrogenGenerator.java diff --git a/src/minecraft/mekanism/generators/client/GuiSolarGenerator.java b/common/mekanism/generators/client/GuiSolarGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GuiSolarGenerator.java rename to common/mekanism/generators/client/GuiSolarGenerator.java diff --git a/src/minecraft/mekanism/generators/client/GuiWindTurbine.java b/common/mekanism/generators/client/GuiWindTurbine.java similarity index 100% rename from src/minecraft/mekanism/generators/client/GuiWindTurbine.java rename to common/mekanism/generators/client/GuiWindTurbine.java diff --git a/src/minecraft/mekanism/generators/client/ModelAdvancedSolarGenerator.java b/common/mekanism/generators/client/ModelAdvancedSolarGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/ModelAdvancedSolarGenerator.java rename to common/mekanism/generators/client/ModelAdvancedSolarGenerator.java diff --git a/src/minecraft/mekanism/generators/client/ModelBioGenerator.java b/common/mekanism/generators/client/ModelBioGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/ModelBioGenerator.java rename to common/mekanism/generators/client/ModelBioGenerator.java diff --git a/src/minecraft/mekanism/generators/client/ModelElectrolyticSeparator.java b/common/mekanism/generators/client/ModelElectrolyticSeparator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/ModelElectrolyticSeparator.java rename to common/mekanism/generators/client/ModelElectrolyticSeparator.java diff --git a/src/minecraft/mekanism/generators/client/ModelHeatGenerator.java b/common/mekanism/generators/client/ModelHeatGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/ModelHeatGenerator.java rename to common/mekanism/generators/client/ModelHeatGenerator.java diff --git a/src/minecraft/mekanism/generators/client/ModelHydrogenGenerator.java b/common/mekanism/generators/client/ModelHydrogenGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/ModelHydrogenGenerator.java rename to common/mekanism/generators/client/ModelHydrogenGenerator.java diff --git a/src/minecraft/mekanism/generators/client/ModelWindTurbine.java b/common/mekanism/generators/client/ModelWindTurbine.java similarity index 100% rename from src/minecraft/mekanism/generators/client/ModelWindTurbine.java rename to common/mekanism/generators/client/ModelWindTurbine.java diff --git a/src/minecraft/mekanism/generators/client/RenderAdvancedSolarGenerator.java b/common/mekanism/generators/client/RenderAdvancedSolarGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/RenderAdvancedSolarGenerator.java rename to common/mekanism/generators/client/RenderAdvancedSolarGenerator.java diff --git a/src/minecraft/mekanism/generators/client/RenderBioGenerator.java b/common/mekanism/generators/client/RenderBioGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/RenderBioGenerator.java rename to common/mekanism/generators/client/RenderBioGenerator.java diff --git a/src/minecraft/mekanism/generators/client/RenderElectrolyticSeparator.java b/common/mekanism/generators/client/RenderElectrolyticSeparator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/RenderElectrolyticSeparator.java rename to common/mekanism/generators/client/RenderElectrolyticSeparator.java diff --git a/src/minecraft/mekanism/generators/client/RenderHeatGenerator.java b/common/mekanism/generators/client/RenderHeatGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/RenderHeatGenerator.java rename to common/mekanism/generators/client/RenderHeatGenerator.java diff --git a/src/minecraft/mekanism/generators/client/RenderHydrogenGenerator.java b/common/mekanism/generators/client/RenderHydrogenGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/client/RenderHydrogenGenerator.java rename to common/mekanism/generators/client/RenderHydrogenGenerator.java diff --git a/src/minecraft/mekanism/generators/client/RenderWindTurbine.java b/common/mekanism/generators/client/RenderWindTurbine.java similarity index 100% rename from src/minecraft/mekanism/generators/client/RenderWindTurbine.java rename to common/mekanism/generators/client/RenderWindTurbine.java diff --git a/src/minecraft/mekanism/generators/common/BlockGenerator.java b/common/mekanism/generators/common/BlockGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/BlockGenerator.java rename to common/mekanism/generators/common/BlockGenerator.java diff --git a/src/minecraft/mekanism/generators/common/ContainerBioGenerator.java b/common/mekanism/generators/common/ContainerBioGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ContainerBioGenerator.java rename to common/mekanism/generators/common/ContainerBioGenerator.java diff --git a/src/minecraft/mekanism/generators/common/ContainerElectrolyticSeparator.java b/common/mekanism/generators/common/ContainerElectrolyticSeparator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ContainerElectrolyticSeparator.java rename to common/mekanism/generators/common/ContainerElectrolyticSeparator.java diff --git a/src/minecraft/mekanism/generators/common/ContainerHeatGenerator.java b/common/mekanism/generators/common/ContainerHeatGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ContainerHeatGenerator.java rename to common/mekanism/generators/common/ContainerHeatGenerator.java diff --git a/src/minecraft/mekanism/generators/common/ContainerHydrogenGenerator.java b/common/mekanism/generators/common/ContainerHydrogenGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ContainerHydrogenGenerator.java rename to common/mekanism/generators/common/ContainerHydrogenGenerator.java diff --git a/src/minecraft/mekanism/generators/common/ContainerSolarGenerator.java b/common/mekanism/generators/common/ContainerSolarGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ContainerSolarGenerator.java rename to common/mekanism/generators/common/ContainerSolarGenerator.java diff --git a/src/minecraft/mekanism/generators/common/ContainerWindTurbine.java b/common/mekanism/generators/common/ContainerWindTurbine.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ContainerWindTurbine.java rename to common/mekanism/generators/common/ContainerWindTurbine.java diff --git a/src/minecraft/mekanism/generators/common/GeneratorsCommonProxy.java b/common/mekanism/generators/common/GeneratorsCommonProxy.java similarity index 100% rename from src/minecraft/mekanism/generators/common/GeneratorsCommonProxy.java rename to common/mekanism/generators/common/GeneratorsCommonProxy.java diff --git a/src/minecraft/mekanism/generators/common/GeneratorsGuiHandler.java b/common/mekanism/generators/common/GeneratorsGuiHandler.java similarity index 100% rename from src/minecraft/mekanism/generators/common/GeneratorsGuiHandler.java rename to common/mekanism/generators/common/GeneratorsGuiHandler.java diff --git a/src/minecraft/mekanism/generators/common/ItemBlockGenerator.java b/common/mekanism/generators/common/ItemBlockGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/ItemBlockGenerator.java rename to common/mekanism/generators/common/ItemBlockGenerator.java diff --git a/src/minecraft/mekanism/generators/common/MekanismGenerators.java b/common/mekanism/generators/common/MekanismGenerators.java similarity index 100% rename from src/minecraft/mekanism/generators/common/MekanismGenerators.java rename to common/mekanism/generators/common/MekanismGenerators.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java b/common/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java rename to common/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityBioGenerator.java b/common/mekanism/generators/common/TileEntityBioGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityBioGenerator.java rename to common/mekanism/generators/common/TileEntityBioGenerator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java b/common/mekanism/generators/common/TileEntityElectrolyticSeparator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java rename to common/mekanism/generators/common/TileEntityElectrolyticSeparator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java b/common/mekanism/generators/common/TileEntityGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityGenerator.java rename to common/mekanism/generators/common/TileEntityGenerator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityHeatGenerator.java b/common/mekanism/generators/common/TileEntityHeatGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityHeatGenerator.java rename to common/mekanism/generators/common/TileEntityHeatGenerator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityHydrogenGenerator.java b/common/mekanism/generators/common/TileEntityHydrogenGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityHydrogenGenerator.java rename to common/mekanism/generators/common/TileEntityHydrogenGenerator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntitySolarGenerator.java b/common/mekanism/generators/common/TileEntitySolarGenerator.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntitySolarGenerator.java rename to common/mekanism/generators/common/TileEntitySolarGenerator.java diff --git a/src/minecraft/mekanism/generators/common/TileEntityWindTurbine.java b/common/mekanism/generators/common/TileEntityWindTurbine.java similarity index 100% rename from src/minecraft/mekanism/generators/common/TileEntityWindTurbine.java rename to common/mekanism/generators/common/TileEntityWindTurbine.java diff --git a/src/minecraft/mekanism/generators/common/network/PacketElectrolyticSeparatorParticle.java b/common/mekanism/generators/common/network/PacketElectrolyticSeparatorParticle.java similarity index 100% rename from src/minecraft/mekanism/generators/common/network/PacketElectrolyticSeparatorParticle.java rename to common/mekanism/generators/common/network/PacketElectrolyticSeparatorParticle.java diff --git a/src/minecraft/mekanism/nei/AdvancedMachineRecipeHandler.java b/common/mekanism/nei/AdvancedMachineRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/AdvancedMachineRecipeHandler.java rename to common/mekanism/nei/AdvancedMachineRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/CombinerRecipeHandler.java b/common/mekanism/nei/CombinerRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/CombinerRecipeHandler.java rename to common/mekanism/nei/CombinerRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/CrusherRecipeHandler.java b/common/mekanism/nei/CrusherRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/CrusherRecipeHandler.java rename to common/mekanism/nei/CrusherRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/EnrichmentChamberRecipeHandler.java b/common/mekanism/nei/EnrichmentChamberRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/EnrichmentChamberRecipeHandler.java rename to common/mekanism/nei/EnrichmentChamberRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/MachineRecipeHandler.java b/common/mekanism/nei/MachineRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/MachineRecipeHandler.java rename to common/mekanism/nei/MachineRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/MekanismRecipeHandler.java b/common/mekanism/nei/MekanismRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/MekanismRecipeHandler.java rename to common/mekanism/nei/MekanismRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/MetallurgicInfuserRecipeHandler.java b/common/mekanism/nei/MetallurgicInfuserRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/MetallurgicInfuserRecipeHandler.java rename to common/mekanism/nei/MetallurgicInfuserRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/NEIMekanismConfig.java b/common/mekanism/nei/NEIMekanismConfig.java similarity index 100% rename from src/minecraft/mekanism/nei/NEIMekanismConfig.java rename to common/mekanism/nei/NEIMekanismConfig.java diff --git a/src/minecraft/mekanism/nei/OsmiumCompressorRecipeHandler.java b/common/mekanism/nei/OsmiumCompressorRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/OsmiumCompressorRecipeHandler.java rename to common/mekanism/nei/OsmiumCompressorRecipeHandler.java diff --git a/src/minecraft/mekanism/nei/PurificationChamberRecipeHandler.java b/common/mekanism/nei/PurificationChamberRecipeHandler.java similarity index 100% rename from src/minecraft/mekanism/nei/PurificationChamberRecipeHandler.java rename to common/mekanism/nei/PurificationChamberRecipeHandler.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismArmor.java b/common/mekanism/tools/common/ItemMekanismArmor.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismArmor.java rename to common/mekanism/tools/common/ItemMekanismArmor.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismAxe.java b/common/mekanism/tools/common/ItemMekanismAxe.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismAxe.java rename to common/mekanism/tools/common/ItemMekanismAxe.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismHoe.java b/common/mekanism/tools/common/ItemMekanismHoe.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismHoe.java rename to common/mekanism/tools/common/ItemMekanismHoe.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismPaxel.java b/common/mekanism/tools/common/ItemMekanismPaxel.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismPaxel.java rename to common/mekanism/tools/common/ItemMekanismPaxel.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismPickaxe.java b/common/mekanism/tools/common/ItemMekanismPickaxe.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismPickaxe.java rename to common/mekanism/tools/common/ItemMekanismPickaxe.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismShovel.java b/common/mekanism/tools/common/ItemMekanismShovel.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismShovel.java rename to common/mekanism/tools/common/ItemMekanismShovel.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismSword.java b/common/mekanism/tools/common/ItemMekanismSword.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismSword.java rename to common/mekanism/tools/common/ItemMekanismSword.java diff --git a/src/minecraft/mekanism/tools/common/ItemMekanismTool.java b/common/mekanism/tools/common/ItemMekanismTool.java similarity index 100% rename from src/minecraft/mekanism/tools/common/ItemMekanismTool.java rename to common/mekanism/tools/common/ItemMekanismTool.java diff --git a/src/minecraft/mekanism/tools/common/MekanismTools.java b/common/mekanism/tools/common/MekanismTools.java similarity index 100% rename from src/minecraft/mekanism/tools/common/MekanismTools.java rename to common/mekanism/tools/common/MekanismTools.java diff --git a/src/minecraft/micdoodle8/mods/galacticraft/API/IEntityBreathable.java b/common/micdoodle8/mods/galacticraft/API/IEntityBreathable.java similarity index 100% rename from src/minecraft/micdoodle8/mods/galacticraft/API/IEntityBreathable.java rename to common/micdoodle8/mods/galacticraft/API/IEntityBreathable.java diff --git a/src/minecraft/micdoodle8/mods/galacticraft/API/ISolarLevel.java b/common/micdoodle8/mods/galacticraft/API/ISolarLevel.java similarity index 100% rename from src/minecraft/micdoodle8/mods/galacticraft/API/ISolarLevel.java rename to common/micdoodle8/mods/galacticraft/API/ISolarLevel.java diff --git a/src/minecraft/rebelkeithy/mods/metallurgy/api/IMetalSet.java b/common/rebelkeithy/mods/metallurgy/api/IMetalSet.java similarity index 100% rename from src/minecraft/rebelkeithy/mods/metallurgy/api/IMetalSet.java rename to common/rebelkeithy/mods/metallurgy/api/IMetalSet.java diff --git a/src/minecraft/rebelkeithy/mods/metallurgy/api/IOreInfo.java b/common/rebelkeithy/mods/metallurgy/api/IOreInfo.java similarity index 100% rename from src/minecraft/rebelkeithy/mods/metallurgy/api/IOreInfo.java rename to common/rebelkeithy/mods/metallurgy/api/IOreInfo.java diff --git a/src/minecraft/rebelkeithy/mods/metallurgy/api/MetallurgyAPI.java b/common/rebelkeithy/mods/metallurgy/api/MetallurgyAPI.java similarity index 100% rename from src/minecraft/rebelkeithy/mods/metallurgy/api/MetallurgyAPI.java rename to common/rebelkeithy/mods/metallurgy/api/MetallurgyAPI.java diff --git a/src/minecraft/rebelkeithy/mods/metallurgy/api/OreType.java b/common/rebelkeithy/mods/metallurgy/api/OreType.java similarity index 100% rename from src/minecraft/rebelkeithy/mods/metallurgy/api/OreType.java rename to common/rebelkeithy/mods/metallurgy/api/OreType.java diff --git a/src/minecraft/thermalexpansion/api/ThermalExpansionInfo.java b/common/thermalexpansion/api/ThermalExpansionInfo.java similarity index 100% rename from src/minecraft/thermalexpansion/api/ThermalExpansionInfo.java rename to common/thermalexpansion/api/ThermalExpansionInfo.java diff --git a/src/minecraft/thermalexpansion/api/crafting/CraftingHelpers.java b/common/thermalexpansion/api/crafting/CraftingHelpers.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/CraftingHelpers.java rename to common/thermalexpansion/api/crafting/CraftingHelpers.java diff --git a/src/minecraft/thermalexpansion/api/crafting/CraftingManagers.java b/common/thermalexpansion/api/crafting/CraftingManagers.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/CraftingManagers.java rename to common/thermalexpansion/api/crafting/CraftingManagers.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ICrucibleManager.java b/common/thermalexpansion/api/crafting/ICrucibleManager.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ICrucibleManager.java rename to common/thermalexpansion/api/crafting/ICrucibleManager.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ICrucibleRecipe.java b/common/thermalexpansion/api/crafting/ICrucibleRecipe.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ICrucibleRecipe.java rename to common/thermalexpansion/api/crafting/ICrucibleRecipe.java diff --git a/src/minecraft/thermalexpansion/api/crafting/IFurnaceManager.java b/common/thermalexpansion/api/crafting/IFurnaceManager.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/IFurnaceManager.java rename to common/thermalexpansion/api/crafting/IFurnaceManager.java diff --git a/src/minecraft/thermalexpansion/api/crafting/IFurnaceRecipe.java b/common/thermalexpansion/api/crafting/IFurnaceRecipe.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/IFurnaceRecipe.java rename to common/thermalexpansion/api/crafting/IFurnaceRecipe.java diff --git a/src/minecraft/thermalexpansion/api/crafting/IPulverizerManager.java b/common/thermalexpansion/api/crafting/IPulverizerManager.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/IPulverizerManager.java rename to common/thermalexpansion/api/crafting/IPulverizerManager.java diff --git a/src/minecraft/thermalexpansion/api/crafting/IPulverizerRecipe.java b/common/thermalexpansion/api/crafting/IPulverizerRecipe.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/IPulverizerRecipe.java rename to common/thermalexpansion/api/crafting/IPulverizerRecipe.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ISawmillManager.java b/common/thermalexpansion/api/crafting/ISawmillManager.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ISawmillManager.java rename to common/thermalexpansion/api/crafting/ISawmillManager.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ISawmillRecipe.java b/common/thermalexpansion/api/crafting/ISawmillRecipe.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ISawmillRecipe.java rename to common/thermalexpansion/api/crafting/ISawmillRecipe.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ISmelterManager.java b/common/thermalexpansion/api/crafting/ISmelterManager.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ISmelterManager.java rename to common/thermalexpansion/api/crafting/ISmelterManager.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ISmelterRecipe.java b/common/thermalexpansion/api/crafting/ISmelterRecipe.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ISmelterRecipe.java rename to common/thermalexpansion/api/crafting/ISmelterRecipe.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ITransposerManager.java b/common/thermalexpansion/api/crafting/ITransposerManager.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ITransposerManager.java rename to common/thermalexpansion/api/crafting/ITransposerManager.java diff --git a/src/minecraft/thermalexpansion/api/crafting/ITransposerRecipe.java b/common/thermalexpansion/api/crafting/ITransposerRecipe.java similarity index 100% rename from src/minecraft/thermalexpansion/api/crafting/ITransposerRecipe.java rename to common/thermalexpansion/api/crafting/ITransposerRecipe.java diff --git a/src/minecraft/thermalexpansion/api/item/IChargeableItem.java b/common/thermalexpansion/api/item/IChargeableItem.java similarity index 100% rename from src/minecraft/thermalexpansion/api/item/IChargeableItem.java rename to common/thermalexpansion/api/item/IChargeableItem.java diff --git a/src/minecraft/thermalexpansion/api/item/ItemRegistry.java b/common/thermalexpansion/api/item/ItemRegistry.java similarity index 100% rename from src/minecraft/thermalexpansion/api/item/ItemRegistry.java rename to common/thermalexpansion/api/item/ItemRegistry.java diff --git a/src/minecraft/thermalexpansion/api/tileentity/IAccessControl.java b/common/thermalexpansion/api/tileentity/IAccessControl.java similarity index 100% rename from src/minecraft/thermalexpansion/api/tileentity/IAccessControl.java rename to common/thermalexpansion/api/tileentity/IAccessControl.java diff --git a/src/minecraft/thermalexpansion/api/tileentity/IReconfigurableFacing.java b/common/thermalexpansion/api/tileentity/IReconfigurableFacing.java similarity index 100% rename from src/minecraft/thermalexpansion/api/tileentity/IReconfigurableFacing.java rename to common/thermalexpansion/api/tileentity/IReconfigurableFacing.java diff --git a/src/minecraft/thermalexpansion/api/tileentity/IReconfigurableSides.java b/common/thermalexpansion/api/tileentity/IReconfigurableSides.java similarity index 100% rename from src/minecraft/thermalexpansion/api/tileentity/IReconfigurableSides.java rename to common/thermalexpansion/api/tileentity/IReconfigurableSides.java diff --git a/src/minecraft/thermalexpansion/api/tileentity/IRedstoneControl.java b/common/thermalexpansion/api/tileentity/IRedstoneControl.java similarity index 100% rename from src/minecraft/thermalexpansion/api/tileentity/IRedstoneControl.java rename to common/thermalexpansion/api/tileentity/IRedstoneControl.java diff --git a/src/minecraft/thermalexpansion/api/tileentity/ISidedBlockTexture.java b/common/thermalexpansion/api/tileentity/ISidedBlockTexture.java similarity index 100% rename from src/minecraft/thermalexpansion/api/tileentity/ISidedBlockTexture.java rename to common/thermalexpansion/api/tileentity/ISidedBlockTexture.java diff --git a/src/minecraft/thermalexpansion/api/tileentity/ITesseract.java b/common/thermalexpansion/api/tileentity/ITesseract.java similarity index 100% rename from src/minecraft/thermalexpansion/api/tileentity/ITesseract.java rename to common/thermalexpansion/api/tileentity/ITesseract.java diff --git a/src/minecraft/universalelectricity/core/UniversalElectricity.java b/common/universalelectricity/core/UniversalElectricity.java similarity index 100% rename from src/minecraft/universalelectricity/core/UniversalElectricity.java rename to common/universalelectricity/core/UniversalElectricity.java diff --git a/src/minecraft/universalelectricity/core/block/IConductor.java b/common/universalelectricity/core/block/IConductor.java similarity index 100% rename from src/minecraft/universalelectricity/core/block/IConductor.java rename to common/universalelectricity/core/block/IConductor.java diff --git a/src/minecraft/universalelectricity/core/block/IConnectionProvider.java b/common/universalelectricity/core/block/IConnectionProvider.java similarity index 100% rename from src/minecraft/universalelectricity/core/block/IConnectionProvider.java rename to common/universalelectricity/core/block/IConnectionProvider.java diff --git a/src/minecraft/universalelectricity/core/block/IConnector.java b/common/universalelectricity/core/block/IConnector.java similarity index 100% rename from src/minecraft/universalelectricity/core/block/IConnector.java rename to common/universalelectricity/core/block/IConnector.java diff --git a/src/minecraft/universalelectricity/core/block/IElectricityStorage.java b/common/universalelectricity/core/block/IElectricityStorage.java similarity index 100% rename from src/minecraft/universalelectricity/core/block/IElectricityStorage.java rename to common/universalelectricity/core/block/IElectricityStorage.java diff --git a/src/minecraft/universalelectricity/core/block/INetworkProvider.java b/common/universalelectricity/core/block/INetworkProvider.java similarity index 100% rename from src/minecraft/universalelectricity/core/block/INetworkProvider.java rename to common/universalelectricity/core/block/INetworkProvider.java diff --git a/src/minecraft/universalelectricity/core/block/IVoltage.java b/common/universalelectricity/core/block/IVoltage.java similarity index 100% rename from src/minecraft/universalelectricity/core/block/IVoltage.java rename to common/universalelectricity/core/block/IVoltage.java diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityDisplay.java b/common/universalelectricity/core/electricity/ElectricityDisplay.java similarity index 100% rename from src/minecraft/universalelectricity/core/electricity/ElectricityDisplay.java rename to common/universalelectricity/core/electricity/ElectricityDisplay.java diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java b/common/universalelectricity/core/electricity/ElectricityNetwork.java similarity index 100% rename from src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java rename to common/universalelectricity/core/electricity/ElectricityNetwork.java diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityNetworkHelper.java b/common/universalelectricity/core/electricity/ElectricityNetworkHelper.java similarity index 100% rename from src/minecraft/universalelectricity/core/electricity/ElectricityNetworkHelper.java rename to common/universalelectricity/core/electricity/ElectricityNetworkHelper.java diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityPack.java b/common/universalelectricity/core/electricity/ElectricityPack.java similarity index 100% rename from src/minecraft/universalelectricity/core/electricity/ElectricityPack.java rename to common/universalelectricity/core/electricity/ElectricityPack.java diff --git a/src/minecraft/universalelectricity/core/electricity/IConductorRegistry.java b/common/universalelectricity/core/electricity/IConductorRegistry.java similarity index 100% rename from src/minecraft/universalelectricity/core/electricity/IConductorRegistry.java rename to common/universalelectricity/core/electricity/IConductorRegistry.java diff --git a/src/minecraft/universalelectricity/core/electricity/IElectricityNetwork.java b/common/universalelectricity/core/electricity/IElectricityNetwork.java similarity index 100% rename from src/minecraft/universalelectricity/core/electricity/IElectricityNetwork.java rename to common/universalelectricity/core/electricity/IElectricityNetwork.java diff --git a/src/minecraft/universalelectricity/core/item/ElectricItemHelper.java b/common/universalelectricity/core/item/ElectricItemHelper.java similarity index 100% rename from src/minecraft/universalelectricity/core/item/ElectricItemHelper.java rename to common/universalelectricity/core/item/ElectricItemHelper.java diff --git a/src/minecraft/universalelectricity/core/item/IItemElectric.java b/common/universalelectricity/core/item/IItemElectric.java similarity index 100% rename from src/minecraft/universalelectricity/core/item/IItemElectric.java rename to common/universalelectricity/core/item/IItemElectric.java diff --git a/src/minecraft/universalelectricity/core/item/IItemElectricityStorage.java b/common/universalelectricity/core/item/IItemElectricityStorage.java similarity index 100% rename from src/minecraft/universalelectricity/core/item/IItemElectricityStorage.java rename to common/universalelectricity/core/item/IItemElectricityStorage.java diff --git a/src/minecraft/universalelectricity/core/item/IItemVoltage.java b/common/universalelectricity/core/item/IItemVoltage.java similarity index 100% rename from src/minecraft/universalelectricity/core/item/IItemVoltage.java rename to common/universalelectricity/core/item/IItemVoltage.java diff --git a/src/minecraft/universalelectricity/core/item/ItemElectric.java b/common/universalelectricity/core/item/ItemElectric.java similarity index 100% rename from src/minecraft/universalelectricity/core/item/ItemElectric.java rename to common/universalelectricity/core/item/ItemElectric.java diff --git a/src/minecraft/universalelectricity/core/path/IPathCallBack.java b/common/universalelectricity/core/path/IPathCallBack.java similarity index 100% rename from src/minecraft/universalelectricity/core/path/IPathCallBack.java rename to common/universalelectricity/core/path/IPathCallBack.java diff --git a/src/minecraft/universalelectricity/core/path/Pathfinder.java b/common/universalelectricity/core/path/Pathfinder.java similarity index 100% rename from src/minecraft/universalelectricity/core/path/Pathfinder.java rename to common/universalelectricity/core/path/Pathfinder.java diff --git a/src/minecraft/universalelectricity/core/path/PathfinderAStar.java b/common/universalelectricity/core/path/PathfinderAStar.java similarity index 100% rename from src/minecraft/universalelectricity/core/path/PathfinderAStar.java rename to common/universalelectricity/core/path/PathfinderAStar.java diff --git a/src/minecraft/universalelectricity/core/path/PathfinderChecker.java b/common/universalelectricity/core/path/PathfinderChecker.java similarity index 100% rename from src/minecraft/universalelectricity/core/path/PathfinderChecker.java rename to common/universalelectricity/core/path/PathfinderChecker.java diff --git a/src/minecraft/universalelectricity/core/vector/Vector2.java b/common/universalelectricity/core/vector/Vector2.java similarity index 100% rename from src/minecraft/universalelectricity/core/vector/Vector2.java rename to common/universalelectricity/core/vector/Vector2.java diff --git a/src/minecraft/universalelectricity/core/vector/Vector3.java b/common/universalelectricity/core/vector/Vector3.java similarity index 100% rename from src/minecraft/universalelectricity/core/vector/Vector3.java rename to common/universalelectricity/core/vector/Vector3.java diff --git a/src/minecraft/universalelectricity/core/vector/VectorHelper.java b/common/universalelectricity/core/vector/VectorHelper.java similarity index 100% rename from src/minecraft/universalelectricity/core/vector/VectorHelper.java rename to common/universalelectricity/core/vector/VectorHelper.java diff --git a/src/minecraft/universalelectricity/prefab/CustomDamageSource.java b/common/universalelectricity/prefab/CustomDamageSource.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/CustomDamageSource.java rename to common/universalelectricity/prefab/CustomDamageSource.java diff --git a/src/minecraft/universalelectricity/prefab/GuiBase.java b/common/universalelectricity/prefab/GuiBase.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/GuiBase.java rename to common/universalelectricity/prefab/GuiBase.java diff --git a/src/minecraft/universalelectricity/prefab/RecipeHelper.java b/common/universalelectricity/prefab/RecipeHelper.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/RecipeHelper.java rename to common/universalelectricity/prefab/RecipeHelper.java diff --git a/src/minecraft/universalelectricity/prefab/SlotSpecific.java b/common/universalelectricity/prefab/SlotSpecific.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/SlotSpecific.java rename to common/universalelectricity/prefab/SlotSpecific.java diff --git a/src/minecraft/universalelectricity/prefab/TranslationHelper.java b/common/universalelectricity/prefab/TranslationHelper.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/TranslationHelper.java rename to common/universalelectricity/prefab/TranslationHelper.java diff --git a/src/minecraft/universalelectricity/prefab/block/BlockAdvanced.java b/common/universalelectricity/prefab/block/BlockAdvanced.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/block/BlockAdvanced.java rename to common/universalelectricity/prefab/block/BlockAdvanced.java diff --git a/src/minecraft/universalelectricity/prefab/block/BlockConductor.java b/common/universalelectricity/prefab/block/BlockConductor.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/block/BlockConductor.java rename to common/universalelectricity/prefab/block/BlockConductor.java diff --git a/src/minecraft/universalelectricity/prefab/block/BlockRotatable.java b/common/universalelectricity/prefab/block/BlockRotatable.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/block/BlockRotatable.java rename to common/universalelectricity/prefab/block/BlockRotatable.java diff --git a/src/minecraft/universalelectricity/prefab/flag/CommandFlag.java b/common/universalelectricity/prefab/flag/CommandFlag.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/CommandFlag.java rename to common/universalelectricity/prefab/flag/CommandFlag.java diff --git a/src/minecraft/universalelectricity/prefab/flag/Flag.java b/common/universalelectricity/prefab/flag/Flag.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/Flag.java rename to common/universalelectricity/prefab/flag/Flag.java diff --git a/src/minecraft/universalelectricity/prefab/flag/FlagBase.java b/common/universalelectricity/prefab/flag/FlagBase.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/FlagBase.java rename to common/universalelectricity/prefab/flag/FlagBase.java diff --git a/src/minecraft/universalelectricity/prefab/flag/FlagRegion.java b/common/universalelectricity/prefab/flag/FlagRegion.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/FlagRegion.java rename to common/universalelectricity/prefab/flag/FlagRegion.java diff --git a/src/minecraft/universalelectricity/prefab/flag/FlagRegistry.java b/common/universalelectricity/prefab/flag/FlagRegistry.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/FlagRegistry.java rename to common/universalelectricity/prefab/flag/FlagRegistry.java diff --git a/src/minecraft/universalelectricity/prefab/flag/FlagWorld.java b/common/universalelectricity/prefab/flag/FlagWorld.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/FlagWorld.java rename to common/universalelectricity/prefab/flag/FlagWorld.java diff --git a/src/minecraft/universalelectricity/prefab/flag/ModFlag.java b/common/universalelectricity/prefab/flag/ModFlag.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/ModFlag.java rename to common/universalelectricity/prefab/flag/ModFlag.java diff --git a/src/minecraft/universalelectricity/prefab/flag/NBTFileLoader.java b/common/universalelectricity/prefab/flag/NBTFileLoader.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/flag/NBTFileLoader.java rename to common/universalelectricity/prefab/flag/NBTFileLoader.java diff --git a/src/minecraft/universalelectricity/prefab/implement/IDisableable.java b/common/universalelectricity/prefab/implement/IDisableable.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/implement/IDisableable.java rename to common/universalelectricity/prefab/implement/IDisableable.java diff --git a/src/minecraft/universalelectricity/prefab/implement/IRedstoneProvider.java b/common/universalelectricity/prefab/implement/IRedstoneProvider.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/implement/IRedstoneProvider.java rename to common/universalelectricity/prefab/implement/IRedstoneProvider.java diff --git a/src/minecraft/universalelectricity/prefab/implement/IRedstoneReceptor.java b/common/universalelectricity/prefab/implement/IRedstoneReceptor.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/implement/IRedstoneReceptor.java rename to common/universalelectricity/prefab/implement/IRedstoneReceptor.java diff --git a/src/minecraft/universalelectricity/prefab/implement/IRotatable.java b/common/universalelectricity/prefab/implement/IRotatable.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/implement/IRotatable.java rename to common/universalelectricity/prefab/implement/IRotatable.java diff --git a/src/minecraft/universalelectricity/prefab/implement/ITier.java b/common/universalelectricity/prefab/implement/ITier.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/implement/ITier.java rename to common/universalelectricity/prefab/implement/ITier.java diff --git a/src/minecraft/universalelectricity/prefab/implement/IToolConfigurator.java b/common/universalelectricity/prefab/implement/IToolConfigurator.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/implement/IToolConfigurator.java rename to common/universalelectricity/prefab/implement/IToolConfigurator.java diff --git a/src/minecraft/universalelectricity/prefab/multiblock/BlockMulti.java b/common/universalelectricity/prefab/multiblock/BlockMulti.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/multiblock/BlockMulti.java rename to common/universalelectricity/prefab/multiblock/BlockMulti.java diff --git a/src/minecraft/universalelectricity/prefab/multiblock/IBlockActivate.java b/common/universalelectricity/prefab/multiblock/IBlockActivate.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/multiblock/IBlockActivate.java rename to common/universalelectricity/prefab/multiblock/IBlockActivate.java diff --git a/src/minecraft/universalelectricity/prefab/multiblock/IMultiBlock.java b/common/universalelectricity/prefab/multiblock/IMultiBlock.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/multiblock/IMultiBlock.java rename to common/universalelectricity/prefab/multiblock/IMultiBlock.java diff --git a/src/minecraft/universalelectricity/prefab/multiblock/TileEntityMulti.java b/common/universalelectricity/prefab/multiblock/TileEntityMulti.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/multiblock/TileEntityMulti.java rename to common/universalelectricity/prefab/multiblock/TileEntityMulti.java diff --git a/src/minecraft/universalelectricity/prefab/network/IPacketReceiver.java b/common/universalelectricity/prefab/network/IPacketReceiver.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/network/IPacketReceiver.java rename to common/universalelectricity/prefab/network/IPacketReceiver.java diff --git a/src/minecraft/universalelectricity/prefab/network/PacketManager.java b/common/universalelectricity/prefab/network/PacketManager.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/network/PacketManager.java rename to common/universalelectricity/prefab/network/PacketManager.java diff --git a/src/minecraft/universalelectricity/prefab/ore/OreGenBase.java b/common/universalelectricity/prefab/ore/OreGenBase.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/ore/OreGenBase.java rename to common/universalelectricity/prefab/ore/OreGenBase.java diff --git a/src/minecraft/universalelectricity/prefab/ore/OreGenReplace.java b/common/universalelectricity/prefab/ore/OreGenReplace.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/ore/OreGenReplace.java rename to common/universalelectricity/prefab/ore/OreGenReplace.java diff --git a/src/minecraft/universalelectricity/prefab/ore/OreGenReplaceStone.java b/common/universalelectricity/prefab/ore/OreGenReplaceStone.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/ore/OreGenReplaceStone.java rename to common/universalelectricity/prefab/ore/OreGenReplaceStone.java diff --git a/src/minecraft/universalelectricity/prefab/ore/OreGenerator.java b/common/universalelectricity/prefab/ore/OreGenerator.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/ore/OreGenerator.java rename to common/universalelectricity/prefab/ore/OreGenerator.java diff --git a/src/minecraft/universalelectricity/prefab/potion/CustomPotion.java b/common/universalelectricity/prefab/potion/CustomPotion.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/potion/CustomPotion.java rename to common/universalelectricity/prefab/potion/CustomPotion.java diff --git a/src/minecraft/universalelectricity/prefab/potion/CustomPotionEffect.java b/common/universalelectricity/prefab/potion/CustomPotionEffect.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/potion/CustomPotionEffect.java rename to common/universalelectricity/prefab/potion/CustomPotionEffect.java diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java b/common/universalelectricity/prefab/tile/TileEntityAdvanced.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java rename to common/universalelectricity/prefab/tile/TileEntityAdvanced.java diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java b/common/universalelectricity/prefab/tile/TileEntityConductor.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java rename to common/universalelectricity/prefab/tile/TileEntityConductor.java diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityDisableable.java b/common/universalelectricity/prefab/tile/TileEntityDisableable.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/tile/TileEntityDisableable.java rename to common/universalelectricity/prefab/tile/TileEntityDisableable.java diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityElectrical.java b/common/universalelectricity/prefab/tile/TileEntityElectrical.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/tile/TileEntityElectrical.java rename to common/universalelectricity/prefab/tile/TileEntityElectrical.java diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityRunnable.java b/common/universalelectricity/prefab/tile/TileEntityElectricityRunnable.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityRunnable.java rename to common/universalelectricity/prefab/tile/TileEntityElectricityRunnable.java diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityStorage.java b/common/universalelectricity/prefab/tile/TileEntityElectricityStorage.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityStorage.java rename to common/universalelectricity/prefab/tile/TileEntityElectricityStorage.java diff --git a/src/minecraft/universalelectricity/prefab/vector/Region2.java b/common/universalelectricity/prefab/vector/Region2.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/vector/Region2.java rename to common/universalelectricity/prefab/vector/Region2.java diff --git a/src/minecraft/universalelectricity/prefab/vector/Region3.java b/common/universalelectricity/prefab/vector/Region3.java similarity index 100% rename from src/minecraft/universalelectricity/prefab/vector/Region3.java rename to common/universalelectricity/prefab/vector/Region3.java diff --git a/bin/minecraft/armor/bronze_1.png b/resources/armor/bronze_1.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/bronze_1.png rename to resources/armor/bronze_1.png diff --git a/bin/minecraft/armor/bronze_2.png b/resources/armor/bronze_2.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/bronze_2.png rename to resources/armor/bronze_2.png diff --git a/bin/minecraft/armor/glowstone_1.png b/resources/armor/glowstone_1.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/glowstone_1.png rename to resources/armor/glowstone_1.png diff --git a/bin/minecraft/armor/glowstone_2.png b/resources/armor/glowstone_2.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/glowstone_2.png rename to resources/armor/glowstone_2.png diff --git a/bin/minecraft/armor/lazuli_1.png b/resources/armor/lazuli_1.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/lazuli_1.png rename to resources/armor/lazuli_1.png diff --git a/bin/minecraft/armor/lazuli_2.png b/resources/armor/lazuli_2.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/lazuli_2.png rename to resources/armor/lazuli_2.png diff --git a/bin/minecraft/armor/obsidian_1.png b/resources/armor/obsidian_1.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/obsidian_1.png rename to resources/armor/obsidian_1.png diff --git a/bin/minecraft/armor/obsidian_2.png b/resources/armor/obsidian_2.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/obsidian_2.png rename to resources/armor/obsidian_2.png diff --git a/bin/minecraft/armor/osmium_1.png b/resources/armor/osmium_1.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/osmium_1.png rename to resources/armor/osmium_1.png diff --git a/bin/minecraft/armor/osmium_2.png b/resources/armor/osmium_2.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/osmium_2.png rename to resources/armor/osmium_2.png diff --git a/bin/minecraft/armor/steel_1.png b/resources/armor/steel_1.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/steel_1.png rename to resources/armor/steel_1.png diff --git a/bin/minecraft/armor/steel_2.png b/resources/armor/steel_2.png old mode 100755 new mode 100644 similarity index 100% rename from bin/minecraft/armor/steel_2.png rename to resources/armor/steel_2.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiBioGenerator.png b/resources/mods/mekanism/gui/GuiBioGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiBioGenerator.png rename to resources/mods/mekanism/gui/GuiBioGenerator.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiChamber.png b/resources/mods/mekanism/gui/GuiChamber.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiChamber.png rename to resources/mods/mekanism/gui/GuiChamber.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiCombiner.png b/resources/mods/mekanism/gui/GuiCombiner.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiCombiner.png rename to resources/mods/mekanism/gui/GuiCombiner.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiCompressor.png b/resources/mods/mekanism/gui/GuiCompressor.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiCompressor.png rename to resources/mods/mekanism/gui/GuiCompressor.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiControlPanel.png b/resources/mods/mekanism/gui/GuiControlPanel.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiControlPanel.png rename to resources/mods/mekanism/gui/GuiControlPanel.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiCrusher.png b/resources/mods/mekanism/gui/GuiCrusher.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiCrusher.png rename to resources/mods/mekanism/gui/GuiCrusher.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiDynamicTank.png b/resources/mods/mekanism/gui/GuiDynamicTank.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiDynamicTank.png rename to resources/mods/mekanism/gui/GuiDynamicTank.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiElectricChest.png b/resources/mods/mekanism/gui/GuiElectricChest.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiElectricChest.png rename to resources/mods/mekanism/gui/GuiElectricChest.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiElectricPump.png b/resources/mods/mekanism/gui/GuiElectricPump.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiElectricPump.png rename to resources/mods/mekanism/gui/GuiElectricPump.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiElectrolyticSeparator.png b/resources/mods/mekanism/gui/GuiElectrolyticSeparator.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiElectrolyticSeparator.png rename to resources/mods/mekanism/gui/GuiElectrolyticSeparator.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiElementizer.png b/resources/mods/mekanism/gui/GuiElementizer.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiElementizer.png rename to resources/mods/mekanism/gui/GuiElementizer.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiEnergizedSmelter.png b/resources/mods/mekanism/gui/GuiEnergizedSmelter.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiEnergizedSmelter.png rename to resources/mods/mekanism/gui/GuiEnergizedSmelter.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiEnergyCube.png b/resources/mods/mekanism/gui/GuiEnergyCube.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiEnergyCube.png rename to resources/mods/mekanism/gui/GuiEnergyCube.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiGasTank.png b/resources/mods/mekanism/gui/GuiGasTank.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiGasTank.png rename to resources/mods/mekanism/gui/GuiGasTank.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiHeatGenerator.png b/resources/mods/mekanism/gui/GuiHeatGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiHeatGenerator.png rename to resources/mods/mekanism/gui/GuiHeatGenerator.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiHydrogenGenerator.png b/resources/mods/mekanism/gui/GuiHydrogenGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiHydrogenGenerator.png rename to resources/mods/mekanism/gui/GuiHydrogenGenerator.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiMetallurgicInfuser.png b/resources/mods/mekanism/gui/GuiMetallurgicInfuser.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiMetallurgicInfuser.png rename to resources/mods/mekanism/gui/GuiMetallurgicInfuser.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiPasswordEnter.png b/resources/mods/mekanism/gui/GuiPasswordEnter.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiPasswordEnter.png rename to resources/mods/mekanism/gui/GuiPasswordEnter.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiPasswordModify.png b/resources/mods/mekanism/gui/GuiPasswordModify.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiPasswordModify.png rename to resources/mods/mekanism/gui/GuiPasswordModify.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiPortableTeleporter.png b/resources/mods/mekanism/gui/GuiPortableTeleporter.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiPortableTeleporter.png rename to resources/mods/mekanism/gui/GuiPortableTeleporter.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiPurificationChamber.png b/resources/mods/mekanism/gui/GuiPurificationChamber.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiPurificationChamber.png rename to resources/mods/mekanism/gui/GuiPurificationChamber.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitCrafting.png b/resources/mods/mekanism/gui/GuiRobitCrafting.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiRobitCrafting.png rename to resources/mods/mekanism/gui/GuiRobitCrafting.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitInventory.png b/resources/mods/mekanism/gui/GuiRobitInventory.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiRobitInventory.png rename to resources/mods/mekanism/gui/GuiRobitInventory.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitMain.png b/resources/mods/mekanism/gui/GuiRobitMain.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiRobitMain.png rename to resources/mods/mekanism/gui/GuiRobitMain.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitRepair.png b/resources/mods/mekanism/gui/GuiRobitRepair.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiRobitRepair.png rename to resources/mods/mekanism/gui/GuiRobitRepair.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitSmelting.png b/resources/mods/mekanism/gui/GuiRobitSmelting.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiRobitSmelting.png rename to resources/mods/mekanism/gui/GuiRobitSmelting.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiSolarGenerator.png b/resources/mods/mekanism/gui/GuiSolarGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiSolarGenerator.png rename to resources/mods/mekanism/gui/GuiSolarGenerator.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiStopwatch.png b/resources/mods/mekanism/gui/GuiStopwatch.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiStopwatch.png rename to resources/mods/mekanism/gui/GuiStopwatch.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiTeleporter.png b/resources/mods/mekanism/gui/GuiTeleporter.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiTeleporter.png rename to resources/mods/mekanism/gui/GuiTeleporter.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiWeatherOrb.png b/resources/mods/mekanism/gui/GuiWeatherOrb.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiWeatherOrb.png rename to resources/mods/mekanism/gui/GuiWeatherOrb.png diff --git a/bin/minecraft/mods/mekanism/gui/GuiWindTurbine.png b/resources/mods/mekanism/gui/GuiWindTurbine.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/GuiWindTurbine.png rename to resources/mods/mekanism/gui/GuiWindTurbine.png diff --git a/bin/minecraft/mods/mekanism/gui/factory/GuiAdvancedFactory.png b/resources/mods/mekanism/gui/factory/GuiAdvancedFactory.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/factory/GuiAdvancedFactory.png rename to resources/mods/mekanism/gui/factory/GuiAdvancedFactory.png diff --git a/bin/minecraft/mods/mekanism/gui/factory/GuiBasicFactory.png b/resources/mods/mekanism/gui/factory/GuiBasicFactory.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/factory/GuiBasicFactory.png rename to resources/mods/mekanism/gui/factory/GuiBasicFactory.png diff --git a/bin/minecraft/mods/mekanism/gui/factory/GuiEliteFactory.png b/resources/mods/mekanism/gui/factory/GuiEliteFactory.png similarity index 100% rename from bin/minecraft/mods/mekanism/gui/factory/GuiEliteFactory.png rename to resources/mods/mekanism/gui/factory/GuiEliteFactory.png diff --git a/bin/minecraft/mods/mekanism/infuse/Bio.png b/resources/mods/mekanism/infuse/Bio.png similarity index 100% rename from bin/minecraft/mods/mekanism/infuse/Bio.png rename to resources/mods/mekanism/infuse/Bio.png diff --git a/bin/minecraft/mods/mekanism/infuse/Carbon.png b/resources/mods/mekanism/infuse/Carbon.png similarity index 100% rename from bin/minecraft/mods/mekanism/infuse/Carbon.png rename to resources/mods/mekanism/infuse/Carbon.png diff --git a/bin/minecraft/mods/mekanism/infuse/Diamond.png b/resources/mods/mekanism/infuse/Diamond.png similarity index 100% rename from bin/minecraft/mods/mekanism/infuse/Diamond.png rename to resources/mods/mekanism/infuse/Diamond.png diff --git a/bin/minecraft/mods/mekanism/infuse/Infusions.png b/resources/mods/mekanism/infuse/Infusions.png similarity index 100% rename from bin/minecraft/mods/mekanism/infuse/Infusions.png rename to resources/mods/mekanism/infuse/Infusions.png diff --git a/bin/minecraft/mods/mekanism/infuse/Tin.png b/resources/mods/mekanism/infuse/Tin.png similarity index 100% rename from bin/minecraft/mods/mekanism/infuse/Tin.png rename to resources/mods/mekanism/infuse/Tin.png diff --git a/bin/minecraft/mods/mekanism/render/AdvancedSolarGenerator.png b/resources/mods/mekanism/render/AdvancedSolarGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/AdvancedSolarGenerator.png rename to resources/mods/mekanism/render/AdvancedSolarGenerator.png diff --git a/bin/minecraft/mods/mekanism/render/BioGenerator.png b/resources/mods/mekanism/render/BioGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/BioGenerator.png rename to resources/mods/mekanism/render/BioGenerator.png diff --git a/bin/minecraft/mods/mekanism/render/Chargepad.png b/resources/mods/mekanism/render/Chargepad.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/Chargepad.png rename to resources/mods/mekanism/render/Chargepad.png diff --git a/bin/minecraft/mods/mekanism/render/ElectricChest.png b/resources/mods/mekanism/render/ElectricChest.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/ElectricChest.png rename to resources/mods/mekanism/render/ElectricChest.png diff --git a/bin/minecraft/mods/mekanism/render/ElectricPump.png b/resources/mods/mekanism/render/ElectricPump.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/ElectricPump.png rename to resources/mods/mekanism/render/ElectricPump.png diff --git a/bin/minecraft/mods/mekanism/render/ElectrolyticSeparatorHydrogen.png b/resources/mods/mekanism/render/ElectrolyticSeparatorHydrogen.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/ElectrolyticSeparatorHydrogen.png rename to resources/mods/mekanism/render/ElectrolyticSeparatorHydrogen.png diff --git a/bin/minecraft/mods/mekanism/render/ElectrolyticSeparatorNone.png b/resources/mods/mekanism/render/ElectrolyticSeparatorNone.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/ElectrolyticSeparatorNone.png rename to resources/mods/mekanism/render/ElectrolyticSeparatorNone.png diff --git a/bin/minecraft/mods/mekanism/render/ElectrolyticSeparatorOxygen.png b/resources/mods/mekanism/render/ElectrolyticSeparatorOxygen.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/ElectrolyticSeparatorOxygen.png rename to resources/mods/mekanism/render/ElectrolyticSeparatorOxygen.png diff --git a/bin/minecraft/mods/mekanism/render/HeatGenerator.png b/resources/mods/mekanism/render/HeatGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/HeatGenerator.png rename to resources/mods/mekanism/render/HeatGenerator.png diff --git a/bin/minecraft/mods/mekanism/render/HeatGeneratorOn.png b/resources/mods/mekanism/render/HeatGeneratorOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/HeatGeneratorOn.png rename to resources/mods/mekanism/render/HeatGeneratorOn.png diff --git a/bin/minecraft/mods/mekanism/render/HydrogenGenerator.png b/resources/mods/mekanism/render/HydrogenGenerator.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/HydrogenGenerator.png rename to resources/mods/mekanism/render/HydrogenGenerator.png diff --git a/bin/minecraft/mods/mekanism/render/MechanicalPipe.png b/resources/mods/mekanism/render/MechanicalPipe.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/MechanicalPipe.png rename to resources/mods/mekanism/render/MechanicalPipe.png diff --git a/bin/minecraft/mods/mekanism/render/MechanicalPipeActive.png b/resources/mods/mekanism/render/MechanicalPipeActive.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/MechanicalPipeActive.png rename to resources/mods/mekanism/render/MechanicalPipeActive.png diff --git a/bin/minecraft/mods/mekanism/render/MetallurgicInfuser.png b/resources/mods/mekanism/render/MetallurgicInfuser.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/MetallurgicInfuser.png rename to resources/mods/mekanism/render/MetallurgicInfuser.png diff --git a/bin/minecraft/mods/mekanism/render/PressurizedTube.png b/resources/mods/mekanism/render/PressurizedTube.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/PressurizedTube.png rename to resources/mods/mekanism/render/PressurizedTube.png diff --git a/bin/minecraft/mods/mekanism/render/Robit.png b/resources/mods/mekanism/render/Robit.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/Robit.png rename to resources/mods/mekanism/render/Robit.png diff --git a/bin/minecraft/mods/mekanism/render/SideConfigOverlay.png b/resources/mods/mekanism/render/SideConfigOverlay.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/SideConfigOverlay.png rename to resources/mods/mekanism/render/SideConfigOverlay.png diff --git a/bin/minecraft/mods/mekanism/render/TheoreticalElementizer.png b/resources/mods/mekanism/render/TheoreticalElementizer.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/TheoreticalElementizer.png rename to resources/mods/mekanism/render/TheoreticalElementizer.png diff --git a/bin/minecraft/mods/mekanism/render/UniversalCable.png b/resources/mods/mekanism/render/UniversalCable.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/UniversalCable.png rename to resources/mods/mekanism/render/UniversalCable.png diff --git a/bin/minecraft/mods/mekanism/render/WindTurbine.png b/resources/mods/mekanism/render/WindTurbine.png similarity index 100% rename from bin/minecraft/mods/mekanism/render/WindTurbine.png rename to resources/mods/mekanism/render/WindTurbine.png diff --git a/bin/minecraft/mods/mekanism/sound/BioGenerator.ogg b/resources/mods/mekanism/sound/BioGenerator.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/BioGenerator.ogg rename to resources/mods/mekanism/sound/BioGenerator.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Chamber.ogg b/resources/mods/mekanism/sound/Chamber.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Chamber.ogg rename to resources/mods/mekanism/sound/Chamber.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Chargepad.ogg b/resources/mods/mekanism/sound/Chargepad.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Chargepad.ogg rename to resources/mods/mekanism/sound/Chargepad.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Combiner.ogg b/resources/mods/mekanism/sound/Combiner.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Combiner.ogg rename to resources/mods/mekanism/sound/Combiner.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Compressor.ogg b/resources/mods/mekanism/sound/Compressor.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Compressor.ogg rename to resources/mods/mekanism/sound/Compressor.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Crusher.ogg b/resources/mods/mekanism/sound/Crusher.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Crusher.ogg rename to resources/mods/mekanism/sound/Crusher.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Elementizer.ogg b/resources/mods/mekanism/sound/Elementizer.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Elementizer.ogg rename to resources/mods/mekanism/sound/Elementizer.ogg diff --git a/bin/minecraft/mods/mekanism/sound/HeatGenerator.ogg b/resources/mods/mekanism/sound/HeatGenerator.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/HeatGenerator.ogg rename to resources/mods/mekanism/sound/HeatGenerator.ogg diff --git a/bin/minecraft/mods/mekanism/sound/HydrogenGenerator.ogg b/resources/mods/mekanism/sound/HydrogenGenerator.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/HydrogenGenerator.ogg rename to resources/mods/mekanism/sound/HydrogenGenerator.ogg diff --git a/bin/minecraft/mods/mekanism/sound/MetallurgicInfuser.ogg b/resources/mods/mekanism/sound/MetallurgicInfuser.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/MetallurgicInfuser.ogg rename to resources/mods/mekanism/sound/MetallurgicInfuser.ogg diff --git a/bin/minecraft/mods/mekanism/sound/PurificationChamber.ogg b/resources/mods/mekanism/sound/PurificationChamber.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/PurificationChamber.ogg rename to resources/mods/mekanism/sound/PurificationChamber.ogg diff --git a/bin/minecraft/mods/mekanism/sound/Smelter.ogg b/resources/mods/mekanism/sound/Smelter.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/Smelter.ogg rename to resources/mods/mekanism/sound/Smelter.ogg diff --git a/bin/minecraft/mods/mekanism/sound/SolarGenerator.ogg b/resources/mods/mekanism/sound/SolarGenerator.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/SolarGenerator.ogg rename to resources/mods/mekanism/sound/SolarGenerator.ogg diff --git a/bin/minecraft/mods/mekanism/sound/WindTurbine.ogg b/resources/mods/mekanism/sound/WindTurbine.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/WindTurbine.ogg rename to resources/mods/mekanism/sound/WindTurbine.ogg diff --git a/bin/minecraft/mods/mekanism/sound/cj/CJ_1.ogg b/resources/mods/mekanism/sound/cj/CJ_1.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/cj/CJ_1.ogg rename to resources/mods/mekanism/sound/cj/CJ_1.ogg diff --git a/bin/minecraft/mods/mekanism/sound/cj/CJ_2.ogg b/resources/mods/mekanism/sound/cj/CJ_2.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/cj/CJ_2.ogg rename to resources/mods/mekanism/sound/cj/CJ_2.ogg diff --git a/bin/minecraft/mods/mekanism/sound/cj/CJ_3.ogg b/resources/mods/mekanism/sound/cj/CJ_3.ogg similarity index 100% rename from bin/minecraft/mods/mekanism/sound/cj/CJ_3.ogg rename to resources/mods/mekanism/sound/cj/CJ_3.ogg diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png b/resources/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png rename to resources/mods/mekanism/textures/blocks/AdvancedEnergyCubeFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png b/resources/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png rename to resources/mods/mekanism/textures/blocks/AdvancedEnergyCubeSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryFront.png b/resources/mods/mekanism/textures/blocks/AdvancedFactoryFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryFront.png rename to resources/mods/mekanism/textures/blocks/AdvancedFactoryFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactorySide.png b/resources/mods/mekanism/textures/blocks/AdvancedFactorySide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactorySide.png rename to resources/mods/mekanism/textures/blocks/AdvancedFactorySide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryTop.png b/resources/mods/mekanism/textures/blocks/AdvancedFactoryTop.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/AdvancedFactoryTop.png rename to resources/mods/mekanism/textures/blocks/AdvancedFactoryTop.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png b/resources/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png rename to resources/mods/mekanism/textures/blocks/BasicEnergyCubeFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png b/resources/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png rename to resources/mods/mekanism/textures/blocks/BasicEnergyCubeSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryFront.png b/resources/mods/mekanism/textures/blocks/BasicFactoryFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryFront.png rename to resources/mods/mekanism/textures/blocks/BasicFactoryFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicFactorySide.png b/resources/mods/mekanism/textures/blocks/BasicFactorySide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/BasicFactorySide.png rename to resources/mods/mekanism/textures/blocks/BasicFactorySide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryTop.png b/resources/mods/mekanism/textures/blocks/BasicFactoryTop.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/BasicFactoryTop.png rename to resources/mods/mekanism/textures/blocks/BasicFactoryTop.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/BronzeBlock.png b/resources/mods/mekanism/textures/blocks/BronzeBlock.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/BronzeBlock.png rename to resources/mods/mekanism/textures/blocks/BronzeBlock.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CoalBlock.png b/resources/mods/mekanism/textures/blocks/CoalBlock.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CoalBlock.png rename to resources/mods/mekanism/textures/blocks/CoalBlock.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOff.png b/resources/mods/mekanism/textures/blocks/CombinerFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOff.png rename to resources/mods/mekanism/textures/blocks/CombinerFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOn.png b/resources/mods/mekanism/textures/blocks/CombinerFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOn.png rename to resources/mods/mekanism/textures/blocks/CombinerFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOn.txt b/resources/mods/mekanism/textures/blocks/CombinerFrontOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CombinerFrontOn.txt rename to resources/mods/mekanism/textures/blocks/CombinerFrontOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOff.png b/resources/mods/mekanism/textures/blocks/CrusherFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOff.png rename to resources/mods/mekanism/textures/blocks/CrusherFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOn.png b/resources/mods/mekanism/textures/blocks/CrusherFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOn.png rename to resources/mods/mekanism/textures/blocks/CrusherFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOn.txt b/resources/mods/mekanism/textures/blocks/CrusherFrontOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/CrusherFrontOn.txt rename to resources/mods/mekanism/textures/blocks/CrusherFrontOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/DynamicGlass.png b/resources/mods/mekanism/textures/blocks/DynamicGlass.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/DynamicGlass.png rename to resources/mods/mekanism/textures/blocks/DynamicGlass.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/DynamicTank.png b/resources/mods/mekanism/textures/blocks/DynamicTank.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/DynamicTank.png rename to resources/mods/mekanism/textures/blocks/DynamicTank.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/DynamicValve.png b/resources/mods/mekanism/textures/blocks/DynamicValve.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/DynamicValve.png rename to resources/mods/mekanism/textures/blocks/DynamicValve.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ElectricPumpFront.png b/resources/mods/mekanism/textures/blocks/ElectricPumpFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/ElectricPumpFront.png rename to resources/mods/mekanism/textures/blocks/ElectricPumpFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ElectricPumpSide.png b/resources/mods/mekanism/textures/blocks/ElectricPumpSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/ElectricPumpSide.png rename to resources/mods/mekanism/textures/blocks/ElectricPumpSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png b/resources/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png rename to resources/mods/mekanism/textures/blocks/EliteEnergyCubeFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png b/resources/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png rename to resources/mods/mekanism/textures/blocks/EliteEnergyCubeSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryFront.png b/resources/mods/mekanism/textures/blocks/EliteFactoryFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryFront.png rename to resources/mods/mekanism/textures/blocks/EliteFactoryFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteFactorySide.png b/resources/mods/mekanism/textures/blocks/EliteFactorySide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EliteFactorySide.png rename to resources/mods/mekanism/textures/blocks/EliteFactorySide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryTop.png b/resources/mods/mekanism/textures/blocks/EliteFactoryTop.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EliteFactoryTop.png rename to resources/mods/mekanism/textures/blocks/EliteFactoryTop.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EnergizedSmelterFrontOff.png b/resources/mods/mekanism/textures/blocks/EnergizedSmelterFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EnergizedSmelterFrontOff.png rename to resources/mods/mekanism/textures/blocks/EnergizedSmelterFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.png b/resources/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.png rename to resources/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.txt b/resources/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.txt rename to resources/mods/mekanism/textures/blocks/EnergizedSmelterFrontOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png b/resources/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png rename to resources/mods/mekanism/textures/blocks/EnrichmentChamberFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOn.png b/resources/mods/mekanism/textures/blocks/EnrichmentChamberFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/EnrichmentChamberFrontOn.png rename to resources/mods/mekanism/textures/blocks/EnrichmentChamberFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/GasTankFront.png b/resources/mods/mekanism/textures/blocks/GasTankFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/GasTankFront.png rename to resources/mods/mekanism/textures/blocks/GasTankFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/GasTankSide.png b/resources/mods/mekanism/textures/blocks/GasTankSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/GasTankSide.png rename to resources/mods/mekanism/textures/blocks/GasTankSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/GasTankTop.png b/resources/mods/mekanism/textures/blocks/GasTankTop.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/GasTankTop.png rename to resources/mods/mekanism/textures/blocks/GasTankTop.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserBackOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.txt b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.txt rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserBackOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.txt b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.txt rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserFrontOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserSideOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.txt b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.txt rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserSideOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserTopOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png b/resources/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png rename to resources/mods/mekanism/textures/blocks/MetallurgicInfuserTopOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTBottom.png b/resources/mods/mekanism/textures/blocks/ObsidianTNTBottom.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTBottom.png rename to resources/mods/mekanism/textures/blocks/ObsidianTNTBottom.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTSide.png b/resources/mods/mekanism/textures/blocks/ObsidianTNTSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTSide.png rename to resources/mods/mekanism/textures/blocks/ObsidianTNTSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTTop.png b/resources/mods/mekanism/textures/blocks/ObsidianTNTTop.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/ObsidianTNTTop.png rename to resources/mods/mekanism/textures/blocks/ObsidianTNTTop.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumBlock.png b/resources/mods/mekanism/textures/blocks/OsmiumBlock.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OsmiumBlock.png rename to resources/mods/mekanism/textures/blocks/OsmiumBlock.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png b/resources/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png rename to resources/mods/mekanism/textures/blocks/OsmiumCompressorFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.png b/resources/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.png rename to resources/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.txt b/resources/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.txt rename to resources/mods/mekanism/textures/blocks/OsmiumCompressorFrontOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OsmiumOre.png b/resources/mods/mekanism/textures/blocks/OsmiumOre.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OsmiumOre.png rename to resources/mods/mekanism/textures/blocks/OsmiumOre.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayAqua.png b/resources/mods/mekanism/textures/blocks/OverlayAqua.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayAqua.png rename to resources/mods/mekanism/textures/blocks/OverlayAqua.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayBlack.png b/resources/mods/mekanism/textures/blocks/OverlayBlack.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayBlack.png rename to resources/mods/mekanism/textures/blocks/OverlayBlack.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayBrightGreen.png b/resources/mods/mekanism/textures/blocks/OverlayBrightGreen.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayBrightGreen.png rename to resources/mods/mekanism/textures/blocks/OverlayBrightGreen.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkAqua.png b/resources/mods/mekanism/textures/blocks/OverlayDarkAqua.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkAqua.png rename to resources/mods/mekanism/textures/blocks/OverlayDarkAqua.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkBlue.png b/resources/mods/mekanism/textures/blocks/OverlayDarkBlue.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkBlue.png rename to resources/mods/mekanism/textures/blocks/OverlayDarkBlue.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkGreen.png b/resources/mods/mekanism/textures/blocks/OverlayDarkGreen.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkGreen.png rename to resources/mods/mekanism/textures/blocks/OverlayDarkGreen.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkGrey.png b/resources/mods/mekanism/textures/blocks/OverlayDarkGrey.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkGrey.png rename to resources/mods/mekanism/textures/blocks/OverlayDarkGrey.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkRed.png b/resources/mods/mekanism/textures/blocks/OverlayDarkRed.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayDarkRed.png rename to resources/mods/mekanism/textures/blocks/OverlayDarkRed.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayGrey.png b/resources/mods/mekanism/textures/blocks/OverlayGrey.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayGrey.png rename to resources/mods/mekanism/textures/blocks/OverlayGrey.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayIndigo.png b/resources/mods/mekanism/textures/blocks/OverlayIndigo.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayIndigo.png rename to resources/mods/mekanism/textures/blocks/OverlayIndigo.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayOrange.png b/resources/mods/mekanism/textures/blocks/OverlayOrange.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayOrange.png rename to resources/mods/mekanism/textures/blocks/OverlayOrange.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayPink.png b/resources/mods/mekanism/textures/blocks/OverlayPink.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayPink.png rename to resources/mods/mekanism/textures/blocks/OverlayPink.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayPurple.png b/resources/mods/mekanism/textures/blocks/OverlayPurple.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayPurple.png rename to resources/mods/mekanism/textures/blocks/OverlayPurple.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayRed.png b/resources/mods/mekanism/textures/blocks/OverlayRed.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayRed.png rename to resources/mods/mekanism/textures/blocks/OverlayRed.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayWhite.png b/resources/mods/mekanism/textures/blocks/OverlayWhite.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayWhite.png rename to resources/mods/mekanism/textures/blocks/OverlayWhite.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/OverlayYellow.png b/resources/mods/mekanism/textures/blocks/OverlayYellow.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/OverlayYellow.png rename to resources/mods/mekanism/textures/blocks/OverlayYellow.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png b/resources/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png rename to resources/mods/mekanism/textures/blocks/PurificationChamberFrontOff.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOn.png b/resources/mods/mekanism/textures/blocks/PurificationChamberFrontOn.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOn.png rename to resources/mods/mekanism/textures/blocks/PurificationChamberFrontOn.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOn.txt b/resources/mods/mekanism/textures/blocks/PurificationChamberFrontOn.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/PurificationChamberFrontOn.txt rename to resources/mods/mekanism/textures/blocks/PurificationChamberFrontOn.txt diff --git a/bin/minecraft/mods/mekanism/textures/blocks/RefinedGlowstone.png b/resources/mods/mekanism/textures/blocks/RefinedGlowstone.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/RefinedGlowstone.png rename to resources/mods/mekanism/textures/blocks/RefinedGlowstone.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/RefinedObsidian.png b/resources/mods/mekanism/textures/blocks/RefinedObsidian.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/RefinedObsidian.png rename to resources/mods/mekanism/textures/blocks/RefinedObsidian.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorFront.png b/resources/mods/mekanism/textures/blocks/SolarGeneratorFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorFront.png rename to resources/mods/mekanism/textures/blocks/SolarGeneratorFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorSide.png b/resources/mods/mekanism/textures/blocks/SolarGeneratorSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorSide.png rename to resources/mods/mekanism/textures/blocks/SolarGeneratorSide.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorTop.png b/resources/mods/mekanism/textures/blocks/SolarGeneratorTop.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/SolarGeneratorTop.png rename to resources/mods/mekanism/textures/blocks/SolarGeneratorTop.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SteelBlock.png b/resources/mods/mekanism/textures/blocks/SteelBlock.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/SteelBlock.png rename to resources/mods/mekanism/textures/blocks/SteelBlock.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/SteelCasing.png b/resources/mods/mekanism/textures/blocks/SteelCasing.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/SteelCasing.png rename to resources/mods/mekanism/textures/blocks/SteelCasing.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/Teleporter.png b/resources/mods/mekanism/textures/blocks/Teleporter.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/Teleporter.png rename to resources/mods/mekanism/textures/blocks/Teleporter.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/TeleporterFrame.png b/resources/mods/mekanism/textures/blocks/TeleporterFrame.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/TeleporterFrame.png rename to resources/mods/mekanism/textures/blocks/TeleporterFrame.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png b/resources/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png rename to resources/mods/mekanism/textures/blocks/UltimateEnergyCubeFront.png diff --git a/bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png b/resources/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png rename to resources/mods/mekanism/textures/blocks/UltimateEnergyCubeSide.png diff --git a/bin/minecraft/mods/mekanism/textures/items/AtomicCore.png b/resources/mods/mekanism/textures/items/AtomicCore.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/AtomicCore.png rename to resources/mods/mekanism/textures/items/AtomicCore.png diff --git a/bin/minecraft/mods/mekanism/textures/items/AtomicDisassembler.png b/resources/mods/mekanism/textures/items/AtomicDisassembler.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/AtomicDisassembler.png rename to resources/mods/mekanism/textures/items/AtomicDisassembler.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BioFuel.png b/resources/mods/mekanism/textures/items/BioFuel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BioFuel.png rename to resources/mods/mekanism/textures/items/BioFuel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeAxe.png b/resources/mods/mekanism/textures/items/BronzeAxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeAxe.png rename to resources/mods/mekanism/textures/items/BronzeAxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeBoots.png b/resources/mods/mekanism/textures/items/BronzeBoots.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeBoots.png rename to resources/mods/mekanism/textures/items/BronzeBoots.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeChestplate.png b/resources/mods/mekanism/textures/items/BronzeChestplate.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeChestplate.png rename to resources/mods/mekanism/textures/items/BronzeChestplate.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeHelmet.png b/resources/mods/mekanism/textures/items/BronzeHelmet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeHelmet.png rename to resources/mods/mekanism/textures/items/BronzeHelmet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeHoe.png b/resources/mods/mekanism/textures/items/BronzeHoe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeHoe.png rename to resources/mods/mekanism/textures/items/BronzeHoe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeIngot.png b/resources/mods/mekanism/textures/items/BronzeIngot.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeIngot.png rename to resources/mods/mekanism/textures/items/BronzeIngot.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeLeggings.png b/resources/mods/mekanism/textures/items/BronzeLeggings.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeLeggings.png rename to resources/mods/mekanism/textures/items/BronzeLeggings.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzePaxel.png b/resources/mods/mekanism/textures/items/BronzePaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzePaxel.png rename to resources/mods/mekanism/textures/items/BronzePaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzePickaxe.png b/resources/mods/mekanism/textures/items/BronzePickaxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzePickaxe.png rename to resources/mods/mekanism/textures/items/BronzePickaxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeShovel.png b/resources/mods/mekanism/textures/items/BronzeShovel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeShovel.png rename to resources/mods/mekanism/textures/items/BronzeShovel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/BronzeSword.png b/resources/mods/mekanism/textures/items/BronzeSword.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/BronzeSword.png rename to resources/mods/mekanism/textures/items/BronzeSword.png diff --git a/bin/minecraft/mods/mekanism/textures/items/CompressedCarbon.png b/resources/mods/mekanism/textures/items/CompressedCarbon.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/CompressedCarbon.png rename to resources/mods/mekanism/textures/items/CompressedCarbon.png diff --git a/bin/minecraft/mods/mekanism/textures/items/Configurator.png b/resources/mods/mekanism/textures/items/Configurator.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/Configurator.png rename to resources/mods/mekanism/textures/items/Configurator.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ControlCircuit.png b/resources/mods/mekanism/textures/items/ControlCircuit.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ControlCircuit.png rename to resources/mods/mekanism/textures/items/ControlCircuit.png diff --git a/bin/minecraft/mods/mekanism/textures/items/CopperClump.png b/resources/mods/mekanism/textures/items/CopperClump.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/CopperClump.png rename to resources/mods/mekanism/textures/items/CopperClump.png diff --git a/bin/minecraft/mods/mekanism/textures/items/CopperDust.png b/resources/mods/mekanism/textures/items/CopperDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/CopperDust.png rename to resources/mods/mekanism/textures/items/CopperDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DiamondDust.png b/resources/mods/mekanism/textures/items/DiamondDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DiamondDust.png rename to resources/mods/mekanism/textures/items/DiamondDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DiamondPaxel.png b/resources/mods/mekanism/textures/items/DiamondPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DiamondPaxel.png rename to resources/mods/mekanism/textures/items/DiamondPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtyCopperDust.png b/resources/mods/mekanism/textures/items/DirtyCopperDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtyCopperDust.png rename to resources/mods/mekanism/textures/items/DirtyCopperDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtyGoldDust.png b/resources/mods/mekanism/textures/items/DirtyGoldDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtyGoldDust.png rename to resources/mods/mekanism/textures/items/DirtyGoldDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtyIronDust.png b/resources/mods/mekanism/textures/items/DirtyIronDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtyIronDust.png rename to resources/mods/mekanism/textures/items/DirtyIronDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtyObsidianDust.png b/resources/mods/mekanism/textures/items/DirtyObsidianDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtyObsidianDust.png rename to resources/mods/mekanism/textures/items/DirtyObsidianDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtyOsmiumDust.png b/resources/mods/mekanism/textures/items/DirtyOsmiumDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtyOsmiumDust.png rename to resources/mods/mekanism/textures/items/DirtyOsmiumDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtySilverDust.png b/resources/mods/mekanism/textures/items/DirtySilverDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtySilverDust.png rename to resources/mods/mekanism/textures/items/DirtySilverDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/DirtyTinDust.png b/resources/mods/mekanism/textures/items/DirtyTinDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/DirtyTinDust.png rename to resources/mods/mekanism/textures/items/DirtyTinDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ElectricBow.png b/resources/mods/mekanism/textures/items/ElectricBow.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ElectricBow.png rename to resources/mods/mekanism/textures/items/ElectricBow.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ElectrolyticCore.png b/resources/mods/mekanism/textures/items/ElectrolyticCore.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ElectrolyticCore.png rename to resources/mods/mekanism/textures/items/ElectrolyticCore.png diff --git a/bin/minecraft/mods/mekanism/textures/items/EnergyTablet.png b/resources/mods/mekanism/textures/items/EnergyTablet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/EnergyTablet.png rename to resources/mods/mekanism/textures/items/EnergyTablet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/EnergyUpgrade.png b/resources/mods/mekanism/textures/items/EnergyUpgrade.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/EnergyUpgrade.png rename to resources/mods/mekanism/textures/items/EnergyUpgrade.png diff --git a/bin/minecraft/mods/mekanism/textures/items/EnrichedAlloy.png b/resources/mods/mekanism/textures/items/EnrichedAlloy.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/EnrichedAlloy.png rename to resources/mods/mekanism/textures/items/EnrichedAlloy.png diff --git a/bin/minecraft/mods/mekanism/textures/items/EnrichedIron.png b/resources/mods/mekanism/textures/items/EnrichedIron.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/EnrichedIron.png rename to resources/mods/mekanism/textures/items/EnrichedIron.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneAxe.png b/resources/mods/mekanism/textures/items/GlowstoneAxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneAxe.png rename to resources/mods/mekanism/textures/items/GlowstoneAxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneBoots.png b/resources/mods/mekanism/textures/items/GlowstoneBoots.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneBoots.png rename to resources/mods/mekanism/textures/items/GlowstoneBoots.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneChestplate.png b/resources/mods/mekanism/textures/items/GlowstoneChestplate.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneChestplate.png rename to resources/mods/mekanism/textures/items/GlowstoneChestplate.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneHelmet.png b/resources/mods/mekanism/textures/items/GlowstoneHelmet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneHelmet.png rename to resources/mods/mekanism/textures/items/GlowstoneHelmet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneHoe.png b/resources/mods/mekanism/textures/items/GlowstoneHoe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneHoe.png rename to resources/mods/mekanism/textures/items/GlowstoneHoe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneIngot.png b/resources/mods/mekanism/textures/items/GlowstoneIngot.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneIngot.png rename to resources/mods/mekanism/textures/items/GlowstoneIngot.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneLeggings.png b/resources/mods/mekanism/textures/items/GlowstoneLeggings.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneLeggings.png rename to resources/mods/mekanism/textures/items/GlowstoneLeggings.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstonePaxel.png b/resources/mods/mekanism/textures/items/GlowstonePaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstonePaxel.png rename to resources/mods/mekanism/textures/items/GlowstonePaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstonePickaxe.png b/resources/mods/mekanism/textures/items/GlowstonePickaxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstonePickaxe.png rename to resources/mods/mekanism/textures/items/GlowstonePickaxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneShovel.png b/resources/mods/mekanism/textures/items/GlowstoneShovel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneShovel.png rename to resources/mods/mekanism/textures/items/GlowstoneShovel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GlowstoneSword.png b/resources/mods/mekanism/textures/items/GlowstoneSword.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GlowstoneSword.png rename to resources/mods/mekanism/textures/items/GlowstoneSword.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GoldClump.png b/resources/mods/mekanism/textures/items/GoldClump.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GoldClump.png rename to resources/mods/mekanism/textures/items/GoldClump.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GoldDust.png b/resources/mods/mekanism/textures/items/GoldDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GoldDust.png rename to resources/mods/mekanism/textures/items/GoldDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/GoldPaxel.png b/resources/mods/mekanism/textures/items/GoldPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/GoldPaxel.png rename to resources/mods/mekanism/textures/items/GoldPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/IronClump.png b/resources/mods/mekanism/textures/items/IronClump.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/IronClump.png rename to resources/mods/mekanism/textures/items/IronClump.png diff --git a/bin/minecraft/mods/mekanism/textures/items/IronDust.png b/resources/mods/mekanism/textures/items/IronDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/IronDust.png rename to resources/mods/mekanism/textures/items/IronDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/IronPaxel.png b/resources/mods/mekanism/textures/items/IronPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/IronPaxel.png rename to resources/mods/mekanism/textures/items/IronPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliAxe.png b/resources/mods/mekanism/textures/items/LazuliAxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliAxe.png rename to resources/mods/mekanism/textures/items/LazuliAxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliBoots.png b/resources/mods/mekanism/textures/items/LazuliBoots.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliBoots.png rename to resources/mods/mekanism/textures/items/LazuliBoots.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliChestplate.png b/resources/mods/mekanism/textures/items/LazuliChestplate.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliChestplate.png rename to resources/mods/mekanism/textures/items/LazuliChestplate.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliHelmet.png b/resources/mods/mekanism/textures/items/LazuliHelmet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliHelmet.png rename to resources/mods/mekanism/textures/items/LazuliHelmet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliHoe.png b/resources/mods/mekanism/textures/items/LazuliHoe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliHoe.png rename to resources/mods/mekanism/textures/items/LazuliHoe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliLeggings.png b/resources/mods/mekanism/textures/items/LazuliLeggings.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliLeggings.png rename to resources/mods/mekanism/textures/items/LazuliLeggings.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliPaxel.png b/resources/mods/mekanism/textures/items/LazuliPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliPaxel.png rename to resources/mods/mekanism/textures/items/LazuliPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliPickaxe.png b/resources/mods/mekanism/textures/items/LazuliPickaxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliPickaxe.png rename to resources/mods/mekanism/textures/items/LazuliPickaxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliShovel.png b/resources/mods/mekanism/textures/items/LazuliShovel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliShovel.png rename to resources/mods/mekanism/textures/items/LazuliShovel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LazuliSword.png b/resources/mods/mekanism/textures/items/LazuliSword.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LazuliSword.png rename to resources/mods/mekanism/textures/items/LazuliSword.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LiquidEnergy.png b/resources/mods/mekanism/textures/items/LiquidEnergy.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LiquidEnergy.png rename to resources/mods/mekanism/textures/items/LiquidEnergy.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LiquidEnergy.txt b/resources/mods/mekanism/textures/items/LiquidEnergy.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LiquidEnergy.txt rename to resources/mods/mekanism/textures/items/LiquidEnergy.txt diff --git a/bin/minecraft/mods/mekanism/textures/items/LiquidHydrogen.png b/resources/mods/mekanism/textures/items/LiquidHydrogen.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LiquidHydrogen.png rename to resources/mods/mekanism/textures/items/LiquidHydrogen.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LiquidHydrogen.txt b/resources/mods/mekanism/textures/items/LiquidHydrogen.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LiquidHydrogen.txt rename to resources/mods/mekanism/textures/items/LiquidHydrogen.txt diff --git a/bin/minecraft/mods/mekanism/textures/items/LiquidOxygen.png b/resources/mods/mekanism/textures/items/LiquidOxygen.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LiquidOxygen.png rename to resources/mods/mekanism/textures/items/LiquidOxygen.png diff --git a/bin/minecraft/mods/mekanism/textures/items/LiquidOxygen.txt b/resources/mods/mekanism/textures/items/LiquidOxygen.txt similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/LiquidOxygen.txt rename to resources/mods/mekanism/textures/items/LiquidOxygen.txt diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianAxe.png b/resources/mods/mekanism/textures/items/ObsidianAxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianAxe.png rename to resources/mods/mekanism/textures/items/ObsidianAxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianBoots.png b/resources/mods/mekanism/textures/items/ObsidianBoots.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianBoots.png rename to resources/mods/mekanism/textures/items/ObsidianBoots.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianChestplate.png b/resources/mods/mekanism/textures/items/ObsidianChestplate.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianChestplate.png rename to resources/mods/mekanism/textures/items/ObsidianChestplate.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianDust.png b/resources/mods/mekanism/textures/items/ObsidianDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianDust.png rename to resources/mods/mekanism/textures/items/ObsidianDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianHelmet.png b/resources/mods/mekanism/textures/items/ObsidianHelmet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianHelmet.png rename to resources/mods/mekanism/textures/items/ObsidianHelmet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianHoe.png b/resources/mods/mekanism/textures/items/ObsidianHoe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianHoe.png rename to resources/mods/mekanism/textures/items/ObsidianHoe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianIngot.png b/resources/mods/mekanism/textures/items/ObsidianIngot.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianIngot.png rename to resources/mods/mekanism/textures/items/ObsidianIngot.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianLeggings.png b/resources/mods/mekanism/textures/items/ObsidianLeggings.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianLeggings.png rename to resources/mods/mekanism/textures/items/ObsidianLeggings.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianPaxel.png b/resources/mods/mekanism/textures/items/ObsidianPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianPaxel.png rename to resources/mods/mekanism/textures/items/ObsidianPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianPickaxe.png b/resources/mods/mekanism/textures/items/ObsidianPickaxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianPickaxe.png rename to resources/mods/mekanism/textures/items/ObsidianPickaxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianShovel.png b/resources/mods/mekanism/textures/items/ObsidianShovel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianShovel.png rename to resources/mods/mekanism/textures/items/ObsidianShovel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/ObsidianSword.png b/resources/mods/mekanism/textures/items/ObsidianSword.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/ObsidianSword.png rename to resources/mods/mekanism/textures/items/ObsidianSword.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumAxe.png b/resources/mods/mekanism/textures/items/OsmiumAxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumAxe.png rename to resources/mods/mekanism/textures/items/OsmiumAxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumBoots.png b/resources/mods/mekanism/textures/items/OsmiumBoots.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumBoots.png rename to resources/mods/mekanism/textures/items/OsmiumBoots.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumChestplate.png b/resources/mods/mekanism/textures/items/OsmiumChestplate.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumChestplate.png rename to resources/mods/mekanism/textures/items/OsmiumChestplate.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumClump.png b/resources/mods/mekanism/textures/items/OsmiumClump.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumClump.png rename to resources/mods/mekanism/textures/items/OsmiumClump.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumDust.png b/resources/mods/mekanism/textures/items/OsmiumDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumDust.png rename to resources/mods/mekanism/textures/items/OsmiumDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumHelmet.png b/resources/mods/mekanism/textures/items/OsmiumHelmet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumHelmet.png rename to resources/mods/mekanism/textures/items/OsmiumHelmet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumHoe.png b/resources/mods/mekanism/textures/items/OsmiumHoe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumHoe.png rename to resources/mods/mekanism/textures/items/OsmiumHoe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumIngot.png b/resources/mods/mekanism/textures/items/OsmiumIngot.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumIngot.png rename to resources/mods/mekanism/textures/items/OsmiumIngot.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumLeggings.png b/resources/mods/mekanism/textures/items/OsmiumLeggings.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumLeggings.png rename to resources/mods/mekanism/textures/items/OsmiumLeggings.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumPaxel.png b/resources/mods/mekanism/textures/items/OsmiumPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumPaxel.png rename to resources/mods/mekanism/textures/items/OsmiumPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumPickaxe.png b/resources/mods/mekanism/textures/items/OsmiumPickaxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumPickaxe.png rename to resources/mods/mekanism/textures/items/OsmiumPickaxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumShovel.png b/resources/mods/mekanism/textures/items/OsmiumShovel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumShovel.png rename to resources/mods/mekanism/textures/items/OsmiumShovel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/OsmiumSword.png b/resources/mods/mekanism/textures/items/OsmiumSword.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/OsmiumSword.png rename to resources/mods/mekanism/textures/items/OsmiumSword.png diff --git a/bin/minecraft/mods/mekanism/textures/items/PortableTeleporter.png b/resources/mods/mekanism/textures/items/PortableTeleporter.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/PortableTeleporter.png rename to resources/mods/mekanism/textures/items/PortableTeleporter.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SilverClump.png b/resources/mods/mekanism/textures/items/SilverClump.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SilverClump.png rename to resources/mods/mekanism/textures/items/SilverClump.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SilverDust.png b/resources/mods/mekanism/textures/items/SilverDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SilverDust.png rename to resources/mods/mekanism/textures/items/SilverDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SolarPanel.png b/resources/mods/mekanism/textures/items/SolarPanel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SolarPanel.png rename to resources/mods/mekanism/textures/items/SolarPanel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SpeedUpgrade.png b/resources/mods/mekanism/textures/items/SpeedUpgrade.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SpeedUpgrade.png rename to resources/mods/mekanism/textures/items/SpeedUpgrade.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelAxe.png b/resources/mods/mekanism/textures/items/SteelAxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelAxe.png rename to resources/mods/mekanism/textures/items/SteelAxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelBoots.png b/resources/mods/mekanism/textures/items/SteelBoots.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelBoots.png rename to resources/mods/mekanism/textures/items/SteelBoots.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelChestplate.png b/resources/mods/mekanism/textures/items/SteelChestplate.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelChestplate.png rename to resources/mods/mekanism/textures/items/SteelChestplate.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelDust.png b/resources/mods/mekanism/textures/items/SteelDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelDust.png rename to resources/mods/mekanism/textures/items/SteelDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelHelmet.png b/resources/mods/mekanism/textures/items/SteelHelmet.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelHelmet.png rename to resources/mods/mekanism/textures/items/SteelHelmet.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelHoe.png b/resources/mods/mekanism/textures/items/SteelHoe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelHoe.png rename to resources/mods/mekanism/textures/items/SteelHoe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelIngot.png b/resources/mods/mekanism/textures/items/SteelIngot.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelIngot.png rename to resources/mods/mekanism/textures/items/SteelIngot.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelLeggings.png b/resources/mods/mekanism/textures/items/SteelLeggings.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelLeggings.png rename to resources/mods/mekanism/textures/items/SteelLeggings.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelPaxel.png b/resources/mods/mekanism/textures/items/SteelPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelPaxel.png rename to resources/mods/mekanism/textures/items/SteelPaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelPickaxe.png b/resources/mods/mekanism/textures/items/SteelPickaxe.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelPickaxe.png rename to resources/mods/mekanism/textures/items/SteelPickaxe.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelShovel.png b/resources/mods/mekanism/textures/items/SteelShovel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelShovel.png rename to resources/mods/mekanism/textures/items/SteelShovel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/SteelSword.png b/resources/mods/mekanism/textures/items/SteelSword.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/SteelSword.png rename to resources/mods/mekanism/textures/items/SteelSword.png diff --git a/bin/minecraft/mods/mekanism/textures/items/StonePaxel.png b/resources/mods/mekanism/textures/items/StonePaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/StonePaxel.png rename to resources/mods/mekanism/textures/items/StonePaxel.png diff --git a/bin/minecraft/mods/mekanism/textures/items/Stopwatch.png b/resources/mods/mekanism/textures/items/Stopwatch.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/Stopwatch.png rename to resources/mods/mekanism/textures/items/Stopwatch.png diff --git a/bin/minecraft/mods/mekanism/textures/items/StorageTank.png b/resources/mods/mekanism/textures/items/StorageTank.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/StorageTank.png rename to resources/mods/mekanism/textures/items/StorageTank.png diff --git a/bin/minecraft/mods/mekanism/textures/items/TeleportationCore.png b/resources/mods/mekanism/textures/items/TeleportationCore.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/TeleportationCore.png rename to resources/mods/mekanism/textures/items/TeleportationCore.png diff --git a/bin/minecraft/mods/mekanism/textures/items/TinClump.png b/resources/mods/mekanism/textures/items/TinClump.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/TinClump.png rename to resources/mods/mekanism/textures/items/TinClump.png diff --git a/bin/minecraft/mods/mekanism/textures/items/TinDust.png b/resources/mods/mekanism/textures/items/TinDust.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/TinDust.png rename to resources/mods/mekanism/textures/items/TinDust.png diff --git a/bin/minecraft/mods/mekanism/textures/items/WeatherOrb.png b/resources/mods/mekanism/textures/items/WeatherOrb.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/WeatherOrb.png rename to resources/mods/mekanism/textures/items/WeatherOrb.png diff --git a/bin/minecraft/mods/mekanism/textures/items/WoodPaxel.png b/resources/mods/mekanism/textures/items/WoodPaxel.png similarity index 100% rename from bin/minecraft/mods/mekanism/textures/items/WoodPaxel.png rename to resources/mods/mekanism/textures/items/WoodPaxel.png From 31fb3148379100d2114820980393d9ad4da2b538 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 18:03:47 -0400 Subject: [PATCH 09/29] Fix build.xml --- build.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index 4d9a83522..2ba37bc70 100644 --- a/build.xml +++ b/build.xml @@ -59,7 +59,7 @@ - + @@ -81,7 +81,7 @@ - + From 547563ed39dee1b380edcb38d1b316569dbbe86b Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 18:10:10 -0400 Subject: [PATCH 10/29] Build fix no.2 --- build.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.xml b/build.xml index 2ba37bc70..dce34ae30 100644 --- a/build.xml +++ b/build.xml @@ -34,10 +34,10 @@ - - - - + + + + From 957d0577fbd66659663ba6bc3d073832cfd91a98 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 18:11:34 -0400 Subject: [PATCH 11/29] Build fix no.3 --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index dce34ae30..89f1a9bab 100644 --- a/build.xml +++ b/build.xml @@ -21,7 +21,7 @@ - + From 51e91c3859428e7c92dc2e22f468219e3d611b5d Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 18:22:41 -0400 Subject: [PATCH 12/29] Build fix no.4 --- build.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index 89f1a9bab..8ef0aa180 100644 --- a/build.xml +++ b/build.xml @@ -21,9 +21,9 @@ - + - + From 645552e6fb1f8caa806d15edc3937d01dc4ff087 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 18:25:05 -0400 Subject: [PATCH 13/29] Build fix no.5 --- build.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.xml b/build.xml index 8ef0aa180..9083f84b6 100644 --- a/build.xml +++ b/build.xml @@ -34,10 +34,10 @@ - - - - + + + + From 8f6ad2688e8eb756578fecd0d715ed74060de2b4 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 28 Jun 2013 19:43:45 -0400 Subject: [PATCH 14/29] General cleanup --- common/mekanism/api/Object3D.java | 1 - common/mekanism/client/BasicRenderingHandler.java | 2 -- common/mekanism/client/ClientProxy.java | 1 - common/mekanism/client/GasClientUpdate.java | 6 ------ .../client/GuiAdvancedElectricMachine.java | 2 -- common/mekanism/client/GuiCredits.java | 5 ++--- common/mekanism/client/GuiElectricPump.java | 6 ++---- common/mekanism/client/GuiMetallurgicInfuser.java | 4 +--- common/mekanism/client/GuiPasswordModify.java | 3 +-- common/mekanism/client/GuiRobitInventory.java | 1 - common/mekanism/client/GuiRobitRepair.java | 1 - common/mekanism/client/GuiRobitSmelting.java | 3 --- common/mekanism/client/GuiStopwatch.java | 2 -- common/mekanism/client/GuiWeatherOrb.java | 2 -- common/mekanism/client/IHasSound.java | 4 ---- common/mekanism/client/LiquidClientUpdate.java | 15 --------------- .../mekanism/client/MachineRenderingHandler.java | 1 - common/mekanism/client/RenderElectricChest.java | 12 +++++------- common/mekanism/client/RenderMechanicalPipe.java | 5 ----- common/mekanism/client/RenderRobit.java | 4 +--- common/mekanism/client/RenderTickHandler.java | 1 - common/mekanism/client/SoundHandler.java | 5 +++-- common/mekanism/common/BlockBasic.java | 5 ----- common/mekanism/common/BlockEnergyCube.java | 1 - common/mekanism/common/BlockObsidianTNT.java | 7 ++----- common/mekanism/common/BlockTransmitter.java | 2 -- common/mekanism/common/CommandMekanism.java | 2 -- .../mekanism/common/ContainerRobitCrafting.java | 1 - .../mekanism/common/ContainerRobitInventory.java | 4 ---- common/mekanism/common/ContainerRobitMain.java | 4 ---- .../mekanism/common/ContainerRobitSmelting.java | 2 -- common/mekanism/common/EnergyNetwork.java | 1 - common/mekanism/common/ISustainedInventory.java | 1 - common/mekanism/common/ISustainedTank.java | 2 -- common/mekanism/common/IUniversalCable.java | 2 -- .../mekanism/common/InventoryElectricChest.java | 2 -- common/mekanism/common/ItemRobit.java | 10 ++-------- common/mekanism/common/ItemStorageTank.java | 2 -- common/mekanism/common/LinkedPowerProvider.java | 1 - common/mekanism/common/MekanismHooks.java | 5 ----- common/mekanism/common/SynchronizedTankData.java | 5 +---- common/mekanism/common/TankUpdateProtocol.java | 5 ----- .../common/TileEntityTheoreticalElementizer.java | 6 ++---- .../common/network/PacketConfiguratorState.java | 1 - .../common/network/PacketElectricBowState.java | 1 - .../client/ModelAdvancedSolarGenerator.java | 5 ++--- .../generators/client/ModelBioGenerator.java | 5 ++--- .../generators/client/RenderWindTurbine.java | 3 --- .../generators/common/ContainerHeatGenerator.java | 1 - .../generators/common/GeneratorsCommonProxy.java | 1 - .../core/electricity/ElectricityNetwork.java | 1 - 51 files changed, 26 insertions(+), 148 deletions(-) diff --git a/common/mekanism/api/Object3D.java b/common/mekanism/api/Object3D.java index 0340552bf..947c52e6c 100644 --- a/common/mekanism/api/Object3D.java +++ b/common/mekanism/api/Object3D.java @@ -4,7 +4,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; public class Object3D diff --git a/common/mekanism/client/BasicRenderingHandler.java b/common/mekanism/client/BasicRenderingHandler.java index bc7cae5ce..a784cce4f 100644 --- a/common/mekanism/client/BasicRenderingHandler.java +++ b/common/mekanism/client/BasicRenderingHandler.java @@ -1,10 +1,8 @@ package mekanism.client; import mekanism.common.Mekanism; -import mekanism.common.TileEntityDynamicTank; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; diff --git a/common/mekanism/client/ClientProxy.java b/common/mekanism/client/ClientProxy.java index 74b374f93..f4c84592e 100644 --- a/common/mekanism/client/ClientProxy.java +++ b/common/mekanism/client/ClientProxy.java @@ -47,7 +47,6 @@ import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/common/mekanism/client/GasClientUpdate.java b/common/mekanism/client/GasClientUpdate.java index b7130cff9..282e639fc 100644 --- a/common/mekanism/client/GasClientUpdate.java +++ b/common/mekanism/client/GasClientUpdate.java @@ -1,17 +1,11 @@ package mekanism.client; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import mekanism.api.EnumGas; import mekanism.api.GasTransmission; import mekanism.api.IPressurizedTube; import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event; -import cpw.mods.fml.common.FMLCommonHandler; /** * The actual protocol gas goes through when it is transferred via Pressurized Tubes. diff --git a/common/mekanism/client/GuiAdvancedElectricMachine.java b/common/mekanism/client/GuiAdvancedElectricMachine.java index 36a81258c..f2bfc4653 100644 --- a/common/mekanism/client/GuiAdvancedElectricMachine.java +++ b/common/mekanism/client/GuiAdvancedElectricMachine.java @@ -4,13 +4,11 @@ import mekanism.common.ContainerAdvancedElectricMachine; import mekanism.common.TileEntityAdvancedElectricMachine; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraftforge.liquids.LiquidDictionary; import org.lwjgl.opengl.GL11; import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/common/mekanism/client/GuiCredits.java b/common/mekanism/client/GuiCredits.java index 711e14050..afcaebe80 100644 --- a/common/mekanism/client/GuiCredits.java +++ b/common/mekanism/client/GuiCredits.java @@ -1,8 +1,5 @@ package mekanism.client; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.EnumColor; import mekanism.common.IModule; import mekanism.common.Mekanism; @@ -10,6 +7,8 @@ import mekanism.common.MekanismUtils; import mekanism.common.Version; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiCredits extends GuiScreen diff --git a/common/mekanism/client/GuiElectricPump.java b/common/mekanism/client/GuiElectricPump.java index 0c4de2b5e..c557f6db6 100644 --- a/common/mekanism/client/GuiElectricPump.java +++ b/common/mekanism/client/GuiElectricPump.java @@ -3,17 +3,15 @@ package mekanism.client; import mekanism.common.ContainerElectricPump; import mekanism.common.TileEntityElectricPump; import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.RenderHelper; import net.minecraft.entity.player.InventoryPlayer; import net.minecraftforge.liquids.LiquidStack; import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiElectricPump extends GuiContainer diff --git a/common/mekanism/client/GuiMetallurgicInfuser.java b/common/mekanism/client/GuiMetallurgicInfuser.java index 79d1472f8..9b6e42ce2 100644 --- a/common/mekanism/client/GuiMetallurgicInfuser.java +++ b/common/mekanism/client/GuiMetallurgicInfuser.java @@ -2,12 +2,11 @@ package mekanism.client; import java.util.ArrayList; -import mekanism.api.InfuseType; import mekanism.api.Object3D; import mekanism.common.ContainerMetallurgicInfuser; import mekanism.common.PacketHandler; -import mekanism.common.TileEntityMetallurgicInfuser; import mekanism.common.PacketHandler.Transmission; +import mekanism.common.TileEntityMetallurgicInfuser; import mekanism.common.network.PacketTileEntity; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -16,7 +15,6 @@ import org.lwjgl.opengl.GL11; import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/common/mekanism/client/GuiPasswordModify.java b/common/mekanism/client/GuiPasswordModify.java index ff3c0da7c..b7b99fafa 100644 --- a/common/mekanism/client/GuiPasswordModify.java +++ b/common/mekanism/client/GuiPasswordModify.java @@ -3,10 +3,9 @@ package mekanism.client; import mekanism.api.EnumColor; import mekanism.api.Object3D; import mekanism.common.IElectricChest; -import mekanism.common.InventoryElectricChest; import mekanism.common.PacketHandler; -import mekanism.common.TileEntityElectricChest; import mekanism.common.PacketHandler.Transmission; +import mekanism.common.TileEntityElectricChest; import mekanism.common.network.PacketElectricChest; import mekanism.common.network.PacketElectricChest.ElectricChestPacketType; import net.minecraft.client.gui.GuiButton; diff --git a/common/mekanism/client/GuiRobitInventory.java b/common/mekanism/client/GuiRobitInventory.java index ea1bf5b5a..5dfec0852 100644 --- a/common/mekanism/client/GuiRobitInventory.java +++ b/common/mekanism/client/GuiRobitInventory.java @@ -9,7 +9,6 @@ import mekanism.common.network.PacketRobit; import mekanism.common.network.PacketRobit.RobitPacketType; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; diff --git a/common/mekanism/client/GuiRobitRepair.java b/common/mekanism/client/GuiRobitRepair.java index 54bb4d33c..de6244b64 100644 --- a/common/mekanism/client/GuiRobitRepair.java +++ b/common/mekanism/client/GuiRobitRepair.java @@ -8,7 +8,6 @@ import mekanism.common.PacketHandler; import mekanism.common.PacketHandler.Transmission; import mekanism.common.network.PacketRobit; import mekanism.common.network.PacketRobit.RobitPacketType; -import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/common/mekanism/client/GuiRobitSmelting.java b/common/mekanism/client/GuiRobitSmelting.java index ce927957a..784fb96ff 100644 --- a/common/mekanism/client/GuiRobitSmelting.java +++ b/common/mekanism/client/GuiRobitSmelting.java @@ -12,9 +12,6 @@ import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - public class GuiRobitSmelting extends GuiContainer { public EntityRobit robit; diff --git a/common/mekanism/client/GuiStopwatch.java b/common/mekanism/client/GuiStopwatch.java index 32abe3c43..702737e2f 100644 --- a/common/mekanism/client/GuiStopwatch.java +++ b/common/mekanism/client/GuiStopwatch.java @@ -17,8 +17,6 @@ import cpw.mods.fml.relauncher.SideOnly; public class GuiStopwatch extends GuiScreen { private static EntityPlayer player; - private int xSize = 176; - private int ySize = 166; public GuiStopwatch(EntityPlayer entityplayer) { diff --git a/common/mekanism/client/GuiWeatherOrb.java b/common/mekanism/client/GuiWeatherOrb.java index 8c3af9228..896ab3781 100644 --- a/common/mekanism/client/GuiWeatherOrb.java +++ b/common/mekanism/client/GuiWeatherOrb.java @@ -18,8 +18,6 @@ import cpw.mods.fml.relauncher.SideOnly; public class GuiWeatherOrb extends GuiScreen { private static EntityPlayer player; - private int xSize = 176; - private int ySize = 166; public GuiWeatherOrb(EntityPlayer entityplayer) { diff --git a/common/mekanism/client/IHasSound.java b/common/mekanism/client/IHasSound.java index 5d68b77b1..b8ee970bd 100644 --- a/common/mekanism/client/IHasSound.java +++ b/common/mekanism/client/IHasSound.java @@ -1,9 +1,5 @@ package mekanism.client; -import net.minecraft.tileentity.TileEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - /** * Implement this if your TileEntity has a specific sound. * @author AidanBrady diff --git a/common/mekanism/client/LiquidClientUpdate.java b/common/mekanism/client/LiquidClientUpdate.java index 11c598215..94b0f493c 100644 --- a/common/mekanism/client/LiquidClientUpdate.java +++ b/common/mekanism/client/LiquidClientUpdate.java @@ -1,26 +1,11 @@ package mekanism.client; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import cpw.mods.fml.common.FMLCommonHandler; - -import mekanism.api.GasTransmission; -import mekanism.api.IGasAcceptor; -import mekanism.api.IGasStorage; import mekanism.common.IMechanicalPipe; import mekanism.common.PipeUtils; import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event; -import net.minecraftforge.liquids.ILiquidTank; -import net.minecraftforge.liquids.ITankContainer; import net.minecraftforge.liquids.LiquidStack; -import net.minecraftforge.liquids.LiquidTank; public class LiquidClientUpdate { diff --git a/common/mekanism/client/MachineRenderingHandler.java b/common/mekanism/client/MachineRenderingHandler.java index 0d29131f9..24c564dbb 100644 --- a/common/mekanism/client/MachineRenderingHandler.java +++ b/common/mekanism/client/MachineRenderingHandler.java @@ -5,7 +5,6 @@ import mekanism.common.Mekanism; import net.minecraft.block.Block; import net.minecraft.client.model.ModelChest; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; diff --git a/common/mekanism/client/RenderElectricChest.java b/common/mekanism/client/RenderElectricChest.java index b18afbd17..5791e4994 100644 --- a/common/mekanism/client/RenderElectricChest.java +++ b/common/mekanism/client/RenderElectricChest.java @@ -1,17 +1,15 @@ package mekanism.client; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import mekanism.common.TileEntityElectricChest; -import mekanism.common.TileEntityTheoreticalElementizer; import net.minecraft.client.model.ModelChest; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + @SideOnly(Side.CLIENT) public class RenderElectricChest extends TileEntitySpecialRenderer { diff --git a/common/mekanism/client/RenderMechanicalPipe.java b/common/mekanism/client/RenderMechanicalPipe.java index 27dcb7352..f126d3431 100644 --- a/common/mekanism/client/RenderMechanicalPipe.java +++ b/common/mekanism/client/RenderMechanicalPipe.java @@ -1,11 +1,8 @@ package mekanism.client; -import java.util.Arrays; import java.util.HashMap; import mekanism.client.MekanismRenderer.Model3D; -import mekanism.common.CableUtils; -import mekanism.common.Mekanism; import mekanism.common.PipeUtils; import mekanism.common.TileEntityMechanicalPipe; import net.minecraft.block.Block; @@ -14,8 +11,6 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.liquids.ITankContainer; -import net.minecraftforge.liquids.LiquidContainerRegistry; import net.minecraftforge.liquids.LiquidStack; import org.lwjgl.opengl.GL11; diff --git a/common/mekanism/client/RenderRobit.java b/common/mekanism/client/RenderRobit.java index cd8c73638..7d7fc3b3e 100644 --- a/common/mekanism/client/RenderRobit.java +++ b/common/mekanism/client/RenderRobit.java @@ -1,10 +1,8 @@ package mekanism.client; +import net.minecraft.client.renderer.entity.RenderLiving; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import mekanism.common.EntityRobit; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; @SideOnly(Side.CLIENT) public class RenderRobit extends RenderLiving diff --git a/common/mekanism/client/RenderTickHandler.java b/common/mekanism/client/RenderTickHandler.java index 8cf8a1342..43ed1b5de 100644 --- a/common/mekanism/client/RenderTickHandler.java +++ b/common/mekanism/client/RenderTickHandler.java @@ -4,7 +4,6 @@ import java.util.EnumSet; import mekanism.api.Object3D; import mekanism.common.Mekanism; -import mekanism.common.MekanismUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.entity.player.EntityPlayer; diff --git a/common/mekanism/client/SoundHandler.java b/common/mekanism/client/SoundHandler.java index 1cf203d28..75b517ab7 100644 --- a/common/mekanism/client/SoundHandler.java +++ b/common/mekanism/client/SoundHandler.java @@ -10,6 +10,7 @@ import java.util.Random; import mekanism.api.Object3D; import mekanism.common.IActiveState; import mekanism.common.Mekanism; +import net.minecraft.client.audio.SoundManager; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; @@ -43,7 +44,7 @@ public class SoundHandler */ public SoundHandler() { - soundSystem = FMLClientHandler.instance().instance().getClient().sndManager.sndSystem; + soundSystem = SoundManager.sndSystem; MinecraftForge.EVENT_BUS.register(this); System.out.println("[Mekanism] Successfully set up SoundHandler."); } @@ -57,7 +58,7 @@ public class SoundHandler { if(soundSystem == null) { - soundSystem = FMLClientHandler.instance().instance().getClient().sndManager.sndSystem; + soundSystem = SoundManager.sndSystem; } if(soundSystem != null) diff --git a/common/mekanism/common/BlockBasic.java b/common/mekanism/common/BlockBasic.java index abd0654e1..3dfea1394 100644 --- a/common/mekanism/common/BlockBasic.java +++ b/common/mekanism/common/BlockBasic.java @@ -1,9 +1,7 @@ package mekanism.common; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import mekanism.api.Object3D; import mekanism.client.ClientProxy; @@ -22,7 +20,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; @@ -215,8 +212,6 @@ public class BlockBasic extends Block { if(itemStack.stackSize > 1) { - boolean didMove = false; - for(int i = 0; i < player.inventory.mainInventory.length; i++) { if(player.inventory.mainInventory[i] == null) diff --git a/common/mekanism/common/BlockEnergyCube.java b/common/mekanism/common/BlockEnergyCube.java index 08161dbe3..bb3da10c6 100644 --- a/common/mekanism/common/BlockEnergyCube.java +++ b/common/mekanism/common/BlockEnergyCube.java @@ -35,7 +35,6 @@ import cpw.mods.fml.relauncher.SideOnly; public class BlockEnergyCube extends BlockContainer { public Icon[][] icons = new Icon[256][256]; - private Random powerRand = new Random(); public BlockEnergyCube(int id) { diff --git a/common/mekanism/common/BlockObsidianTNT.java b/common/mekanism/common/BlockObsidianTNT.java index 5361520b1..907db1fc6 100644 --- a/common/mekanism/common/BlockObsidianTNT.java +++ b/common/mekanism/common/BlockObsidianTNT.java @@ -1,10 +1,5 @@ package mekanism.common; -import java.util.Random; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -16,6 +11,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraft.world.Explosion; import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class BlockObsidianTNT extends Block { diff --git a/common/mekanism/common/BlockTransmitter.java b/common/mekanism/common/BlockTransmitter.java index 3039216e1..aa33d87f2 100644 --- a/common/mekanism/common/BlockTransmitter.java +++ b/common/mekanism/common/BlockTransmitter.java @@ -18,8 +18,6 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.liquids.ITankContainer; -import net.minecraftforge.liquids.LiquidStack; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/common/mekanism/common/CommandMekanism.java b/common/mekanism/common/CommandMekanism.java index 8a82c0da3..10830cddd 100644 --- a/common/mekanism/common/CommandMekanism.java +++ b/common/mekanism/common/CommandMekanism.java @@ -3,8 +3,6 @@ package mekanism.common; import java.util.Arrays; import java.util.List; -import cpw.mods.fml.common.FMLCommonHandler; - import mekanism.api.EnumColor; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommandSender; diff --git a/common/mekanism/common/ContainerRobitCrafting.java b/common/mekanism/common/ContainerRobitCrafting.java index b8690215f..f5add4ae2 100644 --- a/common/mekanism/common/ContainerRobitCrafting.java +++ b/common/mekanism/common/ContainerRobitCrafting.java @@ -1,6 +1,5 @@ package mekanism.common; -import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ContainerWorkbench; diff --git a/common/mekanism/common/ContainerRobitInventory.java b/common/mekanism/common/ContainerRobitInventory.java index b02523195..02c1bdc3c 100644 --- a/common/mekanism/common/ContainerRobitInventory.java +++ b/common/mekanism/common/ContainerRobitInventory.java @@ -1,13 +1,9 @@ package mekanism.common; -import ic2.api.item.IElectricItem; -import universalelectricity.core.item.IItemElectric; 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.Slot; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class ContainerRobitInventory extends Container diff --git a/common/mekanism/common/ContainerRobitMain.java b/common/mekanism/common/ContainerRobitMain.java index 6c56ad873..c1717a1dd 100644 --- a/common/mekanism/common/ContainerRobitMain.java +++ b/common/mekanism/common/ContainerRobitMain.java @@ -1,15 +1,11 @@ package mekanism.common; -import ic2.api.item.IElectricItem; -import universalelectricity.core.item.IItemElectric; import mekanism.common.SlotEnergy.SlotDischarge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraftforge.liquids.LiquidContainerRegistry; public class ContainerRobitMain extends Container { diff --git a/common/mekanism/common/ContainerRobitSmelting.java b/common/mekanism/common/ContainerRobitSmelting.java index 73e9d8230..02b2494c3 100644 --- a/common/mekanism/common/ContainerRobitSmelting.java +++ b/common/mekanism/common/ContainerRobitSmelting.java @@ -1,7 +1,5 @@ package mekanism.common; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/common/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java index b3d041d83..d077dc701 100644 --- a/common/mekanism/common/EnergyNetwork.java +++ b/common/mekanism/common/EnergyNetwork.java @@ -17,7 +17,6 @@ import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.ChunkEvent; import buildcraft.api.power.IPowerReceptor; diff --git a/common/mekanism/common/ISustainedInventory.java b/common/mekanism/common/ISustainedInventory.java index 584f44e7b..fe962ae98 100644 --- a/common/mekanism/common/ISustainedInventory.java +++ b/common/mekanism/common/ISustainedInventory.java @@ -1,6 +1,5 @@ package mekanism.common; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; /** diff --git a/common/mekanism/common/ISustainedTank.java b/common/mekanism/common/ISustainedTank.java index 7d720f121..89e118171 100644 --- a/common/mekanism/common/ISustainedTank.java +++ b/common/mekanism/common/ISustainedTank.java @@ -1,8 +1,6 @@ package mekanism.common; -import net.minecraft.nbt.NBTTagList; import net.minecraftforge.liquids.LiquidStack; -import net.minecraftforge.liquids.LiquidTank; /** * Internal interface used in blocks and items that are capable of storing sustained tanks. diff --git a/common/mekanism/common/IUniversalCable.java b/common/mekanism/common/IUniversalCable.java index 8f700def3..12bc95b3f 100644 --- a/common/mekanism/common/IUniversalCable.java +++ b/common/mekanism/common/IUniversalCable.java @@ -1,7 +1,5 @@ package mekanism.common; -import net.minecraft.tileentity.TileEntity; - /** * Implement this in your TileEntity class if the block can transfer energy as a Universal Cable. * @author AidanBrady diff --git a/common/mekanism/common/InventoryElectricChest.java b/common/mekanism/common/InventoryElectricChest.java index 7d7b4b5a3..4cac46d14 100644 --- a/common/mekanism/common/InventoryElectricChest.java +++ b/common/mekanism/common/InventoryElectricChest.java @@ -1,8 +1,6 @@ package mekanism.common; -import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryBasic; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; diff --git a/common/mekanism/common/ItemRobit.java b/common/mekanism/common/ItemRobit.java index 61c2b99a9..e6da09630 100644 --- a/common/mekanism/common/ItemRobit.java +++ b/common/mekanism/common/ItemRobit.java @@ -2,22 +2,16 @@ package mekanism.common; import java.util.List; -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.EnumColor; import mekanism.api.Object3D; -import mekanism.common.IFactory.RecipeType; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.World; -import net.minecraftforge.liquids.LiquidDictionary; -import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.electricity.ElectricityPack; -import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemRobit extends ItemEnergized implements ISustainedInventory { diff --git a/common/mekanism/common/ItemStorageTank.java b/common/mekanism/common/ItemStorageTank.java index 7ceb8f63f..c244936c1 100644 --- a/common/mekanism/common/ItemStorageTank.java +++ b/common/mekanism/common/ItemStorageTank.java @@ -53,8 +53,6 @@ public class ItemStorageTank extends ItemMekanism implements IStorageTank @Override public void onUpdate(ItemStack itemstack, World world, Entity entity, int i, boolean flag) { - ItemStorageTank item = ((ItemStorageTank)itemstack.getItem()); - if(getGasType(itemstack) != EnumGas.NONE && getGas(getGasType(itemstack), itemstack) == 0) { setGasType(itemstack, EnumGas.NONE); diff --git a/common/mekanism/common/LinkedPowerProvider.java b/common/mekanism/common/LinkedPowerProvider.java index 45cbf07a0..ea0a52789 100644 --- a/common/mekanism/common/LinkedPowerProvider.java +++ b/common/mekanism/common/LinkedPowerProvider.java @@ -1,6 +1,5 @@ package mekanism.common; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import buildcraft.api.power.IPowerReceptor; import buildcraft.api.power.PowerProvider; diff --git a/common/mekanism/common/MekanismHooks.java b/common/mekanism/common/MekanismHooks.java index 7776c4629..1ce3b96d3 100644 --- a/common/mekanism/common/MekanismHooks.java +++ b/common/mekanism/common/MekanismHooks.java @@ -20,16 +20,11 @@ import cpw.mods.fml.common.Loader; */ public final class MekanismHooks { - private Class IC2; - - private Class Railcraft; - private Class BasicComponents; private Class BuildCraftEnergy; private Class ForestryItem; - private Class Forestry; public int ForestryBiofuelID = 5013; public ItemStack ForestryBiofuelBucket; diff --git a/common/mekanism/common/SynchronizedTankData.java b/common/mekanism/common/SynchronizedTankData.java index ae07ee593..e64cbc85b 100644 --- a/common/mekanism/common/SynchronizedTankData.java +++ b/common/mekanism/common/SynchronizedTankData.java @@ -1,16 +1,13 @@ package mekanism.common; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.Set; +import mekanism.api.Object3D; import net.minecraft.item.ItemStack; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.liquids.LiquidStack; -import mekanism.api.Object3D; - public class SynchronizedTankData { public Set locations = new HashSet(); diff --git a/common/mekanism/common/TankUpdateProtocol.java b/common/mekanism/common/TankUpdateProtocol.java index 0c32def69..6221838b1 100644 --- a/common/mekanism/common/TankUpdateProtocol.java +++ b/common/mekanism/common/TankUpdateProtocol.java @@ -1,16 +1,11 @@ package mekanism.common; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.Set; import mekanism.api.Object3D; import mekanism.common.SynchronizedTankData.ValveData; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; diff --git a/common/mekanism/common/TileEntityTheoreticalElementizer.java b/common/mekanism/common/TileEntityTheoreticalElementizer.java index 0d0987fb8..3e6ced53f 100644 --- a/common/mekanism/common/TileEntityTheoreticalElementizer.java +++ b/common/mekanism/common/TileEntityTheoreticalElementizer.java @@ -1,16 +1,14 @@ package mekanism.common; -import java.util.Collections; import java.util.HashMap; import java.util.Random; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import mekanism.common.BlockMachine.MachineType; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectricMachine { diff --git a/common/mekanism/common/network/PacketConfiguratorState.java b/common/mekanism/common/network/PacketConfiguratorState.java index 4d1a8dbdf..b52ac307b 100644 --- a/common/mekanism/common/network/PacketConfiguratorState.java +++ b/common/mekanism/common/network/PacketConfiguratorState.java @@ -4,7 +4,6 @@ import java.io.DataOutputStream; import mekanism.common.ItemConfigurator; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/common/mekanism/common/network/PacketElectricBowState.java b/common/mekanism/common/network/PacketElectricBowState.java index 9da569b42..38f749bc1 100644 --- a/common/mekanism/common/network/PacketElectricBowState.java +++ b/common/mekanism/common/network/PacketElectricBowState.java @@ -4,7 +4,6 @@ import java.io.DataOutputStream; import mekanism.common.ItemElectricBow; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/common/mekanism/generators/client/ModelAdvancedSolarGenerator.java b/common/mekanism/generators/client/ModelAdvancedSolarGenerator.java index 44aa9057d..034a8fa53 100644 --- a/common/mekanism/generators/client/ModelAdvancedSolarGenerator.java +++ b/common/mekanism/generators/client/ModelAdvancedSolarGenerator.java @@ -1,10 +1,9 @@ package mekanism.generators.client; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelAdvancedSolarGenerator extends ModelBase diff --git a/common/mekanism/generators/client/ModelBioGenerator.java b/common/mekanism/generators/client/ModelBioGenerator.java index 910409eee..6956371f9 100644 --- a/common/mekanism/generators/client/ModelBioGenerator.java +++ b/common/mekanism/generators/client/ModelBioGenerator.java @@ -1,10 +1,9 @@ package mekanism.generators.client; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelBioGenerator extends ModelBase diff --git a/common/mekanism/generators/client/RenderWindTurbine.java b/common/mekanism/generators/client/RenderWindTurbine.java index 5dc0b1b80..bfbb9039e 100644 --- a/common/mekanism/generators/client/RenderWindTurbine.java +++ b/common/mekanism/generators/client/RenderWindTurbine.java @@ -2,14 +2,11 @@ package mekanism.generators.client; import mekanism.common.Mekanism; import mekanism.generators.common.TileEntityWindTurbine; -import net.minecraft.client.gui.GuiIngameMenu; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; -import cpw.mods.fml.client.FMLClientHandler; - public class RenderWindTurbine extends TileEntitySpecialRenderer { private ModelWindTurbine model = new ModelWindTurbine(); diff --git a/common/mekanism/generators/common/ContainerHeatGenerator.java b/common/mekanism/generators/common/ContainerHeatGenerator.java index bcd8197cf..18cf21a2d 100644 --- a/common/mekanism/generators/common/ContainerHeatGenerator.java +++ b/common/mekanism/generators/common/ContainerHeatGenerator.java @@ -1,7 +1,6 @@ package mekanism.generators.common; import ic2.api.item.IElectricItem; -import mekanism.common.Mekanism; import mekanism.common.SlotEnergy.SlotCharge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/common/mekanism/generators/common/GeneratorsCommonProxy.java b/common/mekanism/generators/common/GeneratorsCommonProxy.java index 5f66dff35..b64e46015 100644 --- a/common/mekanism/generators/common/GeneratorsCommonProxy.java +++ b/common/mekanism/generators/common/GeneratorsCommonProxy.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import net.minecraftforge.common.Configuration; import cpw.mods.fml.common.registry.GameRegistry; /** diff --git a/common/universalelectricity/core/electricity/ElectricityNetwork.java b/common/universalelectricity/core/electricity/ElectricityNetwork.java index d57f61443..f2fdb53c9 100644 --- a/common/universalelectricity/core/electricity/ElectricityNetwork.java +++ b/common/universalelectricity/core/electricity/ElectricityNetwork.java @@ -254,7 +254,6 @@ public class ElectricityNetwork implements IElectricityNetwork ElectricityPack totalRequest = this.getRequestWithoutReduction(); totalElectricity.amperes *= (tileRequest.amperes / totalRequest.amperes); - int distance = this.conductors.size(); double ampsReceived = totalElectricity.amperes - (totalElectricity.amperes * totalElectricity.amperes * this.getTotalResistance()) / totalElectricity.voltage; double voltsReceived = totalElectricity.voltage - (totalElectricity.amperes * this.getTotalResistance()); From a667f9a3b69382a1f0ddb9cac36a6cc91b2679af Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 29 Jun 2013 17:24:54 -0400 Subject: [PATCH 15/29] v5.5.6 Beta #24 *Removed Mechanical Pipe & Universal Cable redstone toggle. *Fixed render crash. *Fixed version println. --- common/mekanism/client/MekanismRenderer.java | 5 ++ .../mekanism/client/RenderMechanicalPipe.java | 20 +++----- .../mekanism/client/RenderUniversalCable.java | 18 +++---- common/mekanism/common/CableUtils.java | 51 ++++++++----------- common/mekanism/common/EnergyNetwork.java | 4 +- common/mekanism/common/IMechanicalPipe.java | 6 --- common/mekanism/common/IUniversalCable.java | 6 --- common/mekanism/common/LiquidNetwork.java | 2 +- common/mekanism/common/PipeUtils.java | 34 +++++-------- .../common/TileEntityMechanicalPipe.java | 28 +++------- .../common/TileEntityUniversalCable.java | 30 ++++------- common/mekanism/common/Version.java | 1 - 12 files changed, 73 insertions(+), 132 deletions(-) diff --git a/common/mekanism/client/MekanismRenderer.java b/common/mekanism/client/MekanismRenderer.java index 8c5be58a4..359745d62 100644 --- a/common/mekanism/client/MekanismRenderer.java +++ b/common/mekanism/client/MekanismRenderer.java @@ -83,6 +83,11 @@ public class MekanismRenderer public static void renderObject(Model3D object) { + if(object == null) + { + return; + } + renderBlocks.renderMaxX = object.maxX; renderBlocks.renderMinX = object.minX; renderBlocks.renderMaxY = object.maxY; diff --git a/common/mekanism/client/RenderMechanicalPipe.java b/common/mekanism/client/RenderMechanicalPipe.java index f126d3431..2a85cd999 100644 --- a/common/mekanism/client/RenderMechanicalPipe.java +++ b/common/mekanism/client/RenderMechanicalPipe.java @@ -44,14 +44,11 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer boolean[] connectable = PipeUtils.getConnections(tileEntity); - if(tileEntity.canTransferLiquids()) + for(int i = 0; i < 6; i++) { - for(int i = 0; i < 6; i++) + if(connectable[i]) { - if(connectable[i]) - { - model.renderSide(ForgeDirection.getOrientation(i)); - } + model.renderSide(ForgeDirection.getOrientation(i)); } } @@ -70,15 +67,12 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer bindTextureByName(tileEntity.refLiquid.getTextureSheet()); GL11.glTranslatef((float)x, (float)y, (float)z); - if(tileEntity.canTransferLiquids()) + for(int i = 0; i < 6; i++) { - for(int i = 0; i < 6; i++) + if(connectable[i]) { - if(connectable[i]) - { - int[] displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refLiquid, tileEntity.worldObj); - GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); - } + int[] displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refLiquid, tileEntity.worldObj); + GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); } } diff --git a/common/mekanism/client/RenderUniversalCable.java b/common/mekanism/client/RenderUniversalCable.java index fb486e61f..d33570239 100644 --- a/common/mekanism/client/RenderUniversalCable.java +++ b/common/mekanism/client/RenderUniversalCable.java @@ -40,14 +40,11 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer boolean[] connectable = CableUtils.getConnections(tileEntity); - if(tileEntity.canTransferEnergy()) + for(int i = 0; i < 6; i++) { - for(int i = 0; i < 6; i++) + if(connectable[i]) { - if(connectable[i]) - { - model.renderSide(ForgeDirection.getOrientation(i)); - } + model.renderSide(ForgeDirection.getOrientation(i)); } } @@ -63,14 +60,11 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer bindTextureByName("/mods/mekanism/textures/items/LiquidEnergy.png"); GL11.glTranslatef((float)x, (float)y, (float)z); - if(tileEntity.canTransferEnergy()) + for(int i = 0; i < 6; i++) { - for(int i = 0; i < 6; i++) + if(connectable[i]) { - if(connectable[i]) - { - renderEnergy(ForgeDirection.getOrientation(i)); - } + renderEnergy(ForgeDirection.getOrientation(i)); } } diff --git a/common/mekanism/common/CableUtils.java b/common/mekanism/common/CableUtils.java index a533f91c9..843740840 100644 --- a/common/mekanism/common/CableUtils.java +++ b/common/mekanism/common/CableUtils.java @@ -28,17 +28,14 @@ public final class CableUtils { TileEntity[] acceptors = new TileEntity[] {null, null, null, null, null, null}; - if(!(tileEntity instanceof IUniversalCable) || ((IUniversalCable)tileEntity).canTransferEnergy()) + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(acceptor instanceof IStrictEnergyAcceptor || acceptor instanceof IEnergySink || (acceptor instanceof IPowerReceptor && !(acceptor instanceof IUniversalCable) && Mekanism.hooks.BuildCraftLoaded)) - { - acceptors[orientation.ordinal()] = acceptor; - } - } + TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(acceptor instanceof IStrictEnergyAcceptor || acceptor instanceof IEnergySink || (acceptor instanceof IPowerReceptor && !(acceptor instanceof IUniversalCable) && Mekanism.hooks.BuildCraftLoaded)) + { + acceptors[orientation.ordinal()] = acceptor; + } } return acceptors; @@ -53,17 +50,14 @@ public final class CableUtils { TileEntity[] cables = new TileEntity[] {null, null, null, null, null, null}; - if(!(tileEntity instanceof IUniversalCable) || ((IUniversalCable)tileEntity).canTransferEnergy()) + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity cable = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(cable instanceof IUniversalCable && ((IUniversalCable)cable).canTransferEnergy()) - { - cables[orientation.ordinal()] = cable; - } - } + TileEntity cable = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(cable instanceof IUniversalCable) + { + cables[orientation.ordinal()] = cable; + } } return cables; @@ -124,17 +118,14 @@ public final class CableUtils { TileEntity[] outputters = new TileEntity[] {null, null, null, null, null, null}; - if(!(tileEntity instanceof IUniversalCable) || ((IUniversalCable)tileEntity).canTransferEnergy()) + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity outputter = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(outputter instanceof ICableOutputter && ((ICableOutputter)outputter).canOutputTo(orientation.getOpposite()) || outputter instanceof IEnergySource && ((IEnergySource)outputter).emitsEnergyTo(tileEntity, MekanismUtils.toIC2Direction(orientation.getOpposite()))) - { - outputters[orientation.ordinal()] = outputter; - } - } + TileEntity outputter = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(outputter instanceof ICableOutputter && ((ICableOutputter)outputter).canOutputTo(orientation.getOpposite()) || outputter instanceof IEnergySource && ((IEnergySource)outputter).emitsEnergyTo(tileEntity, MekanismUtils.toIC2Direction(orientation.getOpposite()))) + { + outputters[orientation.ordinal()] = outputter; + } } return outputters; diff --git a/common/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java index d077dc701..2ddbda708 100644 --- a/common/mekanism/common/EnergyNetwork.java +++ b/common/mekanism/common/EnergyNetwork.java @@ -288,7 +288,7 @@ public class EnergyNetwork public void loopThrough(Object3D location) { - if(location.getTileEntity(worldObj) instanceof IUniversalCable && ((IUniversalCable)location.getTileEntity(worldObj)).canTransferEnergy()) + if(location.getTileEntity(worldObj) instanceof IUniversalCable) { iterated.add(location); } @@ -306,7 +306,7 @@ public class EnergyNetwork { TileEntity tileEntity = obj.getTileEntity(worldObj); - if(tileEntity instanceof IUniversalCable && ((IUniversalCable)tileEntity).canTransferEnergy()) + if(tileEntity instanceof IUniversalCable) { loopThrough(obj); } diff --git a/common/mekanism/common/IMechanicalPipe.java b/common/mekanism/common/IMechanicalPipe.java index 830bbdbd0..e0bfed3c2 100644 --- a/common/mekanism/common/IMechanicalPipe.java +++ b/common/mekanism/common/IMechanicalPipe.java @@ -9,12 +9,6 @@ import net.minecraftforge.liquids.LiquidStack; */ public interface IMechanicalPipe { - /** - * Whether or not this pipe can transfer liquids. - * @return if the pipe can transfer liquids - */ - public boolean canTransferLiquids(); - /** * Called when liquid is transferred through this pipe. * @param liquidStack - the liquid transferred diff --git a/common/mekanism/common/IUniversalCable.java b/common/mekanism/common/IUniversalCable.java index 12bc95b3f..42e1f7985 100644 --- a/common/mekanism/common/IUniversalCable.java +++ b/common/mekanism/common/IUniversalCable.java @@ -7,12 +7,6 @@ package mekanism.common; */ public interface IUniversalCable { - /** - * Whether or not this cable can transfer energy. - * @return if the cable can transfer energy - */ - public boolean canTransferEnergy(); - /** * Gets the EnergyNetwork currently in use by this cable segment. * @return EnergyNetwork this cable is using diff --git a/common/mekanism/common/LiquidNetwork.java b/common/mekanism/common/LiquidNetwork.java index 3def835d0..f5a6b15b3 100644 --- a/common/mekanism/common/LiquidNetwork.java +++ b/common/mekanism/common/LiquidNetwork.java @@ -250,7 +250,7 @@ public class LiquidNetwork { TileEntity tileEntity = obj.getTileEntity(worldObj); - if(tileEntity instanceof IMechanicalPipe && ((IMechanicalPipe)tileEntity).canTransferLiquids()) + if(tileEntity instanceof IMechanicalPipe) { loopThrough(obj); } diff --git a/common/mekanism/common/PipeUtils.java b/common/mekanism/common/PipeUtils.java index e93127b3d..a5880d394 100644 --- a/common/mekanism/common/PipeUtils.java +++ b/common/mekanism/common/PipeUtils.java @@ -19,17 +19,14 @@ public final class PipeUtils { TileEntity[] pipes = new TileEntity[] {null, null, null, null, null, null}; - if(!(tileEntity instanceof IMechanicalPipe) || ((IMechanicalPipe)tileEntity).canTransferLiquids()) + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity pipe = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(pipe instanceof IMechanicalPipe && ((IMechanicalPipe)pipe).canTransferLiquids()) - { - pipes[orientation.ordinal()] = pipe; - } - } + TileEntity pipe = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(pipe instanceof IMechanicalPipe) + { + pipes[orientation.ordinal()] = pipe; + } } return pipes; @@ -86,17 +83,14 @@ public final class PipeUtils { ITankContainer[] acceptors = new ITankContainer[] {null, null, null, null, null, null}; - if(!(tileEntity instanceof IMechanicalPipe) || ((IMechanicalPipe)tileEntity).canTransferLiquids()) + for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); - - if(acceptor instanceof ITankContainer && !(acceptor instanceof IMechanicalPipe)) - { - acceptors[orientation.ordinal()] = (ITankContainer)acceptor; - } - } + TileEntity acceptor = Object3D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.worldObj); + + if(acceptor instanceof ITankContainer && !(acceptor instanceof IMechanicalPipe)) + { + acceptors[orientation.ordinal()] = (ITankContainer)acceptor; + } } return acceptors; diff --git a/common/mekanism/common/TileEntityMechanicalPipe.java b/common/mekanism/common/TileEntityMechanicalPipe.java index fbfb29ed3..6f3386c74 100644 --- a/common/mekanism/common/TileEntityMechanicalPipe.java +++ b/common/mekanism/common/TileEntityMechanicalPipe.java @@ -38,12 +38,6 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP /** The scale (0F -> 1F) of this pipe's liquid level. */ public float liquidScale; - @Override - public boolean canTransferLiquids() - { - return worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) == 0; - } - @Override public void onTransfer(LiquidStack liquidStack) { @@ -91,23 +85,17 @@ public class TileEntityMechanicalPipe extends TileEntity implements IMechanicalP { if(!worldObj.isRemote) { - if(canTransferLiquids()) + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - - if(tileEntity instanceof IMechanicalPipe && ((IMechanicalPipe)tileEntity).canTransferLiquids()) - { - getNetwork().merge(((IMechanicalPipe)tileEntity).getNetwork()); - } - } + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - getNetwork().refresh(); - } - else { - getNetwork().split(this); + if(tileEntity instanceof IMechanicalPipe) + { + getNetwork().merge(((IMechanicalPipe)tileEntity).getNetwork()); + } } + + getNetwork().refresh(); } } diff --git a/common/mekanism/common/TileEntityUniversalCable.java b/common/mekanism/common/TileEntityUniversalCable.java index 320227698..70c03cbe0 100644 --- a/common/mekanism/common/TileEntityUniversalCable.java +++ b/common/mekanism/common/TileEntityUniversalCable.java @@ -65,31 +65,19 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa { if(!worldObj.isRemote) { - if(canTransferEnergy()) + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - - if(tileEntity instanceof IUniversalCable && ((IUniversalCable)tileEntity).canTransferEnergy()) - { - getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); - } - } + TileEntity tileEntity = Object3D.get(this).getFromSide(side).getTileEntity(worldObj); - getNetwork().refresh(); - } - else { - getNetwork().split(this); + if(tileEntity instanceof IUniversalCable) + { + getNetwork().merge(((IUniversalCable)tileEntity).getNetwork()); + } } + + getNetwork().refresh(); } } - - @Override - public boolean canTransferEnergy() - { - return worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) == 0; - } @Override public void setPowerProvider(IPowerProvider provider) {} @@ -108,7 +96,7 @@ public class TileEntityUniversalCable extends TileEntity implements IUniversalCa { ArrayList ignored = new ArrayList(); ignored.add(Object3D.get(this).getFromSide(from).getTileEntity(worldObj)); - return canTransferEnergy() ? (int)Math.min(100, getNetwork().getEnergyNeeded(ignored)*Mekanism.TO_BC) : 0; + return (int)Math.min(100, getNetwork().getEnergyNeeded(ignored)*Mekanism.TO_BC); } @Override diff --git a/common/mekanism/common/Version.java b/common/mekanism/common/Version.java index a19024d88..bd8e217fe 100644 --- a/common/mekanism/common/Version.java +++ b/common/mekanism/common/Version.java @@ -92,7 +92,6 @@ public class Version if(split.length != 3) { - System.out.println(split.length); return null; } From 52ceee125914f0fcbd144c00489abce9fc64251a Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 29 Jun 2013 23:06:24 -0400 Subject: [PATCH 16/29] Mechanical Pipe crash fix, Dynamic Tank GUI fix --- common/mekanism/client/GuiDynamicTank.java | 7 +++++- .../mekanism/client/RenderMechanicalPipe.java | 23 +++++++++++++++---- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/common/mekanism/client/GuiDynamicTank.java b/common/mekanism/client/GuiDynamicTank.java index bd99f9eaf..3c0a3cdb1 100644 --- a/common/mekanism/client/GuiDynamicTank.java +++ b/common/mekanism/client/GuiDynamicTank.java @@ -35,7 +35,12 @@ public class GuiDynamicTank extends GuiContainer fontRenderer.drawString(tileEntity.fullName, 45, 6, 0x404040); fontRenderer.drawString("Inventory", 8, (ySize - 94) + 2, 0x404040); fontRenderer.drawString("Volume: " + tileEntity.clientCapacity/16000, 53, 26, 0x00CD00); - fontRenderer.drawString(tileEntity.structure.liquidStored != null ? LiquidDictionary.findLiquidName(tileEntity.structure.liquidStored) + ": " + tileEntity.structure.liquidStored.amount : "No liquid.", 53, 35, 0x00CD00); + fontRenderer.drawString(tileEntity.structure.liquidStored != null ? LiquidDictionary.findLiquidName(tileEntity.structure.liquidStored) + ":" : "No liquid.", 53, 44, 0x00CD00); + + if(tileEntity.structure.liquidStored != null) + { + fontRenderer.drawString(tileEntity.structure.liquidStored.amount + "mB", 53, 53, 0x00CD00); + } if(xAxis >= 7 && xAxis <= 39 && yAxis >= 14 && yAxis <= 72) diff --git a/common/mekanism/client/RenderMechanicalPipe.java b/common/mekanism/client/RenderMechanicalPipe.java index 2a85cd999..83140d770 100644 --- a/common/mekanism/client/RenderMechanicalPipe.java +++ b/common/mekanism/client/RenderMechanicalPipe.java @@ -71,13 +71,21 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer { if(connectable[i]) { - int[] displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refLiquid, tileEntity.worldObj); - GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); + int[] displayList = getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refLiquid); + + if(displayList != null) + { + GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); + } } } - int[] displayList = getListAndRender(ForgeDirection.UNKNOWN, tileEntity.refLiquid, tileEntity.worldObj); - GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); + int[] displayList = getListAndRender(ForgeDirection.UNKNOWN, tileEntity.refLiquid); + + if(displayList != null) + { + GL11.glCallList(displayList[Math.max(3, (int)((float)tileEntity.liquidScale*(stages-1)))]); + } if(tileEntity.refLiquid.itemID == Block.lavaStill.blockID) { @@ -104,8 +112,13 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); } - private int[] getListAndRender(ForgeDirection side, LiquidStack stack, World world) + private int[] getListAndRender(ForgeDirection side, LiquidStack stack) { + if(side == null || stack == null || stack.getRenderingIcon() == null) + { + return null; + } + if(cachedLiquids.containsKey(side) && cachedLiquids.get(side).containsKey(stack)) { return cachedLiquids.get(side).get(stack); From 29749ca510eeeee41049b86d67aa85de05883891 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 29 Jun 2013 23:19:46 -0400 Subject: [PATCH 17/29] Containers can now be accessed anywhere --- common/mekanism/common/TileEntityContainerBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/mekanism/common/TileEntityContainerBlock.java b/common/mekanism/common/TileEntityContainerBlock.java index 2a3919a12..ed47b4b18 100644 --- a/common/mekanism/common/TileEntityContainerBlock.java +++ b/common/mekanism/common/TileEntityContainerBlock.java @@ -147,7 +147,7 @@ public abstract class TileEntityContainerBlock extends TileEntityBasicBlock impl @Override public boolean isUseableByPlayer(EntityPlayer entityplayer) { - return worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) != this ? false : entityplayer.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64.0D; + return true; } @Override From 17d4acf38985f0ce6bebbe6c03a3a94dde9c6111 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Tue, 2 Jul 2013 13:25:56 -0400 Subject: [PATCH 18/29] Fixed IC2 integration, minor cleanup --- common/mekanism/client/ClientProxy.java | 5 +++-- common/mekanism/client/RenderMechanicalPipe.java | 1 - common/mekanism/common/CableUtils.java | 9 +++++++-- common/mekanism/common/IC2EnergyHandler.java | 2 +- common/mekanism/common/TileEntityElectricBlock.java | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/common/mekanism/client/ClientProxy.java b/common/mekanism/client/ClientProxy.java index f4c84592e..9e56f54ca 100644 --- a/common/mekanism/client/ClientProxy.java +++ b/common/mekanism/client/ClientProxy.java @@ -36,6 +36,7 @@ import mekanism.common.TileEntityPurificationChamber; import mekanism.common.TileEntityTeleporter; import mekanism.common.TileEntityTheoreticalElementizer; import mekanism.common.TileEntityUniversalCable; +import net.minecraft.client.audio.SoundManager; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -83,7 +84,7 @@ public class ClientProxy extends CommonProxy @Override public void registerSound(TileEntity tileEntity) { - if(Mekanism.enableSounds && FMLClientHandler.instance().getClient().sndManager.sndSystem != null) + if(Mekanism.enableSounds && SoundManager.sndSystem != null) { synchronized(Mekanism.audioHandler.sounds) { @@ -95,7 +96,7 @@ public class ClientProxy extends CommonProxy @Override public void unregisterSound(TileEntity tileEntity) { - if(Mekanism.enableSounds && FMLClientHandler.instance().getClient().sndManager.sndSystem != null) + if(Mekanism.enableSounds && SoundManager.sndSystem != null) { synchronized(Mekanism.audioHandler.sounds) { diff --git a/common/mekanism/client/RenderMechanicalPipe.java b/common/mekanism/client/RenderMechanicalPipe.java index 83140d770..b04459f4b 100644 --- a/common/mekanism/client/RenderMechanicalPipe.java +++ b/common/mekanism/client/RenderMechanicalPipe.java @@ -9,7 +9,6 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.GLAllocation; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.liquids.LiquidStack; diff --git a/common/mekanism/common/CableUtils.java b/common/mekanism/common/CableUtils.java index 843740840..331bdc07c 100644 --- a/common/mekanism/common/CableUtils.java +++ b/common/mekanism/common/CableUtils.java @@ -206,7 +206,7 @@ public final class CableUtils * @param ignored - ignored acceptors * @return rejected energy */ - public static double emitEnergyFromAllSides(double amount, TileEntity pointer, ArrayList ignored) + public static double emitEnergyFromAllSides(double amount, TileEntity pointer, ArrayList ignored) { if(pointer != null) { @@ -219,12 +219,17 @@ public final class CableUtils { TileEntity sideTile = Object3D.get(pointer).getFromSide(side).getTileEntity(pointer.worldObj); - if(sideTile instanceof IUniversalCable) + if(sideTile instanceof IUniversalCable && !ignored.contains(sideTile)) { networks.add(((IUniversalCable)sideTile).getNetwork()); } } + if(networks.size() == 0) + { + return amount; + } + double remaining = amount%networks.size(); double splitEnergy = (amount-remaining)/networks.size(); diff --git a/common/mekanism/common/IC2EnergyHandler.java b/common/mekanism/common/IC2EnergyHandler.java index 657bba076..d387d884c 100644 --- a/common/mekanism/common/IC2EnergyHandler.java +++ b/common/mekanism/common/IC2EnergyHandler.java @@ -36,7 +36,7 @@ public class IC2EnergyHandler { IEnergySource source = (IEnergySource)tileEntity; - if(!source.emitsEnergyTo(tile, MekanismUtils.toIC2Direction(orientation.getOpposite()))) + if(!source.emitsEnergyTo(tile, MekanismUtils.toIC2Direction(orientation))) { ignoredTiles.add(tile); } diff --git a/common/mekanism/common/TileEntityElectricBlock.java b/common/mekanism/common/TileEntityElectricBlock.java index 6f11fc4b9..9be174308 100644 --- a/common/mekanism/common/TileEntityElectricBlock.java +++ b/common/mekanism/common/TileEntityElectricBlock.java @@ -51,7 +51,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i @Override public void onUpdate() { - if(!initialized && worldObj != null) + if(!initialized && worldObj != null && !worldObj.isRemote) { if(Mekanism.hooks.IC2Loaded) { @@ -146,7 +146,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i { ElectricityNetworkHelper.invalidate(this); - if(initialized) + if(initialized && !worldObj.isRemote) { if(Mekanism.hooks.IC2Loaded) { From 7df5888bd3e4580ae19e5c37ca9926d7b256dbb1 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Tue, 2 Jul 2013 19:03:03 -0400 Subject: [PATCH 19/29] Added EnergyMeter --- common/mekanism/common/ItemEnergyMeter.java | 46 ++++++++++++++++++ common/mekanism/common/Mekanism.java | 6 ++- .../mekanism/textures/items/EnergyMeter.png | Bin 0 -> 1028 bytes 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 common/mekanism/common/ItemEnergyMeter.java create mode 100644 resources/mods/mekanism/textures/items/EnergyMeter.png diff --git a/common/mekanism/common/ItemEnergyMeter.java b/common/mekanism/common/ItemEnergyMeter.java new file mode 100644 index 000000000..6afe62393 --- /dev/null +++ b/common/mekanism/common/ItemEnergyMeter.java @@ -0,0 +1,46 @@ +package mekanism.common; + +import java.util.ArrayList; + +import mekanism.api.EnumColor; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class ItemEnergyMeter extends ItemEnergized +{ + public static double ENERGY_PER_USE = 400; + + public ItemEnergyMeter(int id) + { + super(id, 60000, 120); + } + + @Override + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) + { + if(!world.isRemote) + { + TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + + if(tileEntity instanceof IUniversalCable) + { + if(getEnergy(stack) >= ENERGY_PER_USE) + { + setEnergy(stack, getEnergy(stack)-ENERGY_PER_USE); + + IUniversalCable cable = (IUniversalCable)tileEntity; + + player.sendChatToPlayer(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " -------------"); + player.sendChatToPlayer(EnumColor.GREY + " *Cables: " + EnumColor.DARK_GREY + cable.getNetwork().cables.size()); + player.sendChatToPlayer(EnumColor.GREY + " *Acceptors: " + EnumColor.DARK_GREY + cable.getNetwork().possibleAcceptors.size()); + player.sendChatToPlayer(EnumColor.GREY + " *Needed energy: " + EnumColor.DARK_GREY + cable.getNetwork().getEnergyNeeded(new ArrayList()) + "J"); + player.sendChatToPlayer(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[=======]" + EnumColor.GREY + " -------------"); + } + } + } + + return false; + } +} diff --git a/common/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java index 4ff20bb74..293b579c7 100644 --- a/common/mekanism/common/Mekanism.java +++ b/common/mekanism/common/Mekanism.java @@ -9,13 +9,13 @@ import java.util.List; import java.util.Map; import java.util.logging.Logger; +import mekanism.api.GasNetwork.GasTransferEvent; import mekanism.api.GasTransmission; import mekanism.api.InfuseObject; import mekanism.api.InfuseRegistry; import mekanism.api.InfuseType; import mekanism.api.InfusionInput; import mekanism.api.Object3D; -import mekanism.api.GasNetwork.GasTransferEvent; import mekanism.client.SoundHandler; import mekanism.common.IFactory.RecipeType; import mekanism.common.LiquidNetwork.LiquidTransferEvent; @@ -156,6 +156,7 @@ public class Mekanism public static Item PortableTeleporter; public static Item TeleportationCore; public static Item Configurator; + public static Item EnergyMeter; //Blocks public static Block BasicBlock; @@ -486,6 +487,7 @@ public class Mekanism LanguageRegistry.addName(PortableTeleporter, "Portable Teleporter"); LanguageRegistry.addName(TeleportationCore, "Teleportation Core"); LanguageRegistry.addName(Configurator, "Configurator"); + LanguageRegistry.addName(EnergyMeter, "EnergyMeter"); //Localization for BasicBlock LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.OsmiumBlock.name", "Osmium Block"); @@ -604,6 +606,7 @@ public class Mekanism Clump = new ItemClump(configuration.getItem("Clump", 11219).getInt()-256); DirtyDust = new ItemDirtyDust(configuration.getItem("DirtyDust", 11220).getInt()-256); Configurator = new ItemConfigurator(configuration.getItem("Configurator", 11221).getInt()).setUnlocalizedName("Configurator"); + EnergyMeter = new ItemEnergyMeter(configuration.getItem("EnergyMeter", 11222).getInt()).setUnlocalizedName("EnergyMeter"); configuration.save(); //Registrations @@ -633,6 +636,7 @@ public class Mekanism GameRegistry.registerItem(Clump, "Clump"); GameRegistry.registerItem(DirtyDust, "DirtyDust"); GameRegistry.registerItem(Configurator, "Configurator"); + GameRegistry.registerItem(EnergyMeter, "EnergyMeter"); } /** diff --git a/resources/mods/mekanism/textures/items/EnergyMeter.png b/resources/mods/mekanism/textures/items/EnergyMeter.png new file mode 100644 index 0000000000000000000000000000000000000000..0ddc0aceb9c564e3621995c54020b01375911bc2 GIT binary patch literal 1028 zcmV+f1pE7mP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000AXNklLNxS)36S#Q|I?3WDNBPy#{QDoPMy)j$!t>(W(0N+;;BDsB1K|B)vm z&Am4<;NtL%@1AphXS~k^!1bJ>b-uN=h4b_CTSjxxi;D|vZf+XsXaQDMR&aK9W@OBP zBrw5EptS%C3kwNnAR3Kgb#*m00E>%@31@&ATUuI59Y7=!F*4?)JmmmKM@I<(oSvRy zZEej+N81C-%gfl?+cPreWMFr97ZVc`Mmk!6!NEb}XdD1WKQl9v8i0X;0SpZd85wf` zrlzJaJw0utqs%}s7(_-!1~M}o62SY`i{|EL^!E1R;NZXr;PCJe-QC@2Y;1)8ga7FO z4Gj&Ttgo*d0c>w?qrJUdbnIXD(*QgXkCcGvY-(ykC=`kd!Splw`T2R#VFo;xo~Hp= z?<`3_qoF}wF!B0;|KHi!!R+iTT3cHM*#4em2H1eUYo9pn>gtjwWpZ*-qNKCO5)Owk zIyx#N%d;&lEf^jiM&NfqnT7v0Apz{KHfn2Y(bv}}8K8`hkAt@(80?6=ojm^A)ak=>2?HeKM5XiW0RI5>!gl#TIGo-90000 Date: Fri, 5 Jul 2013 17:52:47 +0100 Subject: [PATCH 20/29] Use ElectricityDisplay for human-readable EnergyMeter units. --- common/mekanism/common/ItemEnergyMeter.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/mekanism/common/ItemEnergyMeter.java b/common/mekanism/common/ItemEnergyMeter.java index 6afe62393..5775860c5 100644 --- a/common/mekanism/common/ItemEnergyMeter.java +++ b/common/mekanism/common/ItemEnergyMeter.java @@ -2,6 +2,9 @@ package mekanism.common; import java.util.ArrayList; +import universalelectricity.core.electricity.ElectricityDisplay; +import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; + import mekanism.api.EnumColor; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -35,7 +38,7 @@ public class ItemEnergyMeter extends ItemEnergized player.sendChatToPlayer(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " -------------"); player.sendChatToPlayer(EnumColor.GREY + " *Cables: " + EnumColor.DARK_GREY + cable.getNetwork().cables.size()); player.sendChatToPlayer(EnumColor.GREY + " *Acceptors: " + EnumColor.DARK_GREY + cable.getNetwork().possibleAcceptors.size()); - player.sendChatToPlayer(EnumColor.GREY + " *Needed energy: " + EnumColor.DARK_GREY + cable.getNetwork().getEnergyNeeded(new ArrayList()) + "J"); + player.sendChatToPlayer(EnumColor.GREY + " *Needed energy: " + EnumColor.DARK_GREY + ElectricityDisplay.getDisplay(cable.getNetwork().getEnergyNeeded(new ArrayList()), ElectricUnit.JOULES)); player.sendChatToPlayer(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[=======]" + EnumColor.GREY + " -------------"); } } From b740f0507988b33d96672c5f93ff60137a6b591d Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Fri, 5 Jul 2013 17:54:22 +0100 Subject: [PATCH 21/29] Add power recording to networks and display to EnergyMeter --- common/mekanism/common/EnergyNetwork.java | 54 +++++++++++++++++++-- common/mekanism/common/ItemEnergyMeter.java | 1 + 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/common/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java index 2ddbda708..050e69c4c 100644 --- a/common/mekanism/common/EnergyNetwork.java +++ b/common/mekanism/common/EnergyNetwork.java @@ -5,6 +5,7 @@ import ic2.api.energy.tile.IEnergySink; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -12,6 +13,11 @@ import java.util.List; import java.util.Map; import java.util.Set; +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; +import cpw.mods.fml.common.registry.TickRegistry; +import cpw.mods.fml.relauncher.Side; + import mekanism.api.IStrictEnergyAcceptor; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; @@ -21,16 +27,20 @@ import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.ChunkEvent; import buildcraft.api.power.IPowerReceptor; -public class EnergyNetwork +public class EnergyNetwork implements ITickHandler { public Set cables = new HashSet(); public Set possibleAcceptors = new HashSet(); public Map acceptorDirections = new HashMap(); + private double joulesTransmitted = 0; + private double joulesLastTick = 0; + public EnergyNetwork(IUniversalCable... varCables) { cables.addAll(Arrays.asList(varCables)); + TickRegistry.registerTickHandler(this, Side.SERVER); } public double getEnergyNeeded(ArrayList ignored) @@ -61,16 +71,18 @@ public class EnergyNetwork public double emit(double energyToSend, ArrayList ignored) { + double energyAvailable = energyToSend; + double sent; List availableAcceptors = Arrays.asList(getEnergyAcceptors().toArray()); - + Collections.shuffle(availableAcceptors); - + if(!availableAcceptors.isEmpty()) { int divider = availableAcceptors.size(); double remaining = energyToSend % divider; double sending = (energyToSend-remaining)/divider; - + for(Object obj : availableAcceptors) { if(obj instanceof TileEntity && !ignored.contains(obj)) @@ -99,6 +111,8 @@ public class EnergyNetwork } } } + sent = energyAvailable - energyToSend; + joulesTransmitted += sent; } return energyToSend; @@ -344,10 +358,40 @@ public class EnergyNetwork } } } - + @Override public String toString() { return "[EnergyNetwork] " + cables.size() + " cables, " + possibleAcceptors.size() + " acceptors."; } + + public double getPower() + { + return joulesTransmitted * 20; + } + + @Override + public void tickStart(EnumSet type, Object... tickData) + { + return; + } + + @Override + public void tickEnd(EnumSet type, Object... tickData) + { + joulesLastTick = joulesTransmitted; + joulesTransmitted = 0; + } + + @Override + public EnumSet ticks() + { + return EnumSet.of(TickType.SERVER); + } + + @Override + public String getLabel() + { + return toString(); + } } \ No newline at end of file diff --git a/common/mekanism/common/ItemEnergyMeter.java b/common/mekanism/common/ItemEnergyMeter.java index 5775860c5..a167edcb6 100644 --- a/common/mekanism/common/ItemEnergyMeter.java +++ b/common/mekanism/common/ItemEnergyMeter.java @@ -39,6 +39,7 @@ public class ItemEnergyMeter extends ItemEnergized player.sendChatToPlayer(EnumColor.GREY + " *Cables: " + EnumColor.DARK_GREY + cable.getNetwork().cables.size()); player.sendChatToPlayer(EnumColor.GREY + " *Acceptors: " + EnumColor.DARK_GREY + cable.getNetwork().possibleAcceptors.size()); player.sendChatToPlayer(EnumColor.GREY + " *Needed energy: " + EnumColor.DARK_GREY + ElectricityDisplay.getDisplay(cable.getNetwork().getEnergyNeeded(new ArrayList()), ElectricUnit.JOULES)); + player.sendChatToPlayer(EnumColor.GREY + " *Power: " + EnumColor.DARK_GREY + ElectricityDisplay.getDisplay(cable.getNetwork().getPower(), ElectricUnit.WATT)); player.sendChatToPlayer(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[=======]" + EnumColor.GREY + " -------------"); } } From 1241fa18a98994416dc7fb9e720695fedf687fd9 Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Sat, 6 Jul 2013 02:42:41 +0100 Subject: [PATCH 22/29] Refactor EnergyNetwork.split() to make sure lots of unneeded networks aren't created --- common/mekanism/common/EnergyNetwork.java | 85 +++++++++-------------- 1 file changed, 33 insertions(+), 52 deletions(-) diff --git a/common/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java index 050e69c4c..d2b5dbd4d 100644 --- a/common/mekanism/common/EnergyNetwork.java +++ b/common/mekanism/common/EnergyNetwork.java @@ -216,6 +216,7 @@ public class EnergyNetwork implements ITickHandler cables.remove(splitPoint); TileEntity[] connectedBlocks = new TileEntity[6]; + boolean[] dealtWith = {false, false, false, false, false, false}; for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) { @@ -231,51 +232,36 @@ public class EnergyNetwork implements ITickHandler { TileEntity connectedBlockA = connectedBlocks[countOne]; - if(connectedBlockA instanceof IUniversalCable) + if(connectedBlockA instanceof IUniversalCable && !dealtWith[countOne]) { - for(int countTwo = 0; countTwo < connectedBlocks.length; countTwo++) + NetworkFinder finder = new NetworkFinder(((TileEntity)splitPoint).worldObj, Object3D.get(connectedBlockA), Object3D.get((TileEntity)splitPoint)); + List partNetwork = finder.findNetwork(); + for(int countTwo = countOne + 1; countTwo < connectedBlocks.length; countTwo++) { TileEntity connectedBlockB = connectedBlocks[countTwo]; - - if(connectedBlockA != connectedBlockB && connectedBlockB instanceof IUniversalCable) + if(connectedBlockB instanceof IUniversalCable && !dealtWith[countTwo]) { - NetworkFinder finder = new NetworkFinder(((TileEntity)splitPoint).worldObj, Object3D.get(connectedBlockB), Object3D.get((TileEntity)splitPoint)); - - if(finder.foundTarget(Object3D.get(connectedBlockA))) + if (partNetwork.contains(Object3D.get(connectedBlockB))) { - for(Object3D node : finder.iterated) - { - TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); - - if(nodeTile instanceof IUniversalCable) - { - if(nodeTile != splitPoint) - { - ((IUniversalCable)nodeTile).setNetwork(this); - } - } - } - } - else { - EnergyNetwork newNetwork = new EnergyNetwork(); - - for(Object3D node : finder.iterated) - { - TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); - - if(nodeTile instanceof IUniversalCable) - { - if(nodeTile != splitPoint) - { - newNetwork.cables.add((IUniversalCable)nodeTile); - } - } - } - - newNetwork.refresh(); + dealtWith[countTwo] = true; } } } + EnergyNetwork newNetwork = new EnergyNetwork(); + if (finder != null) { + for(Object3D node : finder.iterated) + { + TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); + + if(nodeTile instanceof IUniversalCable) + { + if(nodeTile != splitPoint) + { + newNetwork.cables.add((IUniversalCable)nodeTile); + } + } + }} + newNetwork.refresh(); } } } @@ -284,34 +270,29 @@ public class EnergyNetwork implements ITickHandler public static class NetworkFinder { public World worldObj; - public Object3D toFind; + public Object3D start; public List iterated = new ArrayList(); public List toIgnore = new ArrayList(); - public NetworkFinder(World world, Object3D target, Object3D... ignore) + public NetworkFinder(World world, Object3D location, Object3D... ignore) { worldObj = world; - toFind = target; + start = location; if(ignore != null) { toIgnore = Arrays.asList(ignore); } } - - public void loopThrough(Object3D location) + + public void loopAll(Object3D location) { if(location.getTileEntity(worldObj) instanceof IUniversalCable) { iterated.add(location); } - if(iterated.contains(toFind)) - { - return; - } - for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) { Object3D obj = location.getFromSide(direction); @@ -322,17 +303,17 @@ public class EnergyNetwork implements ITickHandler if(tileEntity instanceof IUniversalCable) { - loopThrough(obj); + loopAll(obj); } } } } - - public boolean foundTarget(Object3D start) + + public List findNetwork() { - loopThrough(start); + loopAll(start); - return iterated.contains(toFind); + return iterated; } } From 6183761f68f5f93c8f75da4e3e3ce78ebd678bc7 Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Sat, 6 Jul 2013 02:43:59 +0100 Subject: [PATCH 23/29] Add an EnergyNetworkRegistry to keep track of Energy Networks and act as a singleton tick handler. --- common/mekanism/common/EnergyNetwork.java | 43 +++-------- .../common/EnergyNetworkRegistry.java | 75 +++++++++++++++++++ 2 files changed, 86 insertions(+), 32 deletions(-) create mode 100644 common/mekanism/common/EnergyNetworkRegistry.java diff --git a/common/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java index d2b5dbd4d..945977711 100644 --- a/common/mekanism/common/EnergyNetwork.java +++ b/common/mekanism/common/EnergyNetwork.java @@ -13,11 +13,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; - import mekanism.api.IStrictEnergyAcceptor; import mekanism.api.Object3D; import net.minecraft.tileentity.TileEntity; @@ -27,7 +22,7 @@ import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.ChunkEvent; import buildcraft.api.power.IPowerReceptor; -public class EnergyNetwork implements ITickHandler +public class EnergyNetwork { public Set cables = new HashSet(); @@ -40,7 +35,7 @@ public class EnergyNetwork implements ITickHandler public EnergyNetwork(IUniversalCable... varCables) { cables.addAll(Arrays.asList(varCables)); - TickRegistry.registerTickHandler(this, Side.SERVER); + EnergyNetworkRegistry.getInstance().registerNetwork(this); } public double getEnergyNeeded(ArrayList ignored) @@ -200,11 +195,14 @@ public class EnergyNetwork implements ITickHandler public void merge(EnergyNetwork network) { + EnergyNetworkRegistry registry = EnergyNetworkRegistry.getInstance(); if(network != null && network != this) { EnergyNetwork newNetwork = new EnergyNetwork(); newNetwork.cables.addAll(cables); + registry.removeNetwork(this); newNetwork.cables.addAll(network.cables); + registry.removeNetwork(network); newNetwork.refresh(); } } @@ -248,7 +246,6 @@ public class EnergyNetwork implements ITickHandler } } EnergyNetwork newNetwork = new EnergyNetwork(); - if (finder != null) { for(Object3D node : finder.iterated) { TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); @@ -260,10 +257,11 @@ public class EnergyNetwork implements ITickHandler newNetwork.cables.add((IUniversalCable)nodeTile); } } - }} + } newNetwork.refresh(); } } + EnergyNetworkRegistry.getInstance().removeNetwork(this); } } @@ -346,33 +344,14 @@ public class EnergyNetwork implements ITickHandler return "[EnergyNetwork] " + cables.size() + " cables, " + possibleAcceptors.size() + " acceptors."; } - public double getPower() - { - return joulesTransmitted * 20; - } - - @Override - public void tickStart(EnumSet type, Object... tickData) - { - return; - } - - @Override - public void tickEnd(EnumSet type, Object... tickData) + public void clearJoulesTransmitted() { joulesLastTick = joulesTransmitted; joulesTransmitted = 0; } - - @Override - public EnumSet ticks() + + public double getPower() { - return EnumSet.of(TickType.SERVER); - } - - @Override - public String getLabel() - { - return toString(); + return joulesTransmitted * 20; } } \ No newline at end of file diff --git a/common/mekanism/common/EnergyNetworkRegistry.java b/common/mekanism/common/EnergyNetworkRegistry.java new file mode 100644 index 000000000..3c674428b --- /dev/null +++ b/common/mekanism/common/EnergyNetworkRegistry.java @@ -0,0 +1,75 @@ +package mekanism.common; + +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import cpw.mods.fml.common.FMLLog; +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; +import cpw.mods.fml.common.registry.TickRegistry; +import cpw.mods.fml.relauncher.Side; + + +public class EnergyNetworkRegistry implements ITickHandler +{ + + public EnergyNetworkRegistry() + { + TickRegistry.registerTickHandler(this, Side.SERVER); + } + static private EnergyNetworkRegistry INSTANCE = new EnergyNetworkRegistry(); + + static public EnergyNetworkRegistry getInstance() + { + return INSTANCE; + } + + private Set networks = new HashSet(); + + public void registerNetwork(EnergyNetwork network) + { + networks.add(network); + } + + public void removeNetwork(EnergyNetwork network) + { + if (networks.contains(network)) + { + networks.remove(network); + } + } + + @Override + public void tickStart(EnumSet type, Object... tickData) + { + return; + } + + @Override + public void tickEnd(EnumSet type, Object... tickData) + { + for (EnergyNetwork net : networks) + { + net.clearJoulesTransmitted(); + } + } + + @Override + public EnumSet ticks() + { + return EnumSet.of(TickType.SERVER); + } + + @Override + public String getLabel() + { + return "Mekanism Energy Networks"; + } + + public String toString() { + return networks.toString(); + } +} From 0fb90be4c7781a8591364db6286484fc49ecfa97 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 6 Jul 2013 17:01:13 -0400 Subject: [PATCH 24/29] Crusher sound volume decreased, upgrades now sustained in recipes --- common/mekanism/common/MekanismRecipe.java | 22 +++++++++++++++++++ common/mekanism/common/TileEntityCrusher.java | 6 +++++ 2 files changed, 28 insertions(+) diff --git a/common/mekanism/common/MekanismRecipe.java b/common/mekanism/common/MekanismRecipe.java index aa6d21ebd..ede80b347 100644 --- a/common/mekanism/common/MekanismRecipe.java +++ b/common/mekanism/common/MekanismRecipe.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.HashMap; import mekanism.api.IEnergizedItem; +import mekanism.api.IUpgradeManagement; import net.minecraft.block.Block; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.Item; @@ -154,6 +155,27 @@ public class MekanismRecipe implements IRecipe ((IEnergizedItem)toReturn.getItem()).setEnergy(toReturn, Math.min(((IEnergizedItem)toReturn.getItem()).getMaxEnergy(toReturn), energyFound)); } + if(toReturn.getItem() instanceof IUpgradeManagement && ((IUpgradeManagement)toReturn.getItem()).supportsUpgrades(toReturn)) + { + int speedUpgrades = 0; + int energyUpgrades = 0; + + for(ItemStack itemstack : inv.stackList) + { + if(itemstack != null) + { + if(itemstack.getItem() instanceof IUpgradeManagement && ((IUpgradeManagement)itemstack.getItem()).supportsUpgrades(toReturn)) + { + speedUpgrades = Math.min(8, speedUpgrades + ((IUpgradeManagement)itemstack.getItem()).getSpeedMultiplier(itemstack)); + energyUpgrades = Math.min(8, energyUpgrades + ((IUpgradeManagement)itemstack.getItem()).getEnergyMultiplier(itemstack)); + } + } + } + + ((IUpgradeManagement)toReturn.getItem()).setSpeedMultiplier(speedUpgrades, toReturn); + ((IUpgradeManagement)toReturn.getItem()).setEnergyMultiplier(energyUpgrades, toReturn); + } + return toReturn; } diff --git a/common/mekanism/common/TileEntityCrusher.java b/common/mekanism/common/TileEntityCrusher.java index 9aab75ef5..149bdec80 100644 --- a/common/mekanism/common/TileEntityCrusher.java +++ b/common/mekanism/common/TileEntityCrusher.java @@ -17,4 +17,10 @@ public class TileEntityCrusher extends TileEntityElectricMachine { return Recipe.CRUSHER.get(); } + + @Override + public float getVolumeMultiplier() + { + return 0.5F; + } } From 37e442c17bfce69bae19b5f3cbdec2d207147c3d Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 6 Jul 2013 21:33:08 -0400 Subject: [PATCH 25/29] Removed "upgrade dump" configurator mode, upgrades can now be removed in GUIs --- .../client/ClientPlayerTickHandler.java | 2 +- .../client/GuiAdvancedElectricMachine.java | 40 ++++++++- .../mekanism/client/GuiElectricMachine.java | 41 ++++++++- common/mekanism/client/GuiFactory.java | 41 ++++++++- common/mekanism/common/IModule.java | 2 +- common/mekanism/common/ItemConfigurator.java | 36 -------- common/mekanism/common/Mekanism.java | 2 + .../common/network/PacketRemoveUpgrade.java | 84 +++++++++++++++++++ 8 files changed, 205 insertions(+), 43 deletions(-) create mode 100644 common/mekanism/common/network/PacketRemoveUpgrade.java diff --git a/common/mekanism/client/ClientPlayerTickHandler.java b/common/mekanism/client/ClientPlayerTickHandler.java index 09ccf94f9..0dd24f929 100644 --- a/common/mekanism/client/ClientPlayerTickHandler.java +++ b/common/mekanism/client/ClientPlayerTickHandler.java @@ -47,7 +47,7 @@ public class ClientPlayerTickHandler implements ITickHandler { if(!lastTickConfiguratorChange) { - item.setState(stack, (byte)(item.getState(stack) < 3 ? item.getState(stack)+1 : 0)); + item.setState(stack, (byte)(item.getState(stack) < 2 ? item.getState(stack)+1 : 0)); PacketHandler.sendPacket(Transmission.SERVER, new PacketConfiguratorState().setParams(item.getState(stack))); entityPlayer.sendChatToPlayer(EnumColor.DARK_BLUE + "[Mekanism] " + EnumColor.GREY + "Configure State: " + item.getColor(item.getState(stack)) + item.getState(item.getState(stack))); lastTickConfiguratorChange = true; diff --git a/common/mekanism/client/GuiAdvancedElectricMachine.java b/common/mekanism/client/GuiAdvancedElectricMachine.java index f2bfc4653..be2f85ec2 100644 --- a/common/mekanism/client/GuiAdvancedElectricMachine.java +++ b/common/mekanism/client/GuiAdvancedElectricMachine.java @@ -1,7 +1,11 @@ package mekanism.client; +import mekanism.api.Object3D; import mekanism.common.ContainerAdvancedElectricMachine; +import mekanism.common.PacketHandler; import mekanism.common.TileEntityAdvancedElectricMachine; +import mekanism.common.PacketHandler.Transmission; +import mekanism.common.network.PacketRemoveUpgrade; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -39,6 +43,16 @@ public class GuiAdvancedElectricMachine extends GuiContainer { drawCreativeTabHoveringText(ElectricityDisplay.getDisplayShort(tileEntity.electricityStored, ElectricUnit.JOULES), xAxis, yAxis); } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 47 && yAxis <= 54) + { + drawCreativeTabHoveringText("Remove speed upgrade", xAxis, yAxis); + } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 57 && yAxis <= 64) + { + drawCreativeTabHoveringText("Remove energy upgrade", xAxis, yAxis); + } } @Override @@ -63,4 +77,28 @@ public class GuiAdvancedElectricMachine extends GuiContainer displayInt = tileEntity.getScaledUpgradeProgress(14); drawTexturedModalRect(guiWidth + 180, guiHeight + 30, 176 + 26, 71, 10, displayInt); } -} + + @Override + protected void mouseClicked(int mouseX, int mouseY, int button) + { + super.mouseClicked(mouseX, mouseY, button); + + if(button == 0) + { + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 47 && yAxis <= 54) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendPacket(Transmission.SERVER, new PacketRemoveUpgrade().setParams(Object3D.get(tileEntity), (byte)0)); + } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 57 && yAxis <= 64) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendPacket(Transmission.SERVER, new PacketRemoveUpgrade().setParams(Object3D.get(tileEntity), (byte)1)); + } + } + } +} \ No newline at end of file diff --git a/common/mekanism/client/GuiElectricMachine.java b/common/mekanism/client/GuiElectricMachine.java index 15a7bc64e..78a175504 100644 --- a/common/mekanism/client/GuiElectricMachine.java +++ b/common/mekanism/client/GuiElectricMachine.java @@ -1,7 +1,11 @@ package mekanism.client; +import mekanism.api.Object3D; import mekanism.common.ContainerElectricMachine; +import mekanism.common.PacketHandler; import mekanism.common.TileEntityElectricMachine; +import mekanism.common.PacketHandler.Transmission; +import mekanism.common.network.PacketRemoveUpgrade; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -9,7 +13,6 @@ import org.lwjgl.opengl.GL11; import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -40,6 +43,16 @@ public class GuiElectricMachine extends GuiContainer { drawCreativeTabHoveringText(ElectricityDisplay.getDisplayShort(tileEntity.electricityStored, ElectricUnit.JOULES), xAxis, yAxis); } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 47 && yAxis <= 54) + { + drawCreativeTabHoveringText("Remove speed upgrade", xAxis, yAxis); + } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 57 && yAxis <= 64) + { + drawCreativeTabHoveringText("Remove energy upgrade", xAxis, yAxis); + } } @Override @@ -61,4 +74,28 @@ public class GuiElectricMachine extends GuiContainer displayInt = tileEntity.getScaledUpgradeProgress(14); drawTexturedModalRect(guiWidth + 180, guiHeight + 30, 176 + 26, 59, 10, displayInt); } -} + + @Override + protected void mouseClicked(int mouseX, int mouseY, int button) + { + super.mouseClicked(mouseX, mouseY, button); + + if(button == 0) + { + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 47 && yAxis <= 54) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendPacket(Transmission.SERVER, new PacketRemoveUpgrade().setParams(Object3D.get(tileEntity), (byte)0)); + } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 57 && yAxis <= 64) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendPacket(Transmission.SERVER, new PacketRemoveUpgrade().setParams(Object3D.get(tileEntity), (byte)1)); + } + } + } +} \ No newline at end of file diff --git a/common/mekanism/client/GuiFactory.java b/common/mekanism/client/GuiFactory.java index 5951f5c81..47bdcdc03 100644 --- a/common/mekanism/client/GuiFactory.java +++ b/common/mekanism/client/GuiFactory.java @@ -1,9 +1,13 @@ package mekanism.client; +import mekanism.api.Object3D; import mekanism.common.ContainerFactory; -import mekanism.common.TileEntityFactory; import mekanism.common.IFactory.RecipeType; +import mekanism.common.PacketHandler; +import mekanism.common.PacketHandler.Transmission; import mekanism.common.Tier.FactoryTier; +import mekanism.common.TileEntityFactory; +import mekanism.common.network.PacketRemoveUpgrade; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -11,7 +15,6 @@ import org.lwjgl.opengl.GL11; import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -43,6 +46,16 @@ public class GuiFactory extends GuiContainer { drawCreativeTabHoveringText(ElectricityDisplay.getDisplayShort(tileEntity.electricityStored, ElectricUnit.JOULES), xAxis, yAxis); } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 47 && yAxis <= 54) + { + drawCreativeTabHoveringText("Remove speed upgrade", xAxis, yAxis); + } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 57 && yAxis <= 64) + { + drawCreativeTabHoveringText("Remove energy upgrade", xAxis, yAxis); + } } @Override @@ -96,4 +109,28 @@ public class GuiFactory extends GuiContainer } } } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int button) + { + super.mouseClicked(mouseX, mouseY, button); + + if(button == 0) + { + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 47 && yAxis <= 54) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendPacket(Transmission.SERVER, new PacketRemoveUpgrade().setParams(Object3D.get(tileEntity), (byte)0)); + } + + if(xAxis >= 179 && xAxis <= 198 && yAxis >= 57 && yAxis <= 64) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendPacket(Transmission.SERVER, new PacketRemoveUpgrade().setParams(Object3D.get(tileEntity), (byte)1)); + } + } + } } diff --git a/common/mekanism/common/IModule.java b/common/mekanism/common/IModule.java index 19028d331..08919bd74 100644 --- a/common/mekanism/common/IModule.java +++ b/common/mekanism/common/IModule.java @@ -5,7 +5,7 @@ package mekanism.common; * @author aidancbrady * */ -public interface IModule +public interface IModule { /** * Gets the version of the module. diff --git a/common/mekanism/common/ItemConfigurator.java b/common/mekanism/common/ItemConfigurator.java index 20eb61fd0..460e4d087 100644 --- a/common/mekanism/common/ItemConfigurator.java +++ b/common/mekanism/common/ItemConfigurator.java @@ -6,7 +6,6 @@ import java.util.Random; import mekanism.api.EnumColor; import mekanism.api.IConfigurable; -import mekanism.api.IUpgradeManagement; import mekanism.api.Object3D; import mekanism.common.PacketHandler.Transmission; import mekanism.common.network.PacketTileEntity; @@ -147,37 +146,6 @@ public class ItemConfigurator extends ItemEnergized } } else if(getState(stack) == 2) - { - if(world.getBlockTileEntity(x, y, z) instanceof IUpgradeManagement) - { - Random random = new Random(); - IUpgradeManagement management = (IUpgradeManagement)world.getBlockTileEntity(x, y, z); - ItemStack[] upgradeStacks = new ItemStack[] {new ItemStack(Mekanism.SpeedUpgrade, management.getSpeedMultiplier()), new ItemStack(Mekanism.EnergyUpgrade, management.getEnergyMultiplier())}; - - for(ItemStack upgrade : upgradeStacks) - { - if(upgrade.stackSize > 0) - { - float xRandom = random.nextFloat() * 0.8F + 0.1F; - float yRandom = random.nextFloat() * 0.8F + 0.1F; - float zRandom = random.nextFloat() * 0.8F + 0.1F; - - EntityItem item = new EntityItem(world, x + xRandom, y + yRandom, z + zRandom, upgrade); - - float k = 0.05F; - item.motionX = random.nextGaussian() * k; - item.motionY = random.nextGaussian() * k + 0.2F; - item.motionZ = random.nextGaussian() * k; - world.spawnEntityInWorld(item); - } - } - - management.setSpeedMultiplier(0); - management.setEnergyMultiplier(0); - return true; - } - } - else if(getState(stack) == 3) { TileEntity tileEntity = world.getBlockTileEntity(x, y, z); @@ -217,8 +185,6 @@ public class ItemConfigurator extends ItemEnergized case 1: return "empty"; case 2: - return "upgrade dump"; - case 3: return "wrench"; } @@ -235,8 +201,6 @@ public class ItemConfigurator extends ItemEnergized return EnumColor.AQUA; case 2: return EnumColor.YELLOW; - case 3: - return EnumColor.ORANGE; } return EnumColor.GREY; diff --git a/common/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java index 293b579c7..8c0f98aeb 100644 --- a/common/mekanism/common/Mekanism.java +++ b/common/mekanism/common/Mekanism.java @@ -30,6 +30,7 @@ import mekanism.common.network.PacketElectricBowState; import mekanism.common.network.PacketElectricChest; import mekanism.common.network.PacketPortableTeleport; import mekanism.common.network.PacketPortalFX; +import mekanism.common.network.PacketRemoveUpgrade; import mekanism.common.network.PacketRobit; import mekanism.common.network.PacketStatusUpdate; import mekanism.common.network.PacketTileEntity; @@ -1192,6 +1193,7 @@ public class Mekanism PacketHandler.registerPacket(PacketStatusUpdate.class); PacketHandler.registerPacket(PacketDigitUpdate.class); PacketHandler.registerPacket(PacketPortableTeleport.class); + PacketHandler.registerPacket(PacketRemoveUpgrade.class); //Donators donators.add("mrgreaper"); diff --git a/common/mekanism/common/network/PacketRemoveUpgrade.java b/common/mekanism/common/network/PacketRemoveUpgrade.java new file mode 100644 index 000000000..de4bb1568 --- /dev/null +++ b/common/mekanism/common/network/PacketRemoveUpgrade.java @@ -0,0 +1,84 @@ +package mekanism.common.network; + +import java.io.DataOutputStream; + +import mekanism.api.IUpgradeManagement; +import mekanism.api.Object3D; +import mekanism.common.Mekanism; +import mekanism.common.TileEntityBasicBlock; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import com.google.common.io.ByteArrayDataInput; + +public class PacketRemoveUpgrade implements IMekanismPacket +{ + public Object3D object3D; + + public byte upgradeType; + + @Override + public String getName() + { + return "RemoveUpgrade"; + } + + @Override + public IMekanismPacket setParams(Object... data) + { + object3D = (Object3D)data[0]; + upgradeType = (Byte)data[1]; + + return this; + } + + @Override + public void read(ByteArrayDataInput dataStream, EntityPlayer player, World world) throws Exception + { + int x = dataStream.readInt(); + int y = dataStream.readInt(); + int z = dataStream.readInt(); + + byte type = dataStream.readByte(); + + TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + + if(tileEntity instanceof IUpgradeManagement && tileEntity instanceof TileEntityBasicBlock) + { + IUpgradeManagement upgradeTile = (IUpgradeManagement)tileEntity; + + if(type == 0) + { + if(upgradeTile.getSpeedMultiplier() > 0) + { + if(player.inventory.addItemStackToInventory(new ItemStack(Mekanism.SpeedUpgrade))) + { + upgradeTile.setSpeedMultiplier(upgradeTile.getSpeedMultiplier()-1); + } + } + } + else if(type == 1) + { + if(upgradeTile.getEnergyMultiplier() > 0) + { + if(player.inventory.addItemStackToInventory(new ItemStack(Mekanism.EnergyUpgrade))) + { + upgradeTile.setEnergyMultiplier(upgradeTile.getEnergyMultiplier()-1); + } + } + } + } + } + + @Override + public void write(DataOutputStream dataStream) throws Exception + { + dataStream.writeInt(object3D.xCoord); + dataStream.writeInt(object3D.yCoord); + dataStream.writeInt(object3D.zCoord); + + dataStream.writeByte(upgradeType); + } +} From bc4a34c18952cf5b98b1eb5f0d1e60044ee98ed4 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sun, 7 Jul 2013 12:13:52 -0400 Subject: [PATCH 26/29] Less client-based lag on machines and generators --- common/mekanism/common/BlockMachine.java | 2 +- common/mekanism/common/IActiveState.java | 6 ++++++ common/mekanism/common/MekanismUtils.java | 5 +++++ common/mekanism/common/TileEntityBasicMachine.java | 6 ++++++ common/mekanism/common/TileEntityChargepad.java | 6 ++++++ common/mekanism/common/TileEntityFactory.java | 6 ++++++ common/mekanism/common/TileEntityMetallurgicInfuser.java | 8 +++++++- common/mekanism/generators/common/BlockGenerator.java | 2 +- .../mekanism/generators/common/TileEntityGenerator.java | 6 ++++++ .../generators/common/TileEntitySolarGenerator.java | 6 ++++++ .../mekanism/generators/common/TileEntityWindTurbine.java | 6 ++++++ 11 files changed, 56 insertions(+), 3 deletions(-) diff --git a/common/mekanism/common/BlockMachine.java b/common/mekanism/common/BlockMachine.java index ecdbcf27b..732998788 100644 --- a/common/mekanism/common/BlockMachine.java +++ b/common/mekanism/common/BlockMachine.java @@ -175,7 +175,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds if(tileEntity instanceof IActiveState) { - if(((IActiveState)tileEntity).getActive()) + if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).hasVisual()) { return 15; } diff --git a/common/mekanism/common/IActiveState.java b/common/mekanism/common/IActiveState.java index 9057473a9..cb5ebcd00 100644 --- a/common/mekanism/common/IActiveState.java +++ b/common/mekanism/common/IActiveState.java @@ -18,4 +18,10 @@ public interface IActiveState * @param active - new active state */ public void setActive(boolean active); + + /** + * Whether or not this block has a visual effect when it is on it's active state. Used for rendering. + * @return if the block has a visual effect in it's active state + */ + public boolean hasVisual(); } diff --git a/common/mekanism/common/MekanismUtils.java b/common/mekanism/common/MekanismUtils.java index 6473aa7aa..f2dba6465 100644 --- a/common/mekanism/common/MekanismUtils.java +++ b/common/mekanism/common/MekanismUtils.java @@ -561,6 +561,11 @@ public final class MekanismUtils */ public static void updateBlock(World world, int x, int y, int z) { + if(world.getBlockTileEntity(x, y, z) instanceof IActiveState && !((IActiveState)world.getBlockTileEntity(x, y, z)).hasVisual()) + { + return; + } + world.markBlockForRenderUpdate(x, y, z); world.updateAllLightTypes(x, y, z); } diff --git a/common/mekanism/common/TileEntityBasicMachine.java b/common/mekanism/common/TileEntityBasicMachine.java index cc0d0af8c..0bc28a2a0 100644 --- a/common/mekanism/common/TileEntityBasicMachine.java +++ b/common/mekanism/common/TileEntityBasicMachine.java @@ -393,4 +393,10 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp { return 1; } + + @Override + public boolean hasVisual() + { + return true; + } } diff --git a/common/mekanism/common/TileEntityChargepad.java b/common/mekanism/common/TileEntityChargepad.java index 97120f69d..3c4169823 100644 --- a/common/mekanism/common/TileEntityChargepad.java +++ b/common/mekanism/common/TileEntityChargepad.java @@ -289,4 +289,10 @@ public class TileEntityChargepad extends TileEntityElectricBlock implements IAct { return 0.7F; } + + @Override + public boolean hasVisual() + { + return true; + } } diff --git a/common/mekanism/common/TileEntityFactory.java b/common/mekanism/common/TileEntityFactory.java index 03820e7a2..fbf8ae90a 100644 --- a/common/mekanism/common/TileEntityFactory.java +++ b/common/mekanism/common/TileEntityFactory.java @@ -792,4 +792,10 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg { return 1; } + + @Override + public boolean hasVisual() + { + return true; + } } \ No newline at end of file diff --git a/common/mekanism/common/TileEntityMetallurgicInfuser.java b/common/mekanism/common/TileEntityMetallurgicInfuser.java index f75796d6d..47a476b30 100644 --- a/common/mekanism/common/TileEntityMetallurgicInfuser.java +++ b/common/mekanism/common/TileEntityMetallurgicInfuser.java @@ -683,4 +683,10 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem { return 1; } -} + + @Override + public boolean hasVisual() + { + return true; + } +} \ No newline at end of file diff --git a/common/mekanism/generators/common/BlockGenerator.java b/common/mekanism/generators/common/BlockGenerator.java index a5004dab5..3da616791 100644 --- a/common/mekanism/generators/common/BlockGenerator.java +++ b/common/mekanism/generators/common/BlockGenerator.java @@ -142,7 +142,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds if(tileEntity instanceof IActiveState && !(tileEntity instanceof TileEntitySolarGenerator)) { - if(((IActiveState)tileEntity).getActive()) + if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).hasVisual()) { return 15; } diff --git a/common/mekanism/generators/common/TileEntityGenerator.java b/common/mekanism/generators/common/TileEntityGenerator.java index f4d819345..c5941d241 100644 --- a/common/mekanism/generators/common/TileEntityGenerator.java +++ b/common/mekanism/generators/common/TileEntityGenerator.java @@ -360,4 +360,10 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem { return 1; } + + @Override + public boolean hasVisual() + { + return true; + } } diff --git a/common/mekanism/generators/common/TileEntitySolarGenerator.java b/common/mekanism/generators/common/TileEntitySolarGenerator.java index 18fdfc55e..03189ca92 100644 --- a/common/mekanism/generators/common/TileEntitySolarGenerator.java +++ b/common/mekanism/generators/common/TileEntitySolarGenerator.java @@ -184,4 +184,10 @@ public class TileEntitySolarGenerator extends TileEntityGenerator data.add(seesSun); return data; } + + @Override + public boolean hasVisual() + { + return false; + } } diff --git a/common/mekanism/generators/common/TileEntityWindTurbine.java b/common/mekanism/generators/common/TileEntityWindTurbine.java index d80ef3fe4..d08a1d231 100644 --- a/common/mekanism/generators/common/TileEntityWindTurbine.java +++ b/common/mekanism/generators/common/TileEntityWindTurbine.java @@ -127,4 +127,10 @@ public class TileEntityWindTurbine extends TileEntityGenerator implements IBound worldObj.setBlockToAir(xCoord, yCoord, zCoord); } + + @Override + public boolean hasVisual() + { + return false; + } } From 540823ef4a0d4ce276f6894a35f3c58949984e04 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sun, 7 Jul 2013 12:17:51 -0400 Subject: [PATCH 27/29] Removed Wind Turbine bound checking --- .../generators/client/GuiWindTurbine.java | 6 ---- .../common/TileEntityWindTurbine.java | 36 +------------------ 2 files changed, 1 insertion(+), 41 deletions(-) diff --git a/common/mekanism/generators/client/GuiWindTurbine.java b/common/mekanism/generators/client/GuiWindTurbine.java index be9f53005..284d9f42a 100644 --- a/common/mekanism/generators/client/GuiWindTurbine.java +++ b/common/mekanism/generators/client/GuiWindTurbine.java @@ -42,12 +42,6 @@ public class GuiWindTurbine extends GuiContainer int size = 44; - if(!tileEntity.checkBounds()) - { - size += 9; - fontRenderer.drawString(EnumColor.DARK_RED + "Invalid bounds", 51, size, 0x00CD00); - } - if(!tileEntity.worldObj.canBlockSeeTheSky(tileEntity.xCoord, tileEntity.yCoord+4, tileEntity.zCoord)) { size += 9; diff --git a/common/mekanism/generators/common/TileEntityWindTurbine.java b/common/mekanism/generators/common/TileEntityWindTurbine.java index d08a1d231..ad5febb11 100644 --- a/common/mekanism/generators/common/TileEntityWindTurbine.java +++ b/common/mekanism/generators/common/TileEntityWindTurbine.java @@ -4,7 +4,6 @@ import mekanism.api.Object3D; import mekanism.common.ChargeUtils; import mekanism.common.IBoundingBlock; import mekanism.common.MekanismUtils; -import mekanism.common.TileEntityBoundingBlock; import net.minecraft.item.ItemStack; import dan200.computer.api.IComputerAccess; @@ -72,40 +71,7 @@ public class TileEntityWindTurbine extends TileEntityGenerator implements IBound @Override public boolean canOperate() { - return electricityStored < MAX_ELECTRICITY && getMultiplier() > 0 && checkBounds(); - } - - public boolean checkBounds() - { - Object3D obj = new Object3D(xCoord, yCoord+4, zCoord); - - for(int x = obj.xCoord-2; x <= obj.xCoord+2; x++) - { - for(int y = obj.yCoord-2; y <= obj.yCoord+2; y++) - { - for(int z = obj.zCoord-2; z <= obj.zCoord+2; z++) - { - if(worldObj.isAirBlock(x, y, z)) - { - continue; - } - - if(worldObj.getBlockTileEntity(x, y, z) instanceof TileEntityBoundingBlock) - { - TileEntityBoundingBlock tileEntity = (TileEntityBoundingBlock)worldObj.getBlockTileEntity(x, y, z); - - if(tileEntity.mainX == xCoord && tileEntity.mainY == yCoord && tileEntity.mainZ == zCoord) - { - continue; - } - } - - return false; - } - } - } - - return true; + return electricityStored < MAX_ELECTRICITY && getMultiplier() > 0; } @Override From ce09a8225f297537a8a134b736b61330f75f6de0 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sun, 7 Jul 2013 13:07:40 -0400 Subject: [PATCH 28/29] Formatted EnergyMeter PR, merged Energy Cube comparator support --- common/mekanism/common/BlockEnergyCube.java | 15 ++++++++++++ common/mekanism/common/EnergyNetwork.java | 10 ++++++-- .../common/EnergyNetworkRegistry.java | 22 ++++++++--------- .../mekanism/common/TileEntityEnergyCube.java | 24 +++++++++++++++++++ .../generators/client/RenderWindTurbine.java | 1 - .../common/TileEntityBioGenerator.java | 6 +++++ 6 files changed, 63 insertions(+), 15 deletions(-) diff --git a/common/mekanism/common/BlockEnergyCube.java b/common/mekanism/common/BlockEnergyCube.java index bb3da10c6..e310ef0b1 100644 --- a/common/mekanism/common/BlockEnergyCube.java +++ b/common/mekanism/common/BlockEnergyCube.java @@ -45,6 +45,8 @@ public class BlockEnergyCube extends BlockContainer setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } + + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister register) @@ -313,4 +315,17 @@ public class BlockEnergyCube extends BlockContainer return itemStack; } + + @Override + public boolean hasComparatorInputOverride() + { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int par5) + { + TileEntityEnergyCube tileEntity = (TileEntityEnergyCube)world.getBlockTileEntity(x, y, z); + return tileEntity.getRedstoneLevel(); + } } diff --git a/common/mekanism/common/EnergyNetwork.java b/common/mekanism/common/EnergyNetwork.java index 945977711..b312c6f56 100644 --- a/common/mekanism/common/EnergyNetwork.java +++ b/common/mekanism/common/EnergyNetwork.java @@ -5,7 +5,6 @@ import ic2.api.energy.tile.IEnergySink; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -196,6 +195,7 @@ public class EnergyNetwork public void merge(EnergyNetwork network) { EnergyNetworkRegistry registry = EnergyNetworkRegistry.getInstance(); + if(network != null && network != this) { EnergyNetwork newNetwork = new EnergyNetwork(); @@ -234,18 +234,22 @@ public class EnergyNetwork { NetworkFinder finder = new NetworkFinder(((TileEntity)splitPoint).worldObj, Object3D.get(connectedBlockA), Object3D.get((TileEntity)splitPoint)); List partNetwork = finder.findNetwork(); + for(int countTwo = countOne + 1; countTwo < connectedBlocks.length; countTwo++) { TileEntity connectedBlockB = connectedBlocks[countTwo]; + if(connectedBlockB instanceof IUniversalCable && !dealtWith[countTwo]) { - if (partNetwork.contains(Object3D.get(connectedBlockB))) + if(partNetwork.contains(Object3D.get(connectedBlockB))) { dealtWith[countTwo] = true; } } } + EnergyNetwork newNetwork = new EnergyNetwork(); + for(Object3D node : finder.iterated) { TileEntity nodeTile = node.getTileEntity(((TileEntity)splitPoint).worldObj); @@ -258,9 +262,11 @@ public class EnergyNetwork } } } + newNetwork.refresh(); } } + EnergyNetworkRegistry.getInstance().removeNetwork(this); } } diff --git a/common/mekanism/common/EnergyNetworkRegistry.java b/common/mekanism/common/EnergyNetworkRegistry.java index 3c674428b..d6fcac04c 100644 --- a/common/mekanism/common/EnergyNetworkRegistry.java +++ b/common/mekanism/common/EnergyNetworkRegistry.java @@ -1,34 +1,30 @@ package mekanism.common; -import java.util.ArrayList; import java.util.EnumSet; import java.util.HashSet; -import java.util.List; import java.util.Set; -import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.TickType; import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; - public class EnergyNetworkRegistry implements ITickHandler { - + private static EnergyNetworkRegistry INSTANCE = new EnergyNetworkRegistry(); + + private Set networks = new HashSet(); + public EnergyNetworkRegistry() { TickRegistry.registerTickHandler(this, Side.SERVER); } - static private EnergyNetworkRegistry INSTANCE = new EnergyNetworkRegistry(); - static public EnergyNetworkRegistry getInstance() + public static EnergyNetworkRegistry getInstance() { return INSTANCE; } - private Set networks = new HashSet(); - public void registerNetwork(EnergyNetwork network) { networks.add(network); @@ -36,7 +32,7 @@ public class EnergyNetworkRegistry implements ITickHandler public void removeNetwork(EnergyNetwork network) { - if (networks.contains(network)) + if(networks.contains(network)) { networks.remove(network); } @@ -51,7 +47,7 @@ public class EnergyNetworkRegistry implements ITickHandler @Override public void tickEnd(EnumSet type, Object... tickData) { - for (EnergyNetwork net : networks) + for(EnergyNetwork net : networks) { net.clearJoulesTransmitted(); } @@ -69,7 +65,9 @@ public class EnergyNetworkRegistry implements ITickHandler return "Mekanism Energy Networks"; } - public String toString() { + @Override + public String toString() + { return networks.toString(); } } diff --git a/common/mekanism/common/TileEntityEnergyCube.java b/common/mekanism/common/TileEntityEnergyCube.java index f745038ad..fbbe98aa5 100644 --- a/common/mekanism/common/TileEntityEnergyCube.java +++ b/common/mekanism/common/TileEntityEnergyCube.java @@ -21,6 +21,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.MinecraftForge; import universalelectricity.core.block.IConductor; @@ -43,6 +44,9 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn /** This Energy Cube's tier. */ public EnergyCubeTier tier = EnergyCubeTier.BASIC; + /** The redstone level this Energy Cube is outputting at. */ + public int currentRedstoneLevel; + /** * A block used to store and transfer electricity. * @param energy - maximum energy this block can hold. @@ -432,4 +436,24 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn { return side == ForgeDirection.getOrientation(facing); } + + @Override + public void setEnergy(double energy) + { + super.setEnergy(energy); + + int newRedstoneLevel = getRedstoneLevel(); + + if(newRedstoneLevel != currentRedstoneLevel) + { + onInventoryChanged(); + currentRedstoneLevel = newRedstoneLevel; + } + } + + public int getRedstoneLevel() + { + double fractionFull = getEnergy()/getMaxEnergy(); + return MathHelper.floor_float((float) (fractionFull * 14.0F)) + (fractionFull > 0 ? 1 : 0); + } } diff --git a/common/mekanism/generators/client/RenderWindTurbine.java b/common/mekanism/generators/client/RenderWindTurbine.java index bfbb9039e..12bc98025 100644 --- a/common/mekanism/generators/client/RenderWindTurbine.java +++ b/common/mekanism/generators/client/RenderWindTurbine.java @@ -34,7 +34,6 @@ public class RenderWindTurbine extends TileEntitySpecialRenderer GL11.glRotatef(180, 0F, 0F, 1F); if(!Mekanism.proxy.isPaused() && - tileEntity.checkBounds() && tileEntity.worldObj.canBlockSeeTheSky(tileEntity.xCoord, tileEntity.yCoord+4, tileEntity.zCoord)) { tileEntity.angle = (tileEntity.angle+((int)tileEntity.getMultiplier())) % 360; diff --git a/common/mekanism/generators/common/TileEntityBioGenerator.java b/common/mekanism/generators/common/TileEntityBioGenerator.java index e0b1ae908..0bb5c00f5 100644 --- a/common/mekanism/generators/common/TileEntityBioGenerator.java +++ b/common/mekanism/generators/common/TileEntityBioGenerator.java @@ -213,6 +213,12 @@ public class TileEntityBioGenerator extends TileEntityGenerator implements ITank { return bioFuelSlot.liquidStored*i / bioFuelSlot.MAX_LIQUID; } + + @Override + public int[] getAccessibleSlotsFromSide(int side) + { + return ForgeDirection.getOrientation(side) == MekanismUtils.getRight(facing) ? new int[] {1} : new int[] {0}; + } @Override public int getStartInventorySide(ForgeDirection side) From 1468fc05bd8c3be5c33259fbae8efabddeb230b8 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sun, 7 Jul 2013 13:22:24 -0400 Subject: [PATCH 29/29] Fixed Universal Cable render --- common/mekanism/client/RenderUniversalCable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/mekanism/client/RenderUniversalCable.java b/common/mekanism/client/RenderUniversalCable.java index d33570239..7baf534ba 100644 --- a/common/mekanism/client/RenderUniversalCable.java +++ b/common/mekanism/client/RenderUniversalCable.java @@ -124,7 +124,7 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer case UP: { toReturn.minX = 0.3 + offset; - toReturn.minY = 0.3 - offset; + toReturn.minY = 0.7 - offset; toReturn.minZ = 0.3 + offset; toReturn.maxX = 0.7 - offset;