Merge remote-tracking branch 'origin/iris4' into iris4

This commit is contained in:
repixelatedmc 2024-08-07 15:01:43 +02:00
commit 0f5364982d

View File

@ -17,8 +17,6 @@ import static com.volmit.iris.engine.service.EngineStatusSVC.getEngineCount;
public class MantleCleanerSVC extends IrisEngineService { public class MantleCleanerSVC extends IrisEngineService {
private static final AtomicInteger tectonicLimit = new AtomicInteger(30); private static final AtomicInteger tectonicLimit = new AtomicInteger(30);
private static final AtomicInteger idCounter = new AtomicInteger();
private int id = -1;
private Ticker trimmer; private Ticker trimmer;
private Ticker unloader; private Ticker unloader;
@ -30,11 +28,10 @@ public class MantleCleanerSVC extends IrisEngineService {
public void onEnable(boolean hotload) { public void onEnable(boolean hotload) {
if (engine.isStudio() && !IrisSettings.get().getPerformance().trimMantleInStudio) if (engine.isStudio() && !IrisSettings.get().getPerformance().trimMantleInStudio)
return; return;
if (id == -1) id = idCounter.getAndIncrement();
if (trimmer == null || !trimmer.isAlive()) if (trimmer == null || !trimmer.isAlive())
trimmer = createTrimmer(id, engine); trimmer = createTrimmer(engine);
if (unloader == null || !unloader.isAlive()) if (unloader == null || !unloader.isAlive())
unloader = createUnloader(id, engine); unloader = createUnloader(engine);
} }
@Override @Override
@ -57,7 +54,7 @@ public class MantleCleanerSVC extends IrisEngineService {
return tectonicLimit.get(); return tectonicLimit.get();
} }
private static Ticker createTrimmer(int id, Engine engine) { private static Ticker createTrimmer(Engine engine) {
return new Ticker(() -> { return new Ticker(() -> {
if (engine.isClosed()) return -1; if (engine.isClosed()) return -1;
long start = M.ms(); long start = M.ms();
@ -72,10 +69,10 @@ public class MantleCleanerSVC extends IrisEngineService {
if (engine.isClosed()) return -1; if (engine.isClosed()) return -1;
int size = getEngineCount(); int size = getEngineCount();
return Math.max(1000 / size - (M.ms() - start), 0); return Math.max(1000 / size - (M.ms() - start), 0);
}, "Iris Mantle Trimmer-" + id); }, "Iris Mantle Trimmer - " + engine.getWorld().name());
} }
private static Ticker createUnloader(int id, Engine engine) { private static Ticker createUnloader(Engine engine) {
return new Ticker(() -> { return new Ticker(() -> {
if (engine.isClosed()) return -1; if (engine.isClosed()) return -1;
long start = M.ms(); long start = M.ms();
@ -90,7 +87,7 @@ public class MantleCleanerSVC extends IrisEngineService {
if (engine.isClosed()) return -1; if (engine.isClosed()) return -1;
int size = getEngineCount(); int size = getEngineCount();
return Math.max(1000 / size - (M.ms() - start), 0); return Math.max(1000 / size - (M.ms() - start), 0);
}, "Iris Mantle Unloader-" + id); }, "Iris Mantle Unloader - " + engine.getWorld().name());
} }
private static class Ticker extends Looper { private static class Ticker extends Looper {