use of logisticspipes.pipes.basic.CoreRoutedPipe in project LogisticsPipes by RS485.
the class RequestRoutingLasersPacket method processPacket.
@Override
public void processPacket(EntityPlayer player) {
LogisticsTileGenericPipe tile = this.getPipe(player.worldObj);
if (tile == null) {
return;
}
if (tile.pipe instanceof CoreRoutedPipe) {
IRouter router = ((CoreRoutedPipe) tile.pipe).getRouter();
//this is here to allow players to manually trigger a network-wide LSA update
router.forceLsaUpdate();
List<List<ExitRoute>> exits = router.getRouteTable();
HashMap<ForgeDirection, ArrayList<ExitRoute>> routers = new HashMap<>();
for (List<ExitRoute> exit : exits) {
if (exit == null) {
continue;
}
for (ExitRoute e : exit) {
if (!routers.containsKey(e.exitOrientation)) {
routers.put(e.exitOrientation, new ArrayList<>());
}
if (!routers.get(e.exitOrientation).contains(e)) {
routers.get(e.exitOrientation).add(e);
}
}
}
ArrayList<LaserData> lasers = new ArrayList<>();
firstPipe = true;
for (final ForgeDirection dir : routers.keySet()) {
if (dir == ForgeDirection.UNKNOWN) {
continue;
}
handleRouteInDirection(tile, dir, routers.get(dir), lasers, EnumSet.allOf(PipeRoutingConnectionType.class), new Log() {
@Override
void log(String log) {
if (LPConstants.DEBUG) {
System.out.println(dir.name() + ": " + log);
}
}
});
}
lasers = compressLasers(lasers);
MainProxy.sendPacketToPlayer(PacketHandler.getPacket(RoutingLaserPacket.class).setLasers(lasers), player);
}
}
use of logisticspipes.pipes.basic.CoreRoutedPipe in project LogisticsPipes by RS485.
the class RequestSignPacket method processPacket.
@Override
public void processPacket(EntityPlayer player) {
LogisticsTileGenericPipe pipe = this.getPipe(player.getEntityWorld());
if (pipe == null) {
return;
}
((CoreRoutedPipe) pipe.pipe).sendSignData(player);
}
use of logisticspipes.pipes.basic.CoreRoutedPipe in project LogisticsPipes by RS485.
the class PipeManagerContentPacket method processPacket.
@Override
public void processPacket(EntityPlayer player) {
LogisticsTileGenericPipe pipe = this.getPipe(player.getEntityWorld());
if (pipe == null || !(pipe.pipe instanceof CoreRoutedPipe)) {
return;
}
CoreRoutedPipe cPipe = (CoreRoutedPipe) pipe.pipe;
cPipe.getClientSideOrderManager().clear();
cPipe.getClientSideOrderManager().addAll(clientOrder);
}
use of logisticspipes.pipes.basic.CoreRoutedPipe in project LogisticsPipes by RS485.
the class OrdererRefreshRequestPacket method processPacket.
@Override
public void processPacket(EntityPlayer player) {
int dimension = (getInteger() - (getInteger() % 10)) / 10;
final LogisticsTileGenericPipe pipe = MainProxy.proxy.getPipeInDimensionAt(dimension, getPosX(), getPosY(), getPosZ(), player);
if (pipe == null || !(pipe.pipe instanceof CoreRoutedPipe)) {
return;
}
RequestHandler.DisplayOptions option;
switch(getInteger() % 10) {
case 0:
option = RequestHandler.DisplayOptions.Both;
break;
case 1:
option = RequestHandler.DisplayOptions.SupplyOnly;
break;
case 2:
option = RequestHandler.DisplayOptions.CraftOnly;
break;
default:
option = RequestHandler.DisplayOptions.Both;
break;
}
RequestHandler.refresh(player, (CoreRoutedPipe) pipe.pipe, option);
}
use of logisticspipes.pipes.basic.CoreRoutedPipe in project LogisticsPipes by RS485.
the class GuiOpenChassie method processPacket.
@Override
public void processPacket(EntityPlayer player) {
LogisticsTileGenericPipe pipe = this.getPipe(player.getEntityWorld());
if (!(pipe.pipe instanceof CoreRoutedPipe)) {
return;
}
NewGuiHandler.getGui(ChassiGuiProvider.class).setFlag(((CoreRoutedPipe) pipe.pipe).getUpgradeManager().hasUpgradeModuleUpgrade()).setSlot(ModulePositionType.IN_PIPE).setPositionInt(0).setPosX(getPosX()).setPosY(getPosY()).setPosZ(getPosZ()).open(player);
}
Aggregations