Skip to content

Commit 2d21c75

Browse files
committed
Clean up some more duplication
1 parent 0efd9ed commit 2d21c75

File tree

8 files changed

+61
-286
lines changed

8 files changed

+61
-286
lines changed

worldedit-bukkit/adapters/adapter-1_20_2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R2/PaperweightGetBlocks.java

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fastasyncworldedit.bukkit.adapter.AbstractBukkitGetBlocks;
44
import com.fastasyncworldedit.bukkit.adapter.DelegateSemaphore;
5-
import com.fastasyncworldedit.core.Fawe;
65
import com.fastasyncworldedit.core.FaweCache;
76
import com.fastasyncworldedit.core.configuration.Settings;
87
import com.fastasyncworldedit.core.extent.processor.heightmap.HeightMapType;
@@ -11,7 +10,6 @@
1110
import com.fastasyncworldedit.core.math.IntPair;
1211
import com.fastasyncworldedit.core.nbt.FaweCompoundTag;
1312
import com.fastasyncworldedit.core.queue.IChunkSet;
14-
import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
1513
import com.fastasyncworldedit.core.util.MathMan;
1614
import com.fastasyncworldedit.core.util.NbtUtils;
1715
import com.fastasyncworldedit.core.util.collection.AdaptedMap;
@@ -81,7 +79,6 @@
8179
import java.util.Map;
8280
import java.util.Set;
8381
import java.util.UUID;
84-
import java.util.concurrent.Callable;
8582
import java.util.concurrent.CompletableFuture;
8683
import java.util.concurrent.ExecutionException;
8784
import java.util.concurrent.Future;
@@ -783,45 +780,8 @@ protected <T extends Future<T>> T internalCall(
783780
}
784781
};
785782
}
786-
if (syncTasks != null) {
787-
QueueHandler queueHandler = Fawe.instance().getQueueHandler();
788-
Runnable[] finalSyncTasks = syncTasks;
789-
790-
// Chain the sync tasks and the callback
791-
Callable<Future<?>> chain = () -> {
792-
try {
793-
// Run the sync tasks
794-
for (Runnable task : finalSyncTasks) {
795-
if (task != null) {
796-
task.run();
797-
}
798-
}
799-
if (callback == null) {
800-
if (finalizer != null) {
801-
queueHandler.async(finalizer, null);
802-
}
803-
return null;
804-
} else {
805-
return queueHandler.async(callback, null);
806-
}
807-
} catch (Throwable e) {
808-
LOGGER.error("Error performing final chunk calling at {},{}", chunkX, chunkZ, e);
809-
throw e;
810-
}
811-
};
812-
//noinspection unchecked - required at compile time
813-
return (T) (Future) queueHandler.sync(chain);
814-
} else {
815-
if (callback == null) {
816-
if (finalizer != null) {
817-
finalizer.run();
818-
}
819-
} else {
820-
callback.run();
821-
}
822-
}
783+
return handleCallFinalizer(syncTasks, callback, finalizer);
823784
}
824-
return null;
825785
}
826786

827787
private void updateGet(
@@ -853,18 +813,6 @@ private void updateGet(
853813
this.blocks[layer] = arr;
854814
}
855815

856-
private char[] loadPrivately(int layer) {
857-
layer -= getMinSectionPosition();
858-
if (super.sections[layer] != null) {
859-
synchronized (super.sectionLocks[layer]) {
860-
if (super.sections[layer].isFull() && super.blocks[layer] != null) {
861-
return super.blocks[layer];
862-
}
863-
}
864-
}
865-
return PaperweightGetBlocks.this.update(layer, null, true);
866-
}
867-
868816
@Override
869817
public void send() {
870818
synchronized (sendLock) {

worldedit-bukkit/adapters/adapter-1_20_4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R3/PaperweightGetBlocks.java

Lines changed: 2 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fastasyncworldedit.bukkit.adapter.AbstractBukkitGetBlocks;
44
import com.fastasyncworldedit.bukkit.adapter.DelegateSemaphore;
5-
import com.fastasyncworldedit.core.Fawe;
65
import com.fastasyncworldedit.core.FaweCache;
76
import com.fastasyncworldedit.core.configuration.Settings;
87
import com.fastasyncworldedit.core.extent.processor.heightmap.HeightMapType;
@@ -11,7 +10,6 @@
1110
import com.fastasyncworldedit.core.math.IntPair;
1211
import com.fastasyncworldedit.core.nbt.FaweCompoundTag;
1312
import com.fastasyncworldedit.core.queue.IChunkSet;
14-
import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
1513
import com.fastasyncworldedit.core.util.MathMan;
1614
import com.fastasyncworldedit.core.util.NbtUtils;
1715
import com.fastasyncworldedit.core.util.collection.AdaptedMap;
@@ -81,9 +79,7 @@
8179
import java.util.Map;
8280
import java.util.Set;
8381
import java.util.UUID;
84-
import java.util.concurrent.Callable;
8582
import java.util.concurrent.CompletableFuture;
86-
import java.util.concurrent.ConcurrentHashMap;
8783
import java.util.concurrent.ExecutionException;
8884
import java.util.concurrent.Future;
8985
import java.util.concurrent.Semaphore;
@@ -107,10 +103,9 @@ public class PaperweightGetBlocks extends AbstractBukkitGetBlocks<ServerLevel, L
107103
private final ReadWriteLock sectionLock = new ReentrantReadWriteLock();
108104
private final Registry<Biome> biomeRegistry;
109105
private final IdMap<Holder<Biome>> biomeHolderIdMap;
110-
private final ConcurrentHashMap<Integer, PaperweightGetBlocks_Copy> copies = new ConcurrentHashMap<>();
111106
private final Object sendLock = new Object();
112-
private LevelChunkSection[] sections;
113107
private LevelChunk levelChunk;
108+
private LevelChunkSection[] sections;
114109
private DataLayer[] blockLight;
115110
private DataLayer[] skyLight;
116111
private boolean lightUpdate = false;
@@ -121,8 +116,6 @@ public PaperweightGetBlocks(World world, int chunkX, int chunkZ) {
121116

122117
public PaperweightGetBlocks(ServerLevel serverLevel, int chunkX, int chunkZ) {
123118
super(serverLevel, chunkX, chunkZ, serverLevel.getMinBuildHeight(), serverLevel.getMaxBuildHeight() - 1);
124-
this.minSectionPosition = minHeight >> 4;
125-
this.maxSectionPosition = maxHeight >> 4;
126119
this.skyLight = new DataLayer[getSectionCount()];
127120
this.blockLight = new DataLayer[getSectionCount()];
128121
this.biomeRegistry = serverLevel.registryAccess().registryOrThrow(BIOME);
@@ -788,45 +781,8 @@ protected <T extends Future<T>> T internalCall(
788781
}
789782
};
790783
}
791-
if (syncTasks != null) {
792-
QueueHandler queueHandler = Fawe.instance().getQueueHandler();
793-
Runnable[] finalSyncTasks = syncTasks;
794-
795-
// Chain the sync tasks and the callback
796-
Callable<Future> chain = () -> {
797-
try {
798-
// Run the sync tasks
799-
for (Runnable task : finalSyncTasks) {
800-
if (task != null) {
801-
task.run();
802-
}
803-
}
804-
if (callback == null) {
805-
if (finalizer != null) {
806-
queueHandler.async(finalizer, null);
807-
}
808-
return null;
809-
} else {
810-
return queueHandler.async(callback, null);
811-
}
812-
} catch (Throwable e) {
813-
LOGGER.error("Error performing final chunk calling at {},{}", chunkX, chunkZ, e);
814-
throw e;
815-
}
816-
};
817-
//noinspection unchecked - required at compile time
818-
return (T) (Future) queueHandler.sync(chain);
819-
} else {
820-
if (callback == null) {
821-
if (finalizer != null) {
822-
finalizer.run();
823-
}
824-
} else {
825-
callback.run();
826-
}
827-
}
784+
return handleCallFinalizer(syncTasks, callback, finalizer);
828785
}
829-
return null;
830786
}
831787

832788
private void updateGet(
@@ -858,18 +814,6 @@ private void updateGet(
858814
this.blocks[layer] = arr;
859815
}
860816

861-
private char[] loadPrivately(int layer) {
862-
layer -= getMinSectionPosition();
863-
if (super.sections[layer] != null) {
864-
synchronized (super.sectionLocks[layer]) {
865-
if (super.sections[layer].isFull() && super.blocks[layer] != null) {
866-
return super.blocks[layer];
867-
}
868-
}
869-
}
870-
return PaperweightGetBlocks.this.update(layer, null, true);
871-
}
872-
873817
@Override
874818
public void send() {
875819
synchronized (sendLock) {

worldedit-bukkit/adapters/adapter-1_20_5/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R4/PaperweightGetBlocks.java

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fastasyncworldedit.bukkit.adapter.AbstractBukkitGetBlocks;
44
import com.fastasyncworldedit.bukkit.adapter.DelegateSemaphore;
5-
import com.fastasyncworldedit.core.Fawe;
65
import com.fastasyncworldedit.core.FaweCache;
76
import com.fastasyncworldedit.core.configuration.Settings;
87
import com.fastasyncworldedit.core.extent.processor.heightmap.HeightMapType;
@@ -11,7 +10,6 @@
1110
import com.fastasyncworldedit.core.math.IntPair;
1211
import com.fastasyncworldedit.core.nbt.FaweCompoundTag;
1312
import com.fastasyncworldedit.core.queue.IChunkSet;
14-
import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
1513
import com.fastasyncworldedit.core.util.MathMan;
1614
import com.fastasyncworldedit.core.util.NbtUtils;
1715
import com.fastasyncworldedit.core.util.collection.AdaptedMap;
@@ -82,7 +80,6 @@
8280
import java.util.Map;
8381
import java.util.Set;
8482
import java.util.UUID;
85-
import java.util.concurrent.Callable;
8683
import java.util.concurrent.CompletableFuture;
8784
import java.util.concurrent.ExecutionException;
8885
import java.util.concurrent.Future;
@@ -785,45 +782,8 @@ protected <T extends Future<T>> T internalCall(
785782
}
786783
};
787784
}
788-
if (syncTasks != null) {
789-
QueueHandler queueHandler = Fawe.instance().getQueueHandler();
790-
Runnable[] finalSyncTasks = syncTasks;
791-
792-
// Chain the sync tasks and the callback
793-
Callable<Future> chain = () -> {
794-
try {
795-
// Run the sync tasks
796-
for (Runnable task : finalSyncTasks) {
797-
if (task != null) {
798-
task.run();
799-
}
800-
}
801-
if (callback == null) {
802-
if (finalizer != null) {
803-
queueHandler.async(finalizer, null);
804-
}
805-
return null;
806-
} else {
807-
return queueHandler.async(callback, null);
808-
}
809-
} catch (Throwable e) {
810-
LOGGER.error("Error performing final chunk calling at {},{}", chunkX, chunkZ, e);
811-
throw e;
812-
}
813-
};
814-
//noinspection unchecked - required at compile time
815-
return (T) (Future) queueHandler.sync(chain);
816-
} else {
817-
if (callback == null) {
818-
if (finalizer != null) {
819-
finalizer.run();
820-
}
821-
} else {
822-
callback.run();
823-
}
824-
}
785+
return handleCallFinalizer(syncTasks, callback, finalizer);
825786
}
826-
return null;
827787
}
828788

829789
private void updateGet(
@@ -855,18 +815,6 @@ private void updateGet(
855815
this.blocks[layer] = arr;
856816
}
857817

858-
private char[] loadPrivately(int layer) {
859-
layer -= getMinSectionPosition();
860-
if (super.sections[layer] != null) {
861-
synchronized (super.sectionLocks[layer]) {
862-
if (super.sections[layer].isFull() && super.blocks[layer] != null) {
863-
return super.blocks[layer];
864-
}
865-
}
866-
}
867-
return PaperweightGetBlocks.this.update(layer, null, true);
868-
}
869-
870818
@Override
871819
public void send() {
872820
synchronized (sendLock) {

worldedit-bukkit/adapters/adapter-1_21/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_21_R1/PaperweightGetBlocks.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -850,18 +850,6 @@ private void updateGet(
850850
this.blocks[layer] = arr;
851851
}
852852

853-
private char[] loadPrivately(int layer) {
854-
layer -= getMinSectionPosition();
855-
if (super.sections[layer] != null) {
856-
synchronized (super.sectionLocks[layer]) {
857-
if (super.sections[layer].isFull() && super.blocks[layer] != null) {
858-
return super.blocks[layer];
859-
}
860-
}
861-
}
862-
return PaperweightGetBlocks.this.update(layer, null, true);
863-
}
864-
865853
@Override
866854
public void send() {
867855
synchronized (sendLock) {

0 commit comments

Comments
 (0)