From 15aa17e441fd1bab7acfc33894a448d93114a8a1 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 20 Dec 2013 21:34:16 -0500 Subject: [PATCH] Connections complete, colors now update renderer properly --- .../mekanism/api/transmitters/TransmissionType.java | 3 --- .../common/multipart/PartLogisticalTransporter.java | 13 +++++++++++-- common/mekanism/common/multipart/PartSidedPipe.java | 10 +++------- .../mekanism/common/multipart/PartTransmitter.java | 2 +- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/common/mekanism/api/transmitters/TransmissionType.java b/common/mekanism/api/transmitters/TransmissionType.java index f9ba21c77..36d85677b 100644 --- a/common/mekanism/api/transmitters/TransmissionType.java +++ b/common/mekanism/api/transmitters/TransmissionType.java @@ -28,9 +28,6 @@ public enum TransmissionType { return true; } - else { - System.out.println(((ITransmitter)sideTile).getTransmissionType()); - } } if(this == GAS && currentTile instanceof IGasTransmitter) diff --git a/common/mekanism/common/multipart/PartLogisticalTransporter.java b/common/mekanism/common/multipart/PartLogisticalTransporter.java index eb457c533..a990f7b50 100644 --- a/common/mekanism/common/multipart/PartLogisticalTransporter.java +++ b/common/mekanism/common/multipart/PartLogisticalTransporter.java @@ -109,9 +109,14 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti { TileEntity tileEntity = Coord4D.get(tile()).getFromSide(side).getTileEntity(world()); - if(TransmissionType.checkTransmissionType(tileEntity, getTransmitter().getType()) && isConnectable(tileEntity)) + if(TransmissionType.checkTransmissionType(tileEntity, getTransmitter().getType())) { - connections |= 1 << side.ordinal(); + ILogisticalTransporter transporter = (ILogisticalTransporter)tileEntity; + + if(getColor() == null || transporter.getColor() == null || getColor() == transporter.getColor()) + { + connections |= 1 << side.ordinal(); + } } } } @@ -164,6 +169,8 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti @Override public void update() { + super.update(); + if(world().isRemote) { for(TransporterStack stack : transit) @@ -655,6 +662,8 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti protected boolean onConfigure(EntityPlayer player, int part, int side) { TransporterUtils.incrementColor(this); + refreshConnections(); + tile().notifyPartChange(this); PacketHandler.sendPacket(Transmission.CLIENTS_RANGE, new PacketTileEntity().setParams(Coord4D.get(tile()), getNetworkedData(new ArrayList())), Coord4D.get(tile()), 50D); player.sendChatToPlayer(ChatMessageComponent.createFromText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + MekanismUtils.localize("tooltip.configurator.toggleColor") + ": " + (color != null ? color.getName() : EnumColor.BLACK + MekanismUtils.localize("gui.none")))); diff --git a/common/mekanism/common/multipart/PartSidedPipe.java b/common/mekanism/common/multipart/PartSidedPipe.java index 2e872d8fc..efaa5fbc7 100644 --- a/common/mekanism/common/multipart/PartSidedPipe.java +++ b/common/mekanism/common/multipart/PartSidedPipe.java @@ -170,7 +170,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, { TileEntity tileEntity = Coord4D.get(tile()).getFromSide(side).getTileEntity(world()); - if(TransmissionType.checkTransmissionType(tileEntity, getTransmitter().getType()) && isConnectable(tileEntity)) + if(TransmissionType.checkTransmissionType(tileEntity, getTransmitter().getType())) { connections |= 1 << side.ordinal(); } @@ -179,11 +179,6 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, return connections; } - - public boolean isConnectable(TileEntity tileEntity) - { - return true; - } public byte getPossibleAcceptorConnections() { @@ -448,9 +443,10 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, } } + onRefresh(); + if(!world().isRemote) { - System.out.println("send desc"); currentTransmitterConnections = possibleTransmitters; currentAcceptorConnections = possibleAcceptors; diff --git a/common/mekanism/common/multipart/PartTransmitter.java b/common/mekanism/common/multipart/PartTransmitter.java index 134e6af74..908738c20 100644 --- a/common/mekanism/common/multipart/PartTransmitter.java +++ b/common/mekanism/common/multipart/PartTransmitter.java @@ -49,7 +49,7 @@ public abstract class PartTransmitter> extends Pa { TileEntity tileEntity = Coord4D.get(tile()).getFromSide(side).getTileEntity(world()); - if(TransmissionType.checkTransmissionType(tileEntity, getTransmissionType()) && isConnectable(tileEntity)) + if(TransmissionType.checkTransmissionType(tileEntity, getTransmissionType())) { ((DynamicNetwork)getTransmitterNetwork()).merge(((IGridTransmitter)tileEntity).getTransmitterNetwork()); }