v5.5.5 Beta #5
*Began work on Electric Disperser. *Fixed Dynamic Tank issues. *Faster rendering for Dynamic Tanks. *Much more efficient liquid transferring. *Ability for Configurator to reset an Electric Pump's calculation. *Steel instead of Osmium for Dynamic Tanks. *Fixed Factory GUIs (for real).
This commit is contained in:
parent
5133880b68
commit
bc1a52d06f
16 changed files with 133 additions and 210 deletions
|
@ -61,7 +61,7 @@ public class GasTransferProtocol
|
||||||
|
|
||||||
for(IGasAcceptor acceptor : acceptors)
|
for(IGasAcceptor acceptor : acceptors)
|
||||||
{
|
{
|
||||||
if(acceptor != null)
|
if(acceptor != null && !availableAcceptors.contains(acceptor))
|
||||||
{
|
{
|
||||||
if(acceptor != original && acceptor.canReceiveGas(ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite(), transferType))
|
if(acceptor != original && acceptor.canReceiveGas(ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite(), transferType))
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,9 @@ import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.util.Icon;
|
import net.minecraft.util.Icon;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Credit to BuildCraft
|
||||||
|
*/
|
||||||
public class ObjectRenderer
|
public class ObjectRenderer
|
||||||
{
|
{
|
||||||
private static RenderBlocks renderBlocks = new RenderBlocks();
|
private static RenderBlocks renderBlocks = new RenderBlocks();
|
||||||
|
|
|
@ -255,7 +255,7 @@ public class RenderDynamicTank extends TileEntitySpecialRenderer
|
||||||
|
|
||||||
private int getStages(int height)
|
private int getStages(int height)
|
||||||
{
|
{
|
||||||
return (height-2)*1000;
|
return (height-2)*100;
|
||||||
}
|
}
|
||||||
|
|
||||||
private double getX(int x)
|
private double getX(int x)
|
||||||
|
|
|
@ -79,7 +79,7 @@ public class EnergyTransferProtocol
|
||||||
|
|
||||||
for(TileEntity acceptor : acceptors)
|
for(TileEntity acceptor : acceptors)
|
||||||
{
|
{
|
||||||
if(acceptor != original && !ignoredAcceptors.contains(acceptor))
|
if(acceptor != original && !ignoredAcceptors.contains(acceptor) && !availableAcceptors.contains(acceptor))
|
||||||
{
|
{
|
||||||
if(acceptor instanceof IStrictEnergyAcceptor)
|
if(acceptor instanceof IStrictEnergyAcceptor)
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,8 +62,11 @@ public class EntityObsidianTNT extends Entity
|
||||||
prevPosX = posX;
|
prevPosX = posX;
|
||||||
prevPosY = posY;
|
prevPosY = posY;
|
||||||
prevPosZ = posZ;
|
prevPosZ = posZ;
|
||||||
|
|
||||||
motionY -= 0.04;
|
motionY -= 0.04;
|
||||||
|
|
||||||
moveEntity(motionX, motionY, motionZ);
|
moveEntity(motionX, motionY, motionZ);
|
||||||
|
|
||||||
motionX *= 0.98;
|
motionX *= 0.98;
|
||||||
motionY *= 0.98;
|
motionY *= 0.98;
|
||||||
motionZ *= 0.98;
|
motionZ *= 0.98;
|
||||||
|
@ -88,12 +91,12 @@ public class EntityObsidianTNT extends Entity
|
||||||
setDead();
|
setDead();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
worldObj.spawnParticle("lava", posX, posY + 0.5D, posZ, 0.0D, 0.0D, 0.0D);
|
worldObj.spawnParticle("lava", posX, posY + 0.5, posZ, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
worldObj.spawnParticle("lava", posX, posY + 0.5D, posZ, 0.0D, 0.0D, 0.0D);
|
worldObj.spawnParticle("lava", posX, posY + 0.5, posZ, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,20 +107,20 @@ public class EntityObsidianTNT extends Entity
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
|
protected void writeEntityToNBT(NBTTagCompound nbtTags)
|
||||||
{
|
{
|
||||||
par1NBTTagCompound.setByte("Fuse", (byte)fuse);
|
nbtTags.setByte("Fuse", (byte)fuse);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
|
protected void readEntityFromNBT(NBTTagCompound nbtTags)
|
||||||
{
|
{
|
||||||
fuse = par1NBTTagCompound.getByte("Fuse");
|
fuse = nbtTags.getByte("Fuse");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getShadowSize()
|
public float getShadowSize()
|
||||||
{
|
{
|
||||||
return 0.0F;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,13 +36,26 @@ public class ItemConfigurator extends ItemEnergized
|
||||||
{
|
{
|
||||||
if(!world.isRemote)
|
if(!world.isRemote)
|
||||||
{
|
{
|
||||||
if(player.isSneaking() && world.getBlockTileEntity(x, y, z) instanceof TileEntityMechanicalPipe)
|
if(player.isSneaking())
|
||||||
|
{
|
||||||
|
if(world.getBlockTileEntity(x, y, z) instanceof TileEntityMechanicalPipe)
|
||||||
{
|
{
|
||||||
TileEntityMechanicalPipe tileEntity = (TileEntityMechanicalPipe)world.getBlockTileEntity(x, y, z);
|
TileEntityMechanicalPipe tileEntity = (TileEntityMechanicalPipe)world.getBlockTileEntity(x, y, z);
|
||||||
tileEntity.isActive = !tileEntity.isActive;
|
tileEntity.isActive = !tileEntity.isActive;
|
||||||
PacketHandler.sendTileEntityPacketToClients(tileEntity, 0, tileEntity.getNetworkedData(new ArrayList()));
|
PacketHandler.sendTileEntityPacketToClients(tileEntity, 0, tileEntity.getNetworkedData(new ArrayList()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if(world.getBlockTileEntity(x, y, z) instanceof TileEntityElectricPump)
|
||||||
|
{
|
||||||
|
TileEntityElectricPump tileEntity = (TileEntityElectricPump)world.getBlockTileEntity(x, y, z);
|
||||||
|
tileEntity.recurringNodes.clear();
|
||||||
|
tileEntity.cleaningNodes.clear();
|
||||||
|
|
||||||
|
player.sendChatToPlayer(EnumColor.DARK_BLUE + "[Mekanism] " + EnumColor.GREY + "Reset Electric Pump calculation.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(getState(stack) == 0)
|
if(getState(stack) == 0)
|
||||||
{
|
{
|
||||||
if(world.getBlockTileEntity(x, y, z) instanceof IConfigurable)
|
if(world.getBlockTileEntity(x, y, z) instanceof IConfigurable)
|
||||||
|
|
|
@ -65,64 +65,13 @@ public class LiquidTransferProtocol
|
||||||
|
|
||||||
for(ITankContainer acceptor : acceptors)
|
for(ITankContainer acceptor : acceptors)
|
||||||
{
|
{
|
||||||
if(acceptor != null)
|
if(acceptor != null && !availableAcceptors.contains(acceptor))
|
||||||
{
|
{
|
||||||
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite();
|
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite();
|
||||||
|
|
||||||
if(acceptor != original && !(acceptor instanceof IMechanicalPipe))
|
if(acceptor != original && !(acceptor instanceof IMechanicalPipe))
|
||||||
{
|
{
|
||||||
ILiquidTank[] tanks = acceptor.getTanks(side);
|
if(acceptor.fill(side, liquidToSend, false) > 0)
|
||||||
boolean hasTank = false;
|
|
||||||
|
|
||||||
if(tanks != null)
|
|
||||||
{
|
|
||||||
for(ILiquidTank tank : tanks)
|
|
||||||
{
|
|
||||||
if(tank != null)
|
|
||||||
{
|
|
||||||
if(tank.getLiquid() == null)
|
|
||||||
{
|
|
||||||
hasTank = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(tank.getLiquid().isLiquidEqual(liquidToSend))
|
|
||||||
{
|
|
||||||
if(tank.getCapacity()-tank.getLiquid().amount != 0)
|
|
||||||
{
|
|
||||||
hasTank = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!hasTank)
|
|
||||||
{
|
|
||||||
if(acceptor.getTank(side, liquidToSend) != null)
|
|
||||||
{
|
|
||||||
ILiquidTank tank = acceptor.getTank(side, liquidToSend);
|
|
||||||
|
|
||||||
if(tank.getLiquid() == null)
|
|
||||||
{
|
|
||||||
hasTank = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(tank.getLiquid().isLiquidEqual(liquidToSend))
|
|
||||||
{
|
|
||||||
if(tank.getCapacity()-tank.getLiquid().amount != 0)
|
|
||||||
{
|
|
||||||
hasTank = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(hasTank)
|
|
||||||
{
|
{
|
||||||
availableAcceptors.add(acceptor);
|
availableAcceptors.add(acceptor);
|
||||||
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite());
|
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)).getOpposite());
|
||||||
|
@ -195,35 +144,9 @@ public class LiquidTransferProtocol
|
||||||
remaining--;
|
remaining--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(acceptor.getTanks(acceptorDirections.get(acceptor)).length != 0)
|
|
||||||
{
|
|
||||||
int tankDivider = acceptor.getTanks(acceptorDirections.get(acceptor)).length;
|
|
||||||
int tankRemaining = currentSending % tankDivider;
|
|
||||||
int tankSending = (currentSending-tankRemaining)/tankDivider;
|
|
||||||
|
|
||||||
for(ILiquidTank tank : acceptor.getTanks(acceptorDirections.get(acceptor)))
|
|
||||||
{
|
|
||||||
int tankCurrentSending = tankSending;
|
|
||||||
|
|
||||||
if(tankRemaining > 0)
|
|
||||||
{
|
|
||||||
tankCurrentSending++;
|
|
||||||
tankRemaining--;
|
|
||||||
}
|
|
||||||
|
|
||||||
liquidSent += acceptor.fill(acceptorDirections.get(acceptor), new LiquidStack(liquidToSend.itemID, tankCurrentSending, liquidToSend.itemMeta), true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(acceptor.getTank(acceptorDirections.get(acceptor), liquidToSend) != null)
|
|
||||||
{
|
|
||||||
ILiquidTank tank = acceptor.getTank(acceptorDirections.get(acceptor), liquidToSend);
|
|
||||||
|
|
||||||
liquidSent += acceptor.fill(acceptorDirections.get(acceptor), new LiquidStack(liquidToSend.itemID, currentSending, liquidToSend.itemMeta), true);
|
liquidSent += acceptor.fill(acceptorDirections.get(acceptor), new LiquidStack(liquidToSend.itemID, currentSending, liquidToSend.itemMeta), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(liquidSent > 0 && FMLCommonHandler.instance().getEffectiveSide().isServer())
|
if(liquidSent > 0 && FMLCommonHandler.instance().getEffectiveSide().isServer())
|
||||||
{
|
{
|
||||||
|
|
|
@ -327,13 +327,13 @@ public class Mekanism
|
||||||
"O O", Character.valueOf('O'), "ingotOsmium"
|
"O O", Character.valueOf('O'), "ingotOsmium"
|
||||||
}));
|
}));
|
||||||
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 4, 9), new Object[] {
|
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 4, 9), new Object[] {
|
||||||
" O ", "OSO", " O ", Character.valueOf('O'), "ingotOsmium", Character.valueOf('S'), Block.cobblestone
|
" I ", "ISI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('S'), Block.cobblestone
|
||||||
}));
|
}));
|
||||||
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 4, 10), new Object[] {
|
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 4, 10), new Object[] {
|
||||||
" O ", "OGO", " O ", Character.valueOf('O'), "ingotOsmium", Character.valueOf('G'), Block.glass
|
" I ", "IGI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('G'), Block.glass
|
||||||
}));
|
}));
|
||||||
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 1, 11), new Object[] {
|
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 1, 11), new Object[] {
|
||||||
" O ", "OCO", " O ", Character.valueOf('O'), "ingotOsmium", Character.valueOf('C'), ControlCircuit
|
" I ", "ICI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('C'), ControlCircuit
|
||||||
}));
|
}));
|
||||||
|
|
||||||
//Factory Recipes
|
//Factory Recipes
|
||||||
|
@ -1031,6 +1031,7 @@ public class Mekanism
|
||||||
{
|
{
|
||||||
hooks = new MekanismHooks();
|
hooks = new MekanismHooks();
|
||||||
hooks.hook();
|
hooks.hook();
|
||||||
|
|
||||||
addIntegratedItems();
|
addIntegratedItems();
|
||||||
|
|
||||||
if(!EnumGas.HYDROGEN.hasTexture())
|
if(!EnumGas.HYDROGEN.hasTexture())
|
||||||
|
|
|
@ -20,7 +20,7 @@ public class TankUpdateProtocol
|
||||||
public Set<TileEntityDynamicTank> iteratedNodes = new HashSet<TileEntityDynamicTank>();
|
public Set<TileEntityDynamicTank> iteratedNodes = new HashSet<TileEntityDynamicTank>();
|
||||||
|
|
||||||
/** The structures found, all connected by some nodes to the pointer. */
|
/** The structures found, all connected by some nodes to the pointer. */
|
||||||
public List<SynchronizedTankData> structuresFound = new ArrayList<SynchronizedTankData>();
|
public SynchronizedTankData structureFound = null;
|
||||||
|
|
||||||
/** The original block the calculation is getting run from. */
|
/** The original block the calculation is getting run from. */
|
||||||
public TileEntity pointer;
|
public TileEntity pointer;
|
||||||
|
@ -45,6 +45,7 @@ public class TankUpdateProtocol
|
||||||
|
|
||||||
boolean isCorner = true;
|
boolean isCorner = true;
|
||||||
boolean isHollowPrism = true;
|
boolean isHollowPrism = true;
|
||||||
|
boolean tooBig = false;
|
||||||
|
|
||||||
Set<Object3D> locations = new HashSet<Object3D>();
|
Set<Object3D> locations = new HashSet<Object3D>();
|
||||||
|
|
||||||
|
@ -129,6 +130,13 @@ public class TankUpdateProtocol
|
||||||
zmin = z;
|
zmin = z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(Math.abs(xmax-xmin)+1 > 18 || Math.abs(ymax-ymin)+1 > 18 || Math.abs(zmax-zmin) > 18)
|
||||||
|
{
|
||||||
|
tooBig = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!tooBig)
|
||||||
|
{
|
||||||
for(x = xmin; x <= xmax; x++)
|
for(x = xmin; x <= xmax; x++)
|
||||||
{
|
{
|
||||||
for(y = ymin; y <= ymax; y++)
|
for(y = ymin; y <= ymax; y++)
|
||||||
|
@ -172,8 +180,9 @@ public class TankUpdateProtocol
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(isHollowPrism && isCorner && volume > 0 && volume <= 5832 && locations.size() >= 9)
|
if(!tooBig && isHollowPrism && isCorner && volume > 0 && volume <= 4096 && locations.size() >= 9)
|
||||||
{
|
{
|
||||||
SynchronizedTankData structure = new SynchronizedTankData();
|
SynchronizedTankData structure = new SynchronizedTankData();
|
||||||
structure.locations = locations;
|
structure.locations = locations;
|
||||||
|
@ -195,20 +204,15 @@ public class TankUpdateProtocol
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!structuresFound.contains(structure))
|
|
||||||
{
|
|
||||||
if(structure.locations.contains(Object3D.get(pointer)) && isCorrectCorner(new Object3D(origX, origY, origZ), origX+xmin, origY+ymin, origZ+zmin))
|
if(structure.locations.contains(Object3D.get(pointer)) && isCorrectCorner(new Object3D(origX, origY, origZ), origX+xmin, origY+ymin, origZ+zmin))
|
||||||
{
|
{
|
||||||
if(!entitiesInside(structure))
|
structureFound = structure;
|
||||||
{
|
return;
|
||||||
structuresFound.add(structure);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pointerNotPartOf = true;
|
pointerNotPartOf = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
iteratedNodes.add((TileEntityDynamicTank)tile);
|
iteratedNodes.add((TileEntityDynamicTank)tile);
|
||||||
|
|
||||||
|
@ -256,36 +260,6 @@ public class TankUpdateProtocol
|
||||||
return ForgeDirection.UNKNOWN;
|
return ForgeDirection.UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks whether or not there are entities inside this dynamic tank.
|
|
||||||
*/
|
|
||||||
public boolean entitiesInside(SynchronizedTankData structure)
|
|
||||||
{
|
|
||||||
int x = structure.renderLocation.xCoord;
|
|
||||||
int y = structure.renderLocation.yCoord;
|
|
||||||
int z = structure.renderLocation.zCoord;
|
|
||||||
|
|
||||||
AxisAlignedBB boundingBox = AxisAlignedBB.getBoundingBox(x, y, z, x+structure.volLength, y+structure.volHeight, z+structure.volWidth);
|
|
||||||
|
|
||||||
for(Object obj : pointer.worldObj.getEntitiesWithinAABB(Entity.class, boundingBox))
|
|
||||||
{
|
|
||||||
if(obj instanceof Entity)
|
|
||||||
{
|
|
||||||
Entity entity = (Entity)obj;
|
|
||||||
|
|
||||||
if(entity instanceof EntityPlayer)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
pointer.worldObj.removeEntity(entity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the block at the specified location is an air block.
|
* Whether or not the block at the specified location is an air block.
|
||||||
* @param x - x coordinate
|
* @param x - x coordinate
|
||||||
|
@ -307,15 +281,10 @@ public class TankUpdateProtocol
|
||||||
*/
|
*/
|
||||||
private boolean isViableNode(int x, int y, int z)
|
private boolean isViableNode(int x, int y, int z)
|
||||||
{
|
{
|
||||||
TileEntity tileEntity = pointer.worldObj.getBlockTileEntity(x, y, z);
|
if(pointer.worldObj.getBlockTileEntity(x, y, z) instanceof TileEntityDynamicTank)
|
||||||
|
|
||||||
if(tileEntity != null)
|
|
||||||
{
|
|
||||||
if(tileEntity instanceof TileEntityDynamicTank)
|
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -401,10 +370,8 @@ public class TankUpdateProtocol
|
||||||
{
|
{
|
||||||
loopThrough(pointer);
|
loopThrough(pointer);
|
||||||
|
|
||||||
if(structuresFound.size() == 1)
|
if(structureFound != null)
|
||||||
{
|
{
|
||||||
SynchronizedTankData structureFound = structuresFound.get(0);
|
|
||||||
|
|
||||||
int idFound = -1;
|
int idFound = -1;
|
||||||
|
|
||||||
for(Object3D obj : structureFound.locations)
|
for(Object3D obj : structureFound.locations)
|
||||||
|
|
|
@ -13,8 +13,8 @@ public class TileEntityAdvancedFactory extends TileEntityFactory
|
||||||
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0, new int[0]));
|
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0, new int[0]));
|
||||||
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1, new int[] {0}));
|
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1, new int[] {0}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_GREEN, 1, 1, new int[] {1}));
|
sideOutputs.add(new SideData(EnumColor.DARK_GREEN, 1, 1, new int[] {1}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_RED, 2, 5, new int[] {2, 3, 4, 5, 6}));
|
sideOutputs.add(new SideData(EnumColor.DARK_RED, 4, 5, new int[] {4, 5, 6, 7, 8}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_BLUE, 7, 5, new int[] {7, 8, 9, 10, 11}));
|
sideOutputs.add(new SideData(EnumColor.DARK_BLUE, 9, 5, new int[] {9, 10, 11, 12, 13}));
|
||||||
|
|
||||||
sideConfig = new byte[] {4, 3, 0, 0, 2, 1};
|
sideConfig = new byte[] {4, 3, 0, 0, 2, 1};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
package mekanism.common;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.liquids.LiquidTank;
|
||||||
|
|
||||||
|
public class TileEntityElectricDisperser extends TileEntityElectricBlock
|
||||||
|
{
|
||||||
|
public LiquidTank liquidTank;
|
||||||
|
|
||||||
|
public TileEntityElectricDisperser()
|
||||||
|
{
|
||||||
|
super("Electric Disperser", 10000);
|
||||||
|
liquidTank = new LiquidTank(10000);
|
||||||
|
inventory = new ItemStack[3];
|
||||||
|
}
|
||||||
|
}
|
|
@ -104,13 +104,10 @@ public class TileEntityElectricPump extends TileEntityElectricBlock implements I
|
||||||
{
|
{
|
||||||
if(suck(true))
|
if(suck(true))
|
||||||
{
|
{
|
||||||
clean(true);
|
|
||||||
PacketHandler.sendTileEntityPacketToClients(this, 50, getNetworkedData(new ArrayList()));
|
PacketHandler.sendTileEntityPacketToClients(this, 50, getNetworkedData(new ArrayList()));
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
clean(true);
|
clean(true);
|
||||||
cleaningNodes.clear();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ public class TileEntityEliteFactory extends TileEntityFactory
|
||||||
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0, new int[0]));
|
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0, new int[0]));
|
||||||
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1, new int[] {0}));
|
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1, new int[] {0}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_GREEN, 1, 1, new int[] {1}));
|
sideOutputs.add(new SideData(EnumColor.DARK_GREEN, 1, 1, new int[] {1}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_RED, 2, 7, new int[] {2, 3, 4, 5, 6, 7, 8}));
|
sideOutputs.add(new SideData(EnumColor.DARK_RED, 4, 7, new int[] {4, 5, 6, 7, 8, 9, 10}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_BLUE, 9, 7, new int[] {9, 10, 11, 12, 13, 14, 15}));
|
sideOutputs.add(new SideData(EnumColor.DARK_BLUE, 11, 7, new int[] {11, 12, 13, 14, 15, 16, 17}));
|
||||||
|
|
||||||
sideConfig = new byte[] {4, 3, 0, 0, 2, 1};
|
sideConfig = new byte[] {4, 3, 0, 0, 2, 1};
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,8 +86,8 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg
|
||||||
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0, new int[0]));
|
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0, new int[0]));
|
||||||
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1, new int[] {0}));
|
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1, new int[] {0}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_GREEN, 1, 1, new int[] {1}));
|
sideOutputs.add(new SideData(EnumColor.DARK_GREEN, 1, 1, new int[] {1}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_RED, 2, 3, new int[] {2, 3, 4}));
|
sideOutputs.add(new SideData(EnumColor.DARK_RED, 4, 3, new int[] {4, 5, 6}));
|
||||||
sideOutputs.add(new SideData(EnumColor.DARK_BLUE, 5, 3, new int[] {5, 6, 7}));
|
sideOutputs.add(new SideData(EnumColor.DARK_BLUE, 7, 3, new int[] {7, 8, 9}));
|
||||||
|
|
||||||
sideConfig = new byte[] {4, 3, 0, 0, 2, 1};
|
sideConfig = new byte[] {4, 3, 0, 0, 2, 1};
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ import dan200.computer.api.IComputerAccess;
|
||||||
|
|
||||||
public class TileEntityHeatGenerator extends TileEntityGenerator implements ITankContainer
|
public class TileEntityHeatGenerator extends TileEntityGenerator implements ITankContainer
|
||||||
{
|
{
|
||||||
/** The LiquidSlot fuel instance for this generator. */
|
/** The LiquidTank for this generator. */
|
||||||
public LiquidTank lavaTank = new LiquidTank(24000);
|
public LiquidTank lavaTank = new LiquidTank(24000);
|
||||||
|
|
||||||
/** The amount of electricity this machine can produce with a unit of fuel. */
|
/** The amount of electricity this machine can produce with a unit of fuel. */
|
||||||
|
@ -62,7 +62,7 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan
|
||||||
{
|
{
|
||||||
lavaTank.fill(liquid, true);
|
lavaTank.fill(liquid, true);
|
||||||
|
|
||||||
if(inventory[0].isItemEqual(new ItemStack(Item.bucketLava)))
|
if(LiquidContainerRegistry.isBucket(inventory[0]))
|
||||||
{
|
{
|
||||||
inventory[0] = new ItemStack(Item.bucketEmpty);
|
inventory[0] = new ItemStack(Item.bucketEmpty);
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,8 +52,8 @@ public class MekanismTools implements IModule
|
||||||
//Enums: Armor
|
//Enums: Armor
|
||||||
public static EnumArmorMaterial armorOBSIDIAN = EnumHelper.addArmorMaterial("OBSIDIAN", 50, new int[]{5, 12, 8, 5}, 50);
|
public static EnumArmorMaterial armorOBSIDIAN = EnumHelper.addArmorMaterial("OBSIDIAN", 50, new int[]{5, 12, 8, 5}, 50);
|
||||||
public static EnumArmorMaterial armorLAZULI = EnumHelper.addArmorMaterial("LAZULI", 13, new int[]{2, 5, 4, 2}, 50);
|
public static EnumArmorMaterial armorLAZULI = EnumHelper.addArmorMaterial("LAZULI", 13, new int[]{2, 5, 4, 2}, 50);
|
||||||
public static EnumArmorMaterial armorOSMIUM = EnumHelper.addArmorMaterial("OSMIUM", 30, new int[]{3, 9, 7, 3}, 50);
|
public static EnumArmorMaterial armorOSMIUM = EnumHelper.addArmorMaterial("OSMIUM", 30, new int[]{3, 5, 6, 3}, 50);
|
||||||
public static EnumArmorMaterial armorBRONZE = EnumHelper.addArmorMaterial("BRONZE", 35, new int[]{3, 8, 6, 2}, 50);
|
public static EnumArmorMaterial armorBRONZE = EnumHelper.addArmorMaterial("BRONZE", 35, new int[]{3, 6, 5, 2}, 50);
|
||||||
public static EnumArmorMaterial armorGLOWSTONE = EnumHelper.addArmorMaterial("GLOWSTONE", 18, new int[]{3, 7, 6, 3}, 50);
|
public static EnumArmorMaterial armorGLOWSTONE = EnumHelper.addArmorMaterial("GLOWSTONE", 18, new int[]{3, 7, 6, 3}, 50);
|
||||||
public static EnumArmorMaterial armorSTEEL = EnumHelper.addArmorMaterial("STEEL", 40, new int[] {3, 7, 6, 3}, 50);
|
public static EnumArmorMaterial armorSTEEL = EnumHelper.addArmorMaterial("STEEL", 40, new int[] {3, 7, 6, 3}, 50);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue