From 9f77bc63c2dcb2d292d9ec014c952c4598114361 Mon Sep 17 00:00:00 2001 From: TylerS1066 Date: Tue, 16 Jul 2024 10:13:59 -0500 Subject: [PATCH] Reduce calls to get time --- .../countercraft/movecraft/repair/RepairManager.java | 10 +++++++--- .../countercraft/movecraft/repair/types/Repair.java | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/countercraft/movecraft/repair/RepairManager.java b/src/main/java/net/countercraft/movecraft/repair/RepairManager.java index 0675c14..a4b3249 100644 --- a/src/main/java/net/countercraft/movecraft/repair/RepairManager.java +++ b/src/main/java/net/countercraft/movecraft/repair/RepairManager.java @@ -22,18 +22,22 @@ public void run() { Set completed = new HashSet<>(); Set executed = new HashSet<>(); - while (System.currentTimeMillis() - start < Config.RepairMaxTickTime) { + long time = System.currentTimeMillis(); + while (time - start < Config.RepairMaxTickTime) { Repair repair = repairs.poll(); if (repair == null) break; // No repairs, jump out - if (repair.run()) { + if (repair.run(time)) { // Repair placed at least a block, return to back of queue executed.add(repair); } // Else leave at top of queue - if (repair.isDone()) + if (repair.isDone()) { completed.add(repair); + } + + time = System.currentTimeMillis(); } repairs.addAll(executed); diff --git a/src/main/java/net/countercraft/movecraft/repair/types/Repair.java b/src/main/java/net/countercraft/movecraft/repair/types/Repair.java index 4896bf0..e81fad7 100644 --- a/src/main/java/net/countercraft/movecraft/repair/types/Repair.java +++ b/src/main/java/net/countercraft/movecraft/repair/types/Repair.java @@ -52,8 +52,8 @@ public int remaining() { return queue.size(); } - public boolean run() { - double elapsedTicks = (System.currentTimeMillis() - lastExecution) * 20.0 / 1000; + public boolean run(long time) { + double elapsedTicks = (time - lastExecution) * 20.0 / 1000; int placedBlocks = 0; while (elapsedTicks > Config.RepairTicksPerBlock && placedBlocks <= Config.RepairMaxBlocksPerTick) { @@ -67,7 +67,7 @@ public boolean run() { } if (placedBlocks > 0) { - lastExecution = System.currentTimeMillis(); + lastExecution = time; return true; }