diff --git a/common/mekanism/client/ClientProxy.java b/common/mekanism/client/ClientProxy.java index 626dfc9ea..4e6f40a76 100644 --- a/common/mekanism/client/ClientProxy.java +++ b/common/mekanism/client/ClientProxy.java @@ -82,7 +82,7 @@ import mekanism.common.tileentity.TileEntityEnergyCube; import mekanism.common.tileentity.TileEntityEnrichmentChamber; import mekanism.common.tileentity.TileEntityFactory; import mekanism.common.tileentity.TileEntityGasTank; -import mekanism.common.tileentity.TileEntityLogisticalDiverter; +import mekanism.common.tileentity.TileEntityDivertionTransporter; import mekanism.common.tileentity.TileEntityLogisticalSorter; import mekanism.common.tileentity.TileEntityLogisticalTransporter; import mekanism.common.tileentity.TileEntityMechanicalPipe; @@ -251,7 +251,7 @@ public class ClientProxy extends CommonProxy ClientRegistry.registerTileEntity(TileEntityChargepad.class, "Chargepad", new RenderChargepad()); ClientRegistry.registerTileEntity(TileEntityLogisticalTransporter.class, "LogisticalTransporter", new RenderLogisticalTransporter()); - ClientRegistry.registerTileEntity(TileEntityLogisticalDiverter.class, "LogisticalDiverter", new RenderLogisticalTransporter()); + ClientRegistry.registerTileEntity(TileEntityDivertionTransporter.class, "LogisticalDiverter", new RenderLogisticalTransporter()); ClientRegistry.registerTileEntity(TileEntityLogisticalSorter.class, "LogisticalSorter", new RenderLogisticalSorter()); ClientRegistry.registerTileEntity(TileEntityBin.class, "Bin", new RenderBin()); ClientRegistry.registerTileEntity(TileEntityDigitalMiner.class, "DigitalMiner", new RenderDigitalMiner()); diff --git a/common/mekanism/client/render/block/TransmitterRenderingHandler.java b/common/mekanism/client/render/block/TransmitterRenderingHandler.java index 5328e2142..a2d693e06 100644 --- a/common/mekanism/client/render/block/TransmitterRenderingHandler.java +++ b/common/mekanism/client/render/block/TransmitterRenderingHandler.java @@ -48,9 +48,12 @@ public class TransmitterRenderingHandler implements ISimpleBlockRenderingHandler case 4: Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "RestrictiveTransporter.png")); break; + case 5: + Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalDiverter.png")); + break; } - if(metadata != 3 && metadata != 4) + if(metadata != 3 && metadata != 4 && metadata != 5) { smallTransmitter.renderSide(ForgeDirection.UP, true); smallTransmitter.renderSide(ForgeDirection.DOWN, true); diff --git a/common/mekanism/common/CommonProxy.java b/common/mekanism/common/CommonProxy.java index 5b2e6284e..949d30be4 100644 --- a/common/mekanism/common/CommonProxy.java +++ b/common/mekanism/common/CommonProxy.java @@ -38,7 +38,7 @@ import mekanism.common.tileentity.TileEntityEnergyCube; import mekanism.common.tileentity.TileEntityEnrichmentChamber; import mekanism.common.tileentity.TileEntityFactory; import mekanism.common.tileentity.TileEntityGasTank; -import mekanism.common.tileentity.TileEntityLogisticalDiverter; +import mekanism.common.tileentity.TileEntityDivertionTransporter; import mekanism.common.tileentity.TileEntityLogisticalSorter; import mekanism.common.tileentity.TileEntityLogisticalTransporter; import mekanism.common.tileentity.TileEntityMechanicalPipe; @@ -92,7 +92,7 @@ public class CommonProxy GameRegistry.registerTileEntity(TileEntityChargepad.class, "Chargepad"); GameRegistry.registerTileEntity(TileEntityLogisticalTransporter.class, "LogisticalTransporter"); - GameRegistry.registerTileEntity(TileEntityLogisticalDiverter.class, "LogisticalDiverter"); + GameRegistry.registerTileEntity(TileEntityDivertionTransporter.class, "LogisticalDiverter"); GameRegistry.registerTileEntity(TileEntityLogisticalSorter.class, "LogisticalSorter"); GameRegistry.registerTileEntity(TileEntityBin.class, "Bin"); GameRegistry.registerTileEntity(TileEntityDigitalMiner.class, "DigitalMiner"); diff --git a/common/mekanism/common/block/BlockTransmitter.java b/common/mekanism/common/block/BlockTransmitter.java index a812cdb8b..e62b98c7e 100644 --- a/common/mekanism/common/block/BlockTransmitter.java +++ b/common/mekanism/common/block/BlockTransmitter.java @@ -9,7 +9,7 @@ import mekanism.api.transmitters.ITransmitter; import mekanism.client.ClientProxy; import mekanism.common.Mekanism; import mekanism.common.PipeUtils; -import mekanism.common.tileentity.TileEntityLogisticalDiverter; +import mekanism.common.tileentity.TileEntityDivertionTransporter; import mekanism.common.tileentity.TileEntityLogisticalTransporter; import mekanism.common.tileentity.TileEntityMechanicalPipe; import mekanism.common.tileentity.TileEntityPressurizedTube; @@ -42,7 +42,7 @@ import cpw.mods.fml.relauncher.SideOnly; * 2: Mechanical Pipe * 3: Logistical Transporter * 4: Restrictive Transporter - * 5: Logistical Diverter + * 5: Diversion Transporter * @author AidanBrady * */ @@ -376,7 +376,7 @@ public class BlockTransmitter extends Block return new TileEntityLogisticalTransporter(); case 5: - return new TileEntityLogisticalDiverter(); + return new TileEntityDivertionTransporter(); default: return null; } diff --git a/common/mekanism/common/item/ItemBlockTransmitter.java b/common/mekanism/common/item/ItemBlockTransmitter.java index f7e4c6c52..4ce0d013e 100644 --- a/common/mekanism/common/item/ItemBlockTransmitter.java +++ b/common/mekanism/common/item/ItemBlockTransmitter.java @@ -20,6 +20,8 @@ import net.minecraft.util.Icon; * 1: Universal Cable * 2: Mechanical Pipe * 3: Logistical Transporter + * 4: Restrictive Transporter + * 5: Diversion Transporter * @author AidanBrady * */ @@ -75,6 +77,13 @@ public class ItemBlockTransmitter extends ItemBlock list.add("- " + EnumColor.PURPLE + "Blocks (universal)"); list.add("- " + EnumColor.DARK_RED + "Only used if no other paths available"); } + else if(itemstack.getItemDamage() == 5) + { + list.add(EnumColor.DARK_GREY + "Capable of transferring:"); + list.add("- " + EnumColor.PURPLE + "Items (universal)"); + list.add("- " + EnumColor.PURPLE + "Blocks (universal)"); + list.add("- " + EnumColor.DARK_RED + "Controlable by redstone"); + } } } @@ -112,6 +121,9 @@ public class ItemBlockTransmitter extends ItemBlock case 4: name = "RestrictiveTransporter"; break; + case 5: + name = "DiversionTransporter"; + break; default: name = "Unknown"; break; diff --git a/common/mekanism/common/item/ItemConfigurator.java b/common/mekanism/common/item/ItemConfigurator.java index 3a7fcb52e..2ac3fd387 100644 --- a/common/mekanism/common/item/ItemConfigurator.java +++ b/common/mekanism/common/item/ItemConfigurator.java @@ -16,7 +16,7 @@ import mekanism.common.tileentity.TileEntityBin; import mekanism.common.tileentity.TileEntityContainerBlock; import mekanism.common.tileentity.TileEntityElectricChest; import mekanism.common.tileentity.TileEntityElectricPump; -import mekanism.common.tileentity.TileEntityLogisticalDiverter; +import mekanism.common.tileentity.TileEntityDivertionTransporter; import mekanism.common.tileentity.TileEntityLogisticalTransporter; import mekanism.common.tileentity.TileEntityMechanicalPipe; import mekanism.common.util.MekanismUtils; @@ -73,8 +73,8 @@ public class ItemConfigurator extends ItemEnergized else if(world.getBlockTileEntity(x, y, z) instanceof TileEntityLogisticalTransporter) { //Player can access color by sneaking - if(world.getBlockTileEntity(x, y, z) instanceof TileEntityLogisticalDiverter){ - TileEntityLogisticalDiverter transporter = (TileEntityLogisticalDiverter)world.getBlockTileEntity(x, y, z); + if(world.getBlockTileEntity(x, y, z) instanceof TileEntityDivertionTransporter){ + TileEntityDivertionTransporter transporter = (TileEntityDivertionTransporter)world.getBlockTileEntity(x, y, z); int newMode=(transporter.modes[side]+1)%3; transporter.modes[side]=newMode; String description="ERROR"; diff --git a/common/mekanism/common/tileentity/TileEntityLogisticalDiverter.java b/common/mekanism/common/tileentity/TileEntityDivertionTransporter.java similarity index 65% rename from common/mekanism/common/tileentity/TileEntityLogisticalDiverter.java rename to common/mekanism/common/tileentity/TileEntityDivertionTransporter.java index 179109467..61281dc1f 100644 --- a/common/mekanism/common/tileentity/TileEntityLogisticalDiverter.java +++ b/common/mekanism/common/tileentity/TileEntityDivertionTransporter.java @@ -9,7 +9,7 @@ import mekanism.common.util.TransporterUtils; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -public class TileEntityLogisticalDiverter extends TileEntityLogisticalTransporter { +public class TileEntityDivertionTransporter extends TileEntityLogisticalTransporter { public int[] modes={0,0,0,0,0,0}; @Override @@ -25,19 +25,8 @@ public class TileEntityLogisticalDiverter extends TileEntityLogisticalTransporte super.writeToNBT(nbtTags); nbtTags.setIntArray("modes", modes); } - @Override - public ArrayList getNetworkedData(ArrayList data) - { - data=super.getNetworkedData(data); - data.add(modes[0]); - data.add(modes[1]); - data.add(modes[2]); - data.add(modes[3]); - data.add(modes[4]); - data.add(modes[5]); - - return data; - } + + @Override public void handlePacketData(ByteArrayDataInput dataStream) { @@ -49,5 +38,30 @@ public class TileEntityLogisticalDiverter extends TileEntityLogisticalTransporte modes[4]=dataStream.readInt(); modes[5]=dataStream.readInt(); } + + @Override + public ArrayList getNetworkedData(ArrayList data) + { + data=super.getNetworkedData(data); + data.add(modes[0]); + data.add(modes[1]); + data.add(modes[2]); + data.add(modes[3]); + data.add(modes[4]); + data.add(modes[5]); + return data; + } + + public ArrayList getSyncPacket(TransporterStack stack, boolean kill) + { + ArrayList data=super.getSyncPacket(stack, kill); + data.add(modes[0]); + data.add(modes[1]); + data.add(modes[2]); + data.add(modes[3]); + data.add(modes[4]); + data.add(modes[5]); + return data; + } } diff --git a/common/mekanism/common/transporter/TransporterPathfinder.java b/common/mekanism/common/transporter/TransporterPathfinder.java index 7c539808e..ac2aff25d 100644 --- a/common/mekanism/common/transporter/TransporterPathfinder.java +++ b/common/mekanism/common/transporter/TransporterPathfinder.java @@ -9,7 +9,7 @@ import java.util.Map; import java.util.Set; import mekanism.api.Object3D; -import mekanism.common.tileentity.TileEntityLogisticalDiverter; +import mekanism.common.tileentity.TileEntityDivertionTransporter; import mekanism.common.tileentity.TileEntityLogisticalSorter; import mekanism.common.tileentity.TileEntityLogisticalTransporter; import mekanism.common.transporter.TransporterPathfinder.Pathfinder.DestChecker; @@ -186,15 +186,15 @@ public final class TransporterPathfinder { //Check for logistical Diverter TileEntity currTile = pointer.getTileEntity(worldObj); - if(currTile instanceof TileEntityLogisticalDiverter){ - int mode=((TileEntityLogisticalDiverter) currTile).modes[side.ordinal()]; + if(currTile instanceof TileEntityDivertionTransporter){ + int mode=((TileEntityDivertionTransporter) currTile).modes[side.ordinal()]; boolean redstone=currTile.worldObj.isBlockIndirectlyGettingPowered(currTile.xCoord, currTile.yCoord,currTile.zCoord); if((mode==2&&redstone==true)||(mode==1&&redstone==false)){ continue; } } - if(tile instanceof TileEntityLogisticalDiverter){ - int mode=((TileEntityLogisticalDiverter) tile).modes[side.ordinal()]; + if(tile instanceof TileEntityDivertionTransporter){ + int mode=((TileEntityDivertionTransporter) tile).modes[side.ordinal()]; boolean redstone=tile.worldObj.isBlockIndirectlyGettingPowered(tile.xCoord, tile.yCoord,tile.zCoord); if((mode==2&&redstone==true)||(mode==1&&redstone==false)){ continue; diff --git a/common/mekanism/common/util/TransporterUtils.java b/common/mekanism/common/util/TransporterUtils.java index 237c5cece..80449f170 100644 --- a/common/mekanism/common/util/TransporterUtils.java +++ b/common/mekanism/common/util/TransporterUtils.java @@ -8,7 +8,7 @@ import mekanism.api.IConfigurable; import mekanism.api.Object3D; import mekanism.api.transmitters.ITransmitter; import mekanism.common.tileentity.TileEntityBin; -import mekanism.common.tileentity.TileEntityLogisticalDiverter; +import mekanism.common.tileentity.TileEntityDivertionTransporter; import mekanism.common.tileentity.TileEntityLogisticalSorter; import mekanism.common.tileentity.TileEntityLogisticalTransporter; import mekanism.common.transporter.TransporterStack; @@ -90,8 +90,8 @@ public final class TransporterUtils { int side = Arrays.asList(connectedInventories).indexOf(inventory); - if(tileEntity instanceof TileEntityLogisticalDiverter){ - int mode=((TileEntityLogisticalDiverter) tileEntity).modes[side]; + if(tileEntity instanceof TileEntityDivertionTransporter){ + int mode=((TileEntityDivertionTransporter) tileEntity).modes[side]; boolean redstone=tileEntity.worldObj.isBlockIndirectlyGettingPowered(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); if((mode==2&&redstone==true)||(mode==1&&redstone==false)){ continue; @@ -138,8 +138,8 @@ public final class TransporterUtils int side = Arrays.asList(connectedTransporters).indexOf(tile); //Check for logistical Diverter - if(tileEntity instanceof TileEntityLogisticalDiverter){ - int mode=((TileEntityLogisticalDiverter) tileEntity).modes[side]; + if(tileEntity instanceof TileEntityDivertionTransporter){ + int mode=((TileEntityDivertionTransporter) tileEntity).modes[side]; boolean redstone=tileEntity.worldObj.isBlockIndirectlyGettingPowered(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); if((mode==2&&redstone==true)||(mode==1&&redstone==false)){ continue; @@ -147,8 +147,8 @@ public final class TransporterUtils } //Check for logistical Diverter - if(tile instanceof TileEntityLogisticalDiverter){ - int mode=((TileEntityLogisticalDiverter) tile).modes[ForgeDirection.VALID_DIRECTIONS[side].getOpposite().ordinal()]; + if(tile instanceof TileEntityDivertionTransporter){ + int mode=((TileEntityDivertionTransporter) tile).modes[ForgeDirection.VALID_DIRECTIONS[side].getOpposite().ordinal()]; boolean redstone=tile.worldObj.isBlockIndirectlyGettingPowered(tile.xCoord, tile.yCoord, tile.zCoord); if((mode==2&&redstone==true)||(mode==1&&redstone==false)){ continue; diff --git a/resources/assets/mekanism/lang/en_US.lang b/resources/assets/mekanism/lang/en_US.lang index e80cd71dd..9250ffd26 100644 --- a/resources/assets/mekanism/lang/en_US.lang +++ b/resources/assets/mekanism/lang/en_US.lang @@ -66,6 +66,7 @@ tile.Transmitter.UniversalCable.name=Universal Cable tile.Transmitter.MechanicalPipe.name=Mechanical Pipe tile.Transmitter.LogisticalTransporter.name=Logistical Transporter tile.Transmitter.RestrictiveTransporter.name=Restrictive Transporter +tile.Transmitter.DiversionTransporter.name=Diversion Transporter //Energy Cubes tile.EnergyCube.Basic.name=Basic Energy Cube