geforkt von Mirrors/Paper
Do not create unneccessary callback in ChunkTaskScheduler#scheduleChunkLoad
If the parameter has addTicket = false and onComplete = null, then the loadCallback would do no work and as a result does not need to be created.
Dieser Commit ist enthalten in:
Ursprung
989fd77808
Commit
f7086a34b5
@ -8831,7 +8831,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ this.chunkHolderManager.processTicketUpdates();
|
+ this.chunkHolderManager.processTicketUpdates();
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ final Consumer<ChunkAccess> loadCallback = (final ChunkAccess chunk) -> {
|
+ final Consumer<ChunkAccess> loadCallback = onComplete == null && !addTicket ? null : (final ChunkAccess chunk) -> {
|
||||||
+ try {
|
+ try {
|
||||||
+ if (onComplete != null) {
|
+ if (onComplete != null) {
|
||||||
+ onComplete.accept(chunk);
|
+ onComplete.accept(chunk);
|
||||||
@ -8868,7 +8868,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ if (!chunkHolder.upgradeGenTarget(toStatus)) {
|
+ if (!chunkHolder.upgradeGenTarget(toStatus)) {
|
||||||
+ this.schedule(chunkX, chunkZ, toStatus, chunkHolder, tasks);
|
+ this.schedule(chunkX, chunkZ, toStatus, chunkHolder, tasks);
|
||||||
+ }
|
+ }
|
||||||
+ chunkHolder.addStatusConsumer(toStatus, loadCallback);
|
+ if (loadCallback != null) {
|
||||||
|
+ chunkHolder.addStatusConsumer(toStatus, loadCallback);
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ } finally {
|
+ } finally {
|
||||||
@ -8882,7 +8884,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ tasks.get(i).schedule();
|
+ tasks.get(i).schedule();
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (!scheduled) {
|
+ if (loadCallback != null && !scheduled) {
|
||||||
+ // couldn't schedule
|
+ // couldn't schedule
|
||||||
+ try {
|
+ try {
|
||||||
+ loadCallback.accept(chunk);
|
+ loadCallback.accept(chunk);
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren