More work on salivation controllers
This commit is contained in:
parent
83ee208fb7
commit
804d071643
5 changed files with 43 additions and 20 deletions
|
@ -105,6 +105,7 @@ import mekanism.common.tile.TileEntityPrecisionSawmill;
|
|||
import mekanism.common.tile.TileEntityPurificationChamber;
|
||||
import mekanism.common.tile.TileEntityRotaryCondensentrator;
|
||||
import mekanism.common.tile.TileEntitySalinationController;
|
||||
import mekanism.common.tile.TileEntitySalinationTank;
|
||||
import mekanism.common.tile.TileEntitySalinationValve;
|
||||
import mekanism.common.tile.TileEntityTeleporter;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
@ -294,6 +295,7 @@ public class ClientProxy extends CommonProxy
|
|||
ClientRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator", new RenderElectrolyticSeparator());
|
||||
GameRegistry.registerTileEntity(TileEntitySalinationController.class, "SalinationController");
|
||||
GameRegistry.registerTileEntity(TileEntitySalinationValve.class, "SalinationValve");
|
||||
GameRegistry.registerTileEntity(TileEntitySalinationTank.class, "SalinationTank");
|
||||
ClientRegistry.registerTileEntity(TileEntityPrecisionSawmill.class, "PrecisionSawmill", new RenderConfigurableMachine());
|
||||
}
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ import mekanism.common.tile.TileEntityPrecisionSawmill;
|
|||
import mekanism.common.tile.TileEntityPurificationChamber;
|
||||
import mekanism.common.tile.TileEntityRotaryCondensentrator;
|
||||
import mekanism.common.tile.TileEntitySalinationController;
|
||||
import mekanism.common.tile.TileEntitySalinationTank;
|
||||
import mekanism.common.tile.TileEntitySalinationValve;
|
||||
import mekanism.common.tile.TileEntityTeleporter;
|
||||
import net.minecraft.block.Block;
|
||||
|
@ -116,6 +117,7 @@ public class CommonProxy
|
|||
GameRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator");
|
||||
GameRegistry.registerTileEntity(TileEntitySalinationController.class, "SalinationController");
|
||||
GameRegistry.registerTileEntity(TileEntitySalinationValve.class, "SalinationValve");
|
||||
GameRegistry.registerTileEntity(TileEntitySalinationTank.class, "SalinationTank");
|
||||
GameRegistry.registerTileEntity(TileEntityPrecisionSawmill.class, "PrecisionSawmill");
|
||||
}
|
||||
|
||||
|
|
|
@ -152,6 +152,10 @@ public class BlockBasic extends Block
|
|||
return icons[6][0];
|
||||
}
|
||||
}
|
||||
else if(metadata == 10)
|
||||
{
|
||||
return glassRenderer.getIcon(world, x, y, z, side);
|
||||
}
|
||||
else if(metadata == 14)
|
||||
{
|
||||
TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getBlockTileEntity(x, y, z);
|
||||
|
@ -161,13 +165,9 @@ public class BlockBasic extends Block
|
|||
return icons[14][0];
|
||||
}
|
||||
else {
|
||||
return icons[14][1];
|
||||
return icons[12][0];
|
||||
}
|
||||
}
|
||||
else if(metadata == 10)
|
||||
{
|
||||
return glassRenderer.getIcon(world, x, y, z, side);
|
||||
}
|
||||
else {
|
||||
return getIcon(side, metadata);
|
||||
}
|
||||
|
@ -177,11 +177,12 @@ public class BlockBasic extends Block
|
|||
@SideOnly(Side.CLIENT)
|
||||
public Icon getIcon(int side, int meta)
|
||||
{
|
||||
if(meta != 6)
|
||||
if(meta != 6 && meta != 14)
|
||||
{
|
||||
return icons[meta][0];
|
||||
}
|
||||
else {
|
||||
else if(meta == 6)
|
||||
{
|
||||
if(side == 0 || side == 1)
|
||||
{
|
||||
return icons[6][1];
|
||||
|
@ -194,6 +195,18 @@ public class BlockBasic extends Block
|
|||
return icons[6][0];
|
||||
}
|
||||
}
|
||||
else if(meta == 14)
|
||||
{
|
||||
if(side == 3)
|
||||
{
|
||||
return icons[14][0];
|
||||
}
|
||||
else {
|
||||
return icons[12][0];
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -373,6 +373,8 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
{
|
||||
super.load(nbtTags);
|
||||
|
||||
redstoneReactive = nbtTags.getBoolean("redstoneReactive");
|
||||
|
||||
for(int i = 0; i < 6; i++)
|
||||
{
|
||||
connectionTypes[i] = ConnectionType.values()[nbtTags.getInteger("connection" + i)];
|
||||
|
@ -384,6 +386,8 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
{
|
||||
super.save(nbtTags);
|
||||
|
||||
nbtTags.setBoolean("redstoneReactive", redstoneReactive);
|
||||
|
||||
for(int i = 0; i < 6; i++)
|
||||
{
|
||||
nbtTags.setInteger("connection" + i, connectionTypes[i].ordinal());
|
||||
|
@ -600,7 +604,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
refreshConnections();
|
||||
tile().notifyPartChange(this);
|
||||
|
||||
player.sendChatToPlayer(ChatMessageComponent.createFromText("Redstone sensitivity turned " + (redstoneReactive ? "on." : "off.")));
|
||||
player.sendChatToPlayer(ChatMessageComponent.createFromText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " Redstone sensitivity turned " + EnumColor.INDIGO + (redstoneReactive ? "on." : "off.")));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
if(canOperate())
|
||||
{
|
||||
partialWater += temperature * (height + 7)/8;
|
||||
|
||||
if(partialWater >= 1)
|
||||
{
|
||||
int waterInt = (int)Math.floor(partialWater);
|
||||
|
@ -55,6 +56,7 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
partialWater %= 1;
|
||||
partialBrine += ((double)waterInt)/100D;
|
||||
}
|
||||
|
||||
if(partialBrine >= 1)
|
||||
{
|
||||
int brineInt = (int)Math.floor(partialBrine);
|
||||
|
@ -102,7 +104,7 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
|
||||
height = 0;
|
||||
|
||||
if(!findBottomLayer())
|
||||
if(!scanBottomLayer())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -110,13 +112,13 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
Coord4D startPoint = Coord4D.get(this).getFromSide(right);
|
||||
startPoint = isLeftOnFace ? startPoint : startPoint.getFromSide(right);
|
||||
|
||||
while(findMiddleLayer(startPoint))
|
||||
while(scanMiddleLayer(startPoint))
|
||||
{
|
||||
startPoint = startPoint.getFromSide(ForgeDirection.UP);
|
||||
height++;
|
||||
}
|
||||
|
||||
structured = findTopLayer(startPoint);
|
||||
structured = scanTopLayer(startPoint);
|
||||
height = structured ? height + 1 : 0;
|
||||
return structured;
|
||||
}
|
||||
|
@ -127,7 +129,7 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
ForgeDirection.getOrientation(facing), MekanismUtils.getRight(facing)};
|
||||
}
|
||||
|
||||
public boolean findTopLayer(Coord4D current)
|
||||
public boolean scanTopLayer(Coord4D current)
|
||||
{
|
||||
ForgeDirection[] matrix = getMatrix();
|
||||
|
||||
|
@ -156,7 +158,7 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean findMiddleLayer(Coord4D current)
|
||||
public boolean scanMiddleLayer(Coord4D current)
|
||||
{
|
||||
ForgeDirection[] matrix = getMatrix();
|
||||
|
||||
|
@ -177,7 +179,7 @@ public class TileEntitySalinationController extends TileEntitySalinationTank imp
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean findBottomLayer()
|
||||
public boolean scanBottomLayer()
|
||||
{
|
||||
Coord4D baseBlock = Coord4D.get(this).getFromSide(ForgeDirection.DOWN);
|
||||
|
||||
|
|
Loading…
Reference in a new issue