Skip to content

Commit 8095111

Browse files
authored
Simplify processor ordering (#2651)
1 parent c68544d commit 8095111

1 file changed

Lines changed: 5 additions & 18 deletions

File tree

worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/processor/MultiBatchProcessor.java

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,9 @@
1919
import javax.annotation.Nullable;
2020
import java.util.ArrayList;
2121
import java.util.Arrays;
22-
import java.util.Collections;
2322
import java.util.HashMap;
24-
import java.util.HashSet;
2523
import java.util.List;
2624
import java.util.Map;
27-
import java.util.Set;
2825
import java.util.concurrent.ConcurrentHashMap;
2926
import java.util.concurrent.Future;
3027
import java.util.function.Supplier;
@@ -80,28 +77,18 @@ public void removeBatchProcessor(IBatchProcessor processor) {
8077

8178
@Override
8279
public IChunkSet processSet(IChunk chunk, IChunkGet get, IChunkSet set) {
83-
Map<Integer, Set<IBatchProcessor>> ordered = new HashMap<>();
80+
Map<Integer, List<IBatchProcessor>> ordered = new HashMap<>();
8481
IChunkSet chunkSet = set;
8582
for (IBatchProcessor processor : processors) {
8683
if (processor.getScope() != ProcessorScope.ADDING_BLOCKS) {
87-
ordered.merge(
88-
processor.getScope().intValue(),
89-
new HashSet<>(Collections.singleton(processor)),
90-
(existing, theNew) -> {
91-
existing.add(processor);
92-
return existing;
93-
}
94-
);
84+
ordered.computeIfAbsent(processor.getScope().intValue(), k -> new ArrayList<>())
85+
.add(processor);
9586
continue;
9687
}
9788
chunkSet = processSet(processor, chunk, get, chunkSet);
9889
}
99-
if (ordered.size() > 0) {
100-
for (int i = 1; i <= 4; i++) {
101-
Set<IBatchProcessor> processors = ordered.get(i);
102-
if (processors == null) {
103-
continue;
104-
}
90+
if (!ordered.isEmpty()) {
91+
for (List<IBatchProcessor> processors : ordered.values()) {
10592
for (IBatchProcessor processor : processors) {
10693
chunkSet = processSet(processor, chunk, get, chunkSet);
10794
if (chunkSet == null) {

0 commit comments

Comments
 (0)