From a7f19b20a2ff59ec8c1233ae5b1c97aea04df9b9 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Tue, 21 Jan 2014 19:15:20 +0800 Subject: [PATCH] Made mechanical network not pathfind unless the amount of generators changed --- .../mechanical/gear/PartGear.java | 2 +- .../mechanical/network/MechanicalNetwork.java | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/java/resonantinduction/mechanical/gear/PartGear.java b/src/main/java/resonantinduction/mechanical/gear/PartGear.java index d9dc938f..f4675d9d 100644 --- a/src/main/java/resonantinduction/mechanical/gear/PartGear.java +++ b/src/main/java/resonantinduction/mechanical/gear/PartGear.java @@ -47,7 +47,7 @@ public class PartGear extends PartMechanical implements IMechanical @Override public boolean activate(EntityPlayer player, MovingObjectPosition hit, ItemStack item) { - System.out.println(world().isRemote + ": " + getNetwork()); + //System.out.println(world().isRemote + ": " + getNetwork()); if (BlockAdvanced.isUsableWrench(player, player.getCurrentEquippedItem(), tile().xCoord, tile().yCoord, tile().zCoord)) { diff --git a/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java b/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java index 03b30773..f196a4c8 100644 --- a/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java +++ b/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java @@ -74,22 +74,24 @@ public class MechanicalNetwork extends Network /** * Calculation rotations of all generators. */ - prevGenerators = generators; + if (!(prevGenerators.equals(generators)) && generators.size() > 0) + {System.out.println("UPDA PATH"); + Set closedSet = new LinkedHashSet(); - Set closedSet = new LinkedHashSet(); - - for (IMechanical generatorNode : generators) - { - if (generatorNode != null) + for (IMechanical generatorNode : generators) { - PathfinderUpdateRotation rotationPathfinder = new PathfinderUpdateRotation(generatorNode, this, closedSet); - rotationPathfinder.findNodes(generatorNode); - closedSet.addAll(rotationPathfinder.closedSet); - sendRotationUpdatePacket(generatorNode); + if (generatorNode != null) + { + PathfinderUpdateRotation rotationPathfinder = new PathfinderUpdateRotation(generatorNode, this, closedSet); + rotationPathfinder.findNodes(generatorNode); + closedSet.addAll(rotationPathfinder.closedSet); + sendRotationUpdatePacket(generatorNode); + } } - } - generators.clear(); + prevGenerators = new LinkedHashSet<>(generators); + generators.clear(); + } /** * Calculate load