Skip to content

Commit 4eb2678

Browse files
committed
Ensure that the iterable won't be iterated twice
1 parent 64eb8b0 commit 4eb2678

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

worldedit-bukkit/adapters/adapter-1.19.4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_19_R3/PaperweightAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.google.common.cache.CacheLoader;
2424
import com.google.common.cache.LoadingCache;
2525
import com.google.common.collect.ImmutableList;
26-
import com.google.common.collect.Iterables;
2726
import com.google.common.collect.Lists;
2827
import com.google.common.collect.Sets;
2928
import com.google.common.util.concurrent.Futures;
@@ -176,6 +175,7 @@
176175
import java.nio.file.Files;
177176
import java.nio.file.Path;
178177
import java.util.ArrayList;
178+
import java.util.Collection;
179179
import java.util.HashMap;
180180
import java.util.List;
181181
import java.util.Locale;
@@ -975,7 +975,7 @@ public boolean generateStructure(StructureType type, World world, EditSession se
975975
public void sendBiomeUpdates(World world, Iterable<BlockVector2> chunks) {
976976
ServerLevel originalWorld = ((CraftWorld) world).getHandle();
977977

978-
List<ChunkAccess> nativeChunks = Lists.newArrayListWithCapacity(Iterables.size(chunks));
978+
List<ChunkAccess> nativeChunks = chunks instanceof Collection<BlockVector2> chunkCollection ? Lists.newArrayListWithCapacity(chunkCollection.size()) : Lists.newArrayList();
979979
for (BlockVector2 chunk : chunks) {
980980
nativeChunks.add(originalWorld.getChunk(chunk.getBlockX(), chunk.getBlockZ(), ChunkStatus.BIOMES, false));
981981
}

worldedit-bukkit/adapters/adapter-1.20.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_20_R2/PaperweightAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.google.common.cache.CacheLoader;
2424
import com.google.common.cache.LoadingCache;
2525
import com.google.common.collect.ImmutableList;
26-
import com.google.common.collect.Iterables;
2726
import com.google.common.collect.Lists;
2827
import com.google.common.collect.Sets;
2928
import com.google.common.util.concurrent.Futures;
@@ -176,6 +175,7 @@
176175
import java.nio.file.Files;
177176
import java.nio.file.Path;
178177
import java.util.ArrayList;
178+
import java.util.Collection;
179179
import java.util.HashMap;
180180
import java.util.List;
181181
import java.util.Locale;
@@ -976,7 +976,7 @@ public boolean generateStructure(StructureType type, World world, EditSession se
976976
public void sendBiomeUpdates(World world, Iterable<BlockVector2> chunks) {
977977
ServerLevel originalWorld = ((CraftWorld) world).getHandle();
978978

979-
List<ChunkAccess> nativeChunks = Lists.newArrayListWithCapacity(Iterables.size(chunks));
979+
List<ChunkAccess> nativeChunks = chunks instanceof Collection<BlockVector2> chunkCollection ? Lists.newArrayListWithCapacity(chunkCollection.size()) : Lists.newArrayList();
980980
for (BlockVector2 chunk : chunks) {
981981
nativeChunks.add(originalWorld.getChunk(chunk.getBlockX(), chunk.getBlockZ(), ChunkStatus.BIOMES, false));
982982
}

worldedit-bukkit/adapters/adapter-1.20/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_20_R1/PaperweightAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.google.common.cache.CacheLoader;
2424
import com.google.common.cache.LoadingCache;
2525
import com.google.common.collect.ImmutableList;
26-
import com.google.common.collect.Iterables;
2726
import com.google.common.collect.Lists;
2827
import com.google.common.collect.Sets;
2928
import com.google.common.util.concurrent.Futures;
@@ -176,6 +175,7 @@
176175
import java.nio.file.Files;
177176
import java.nio.file.Path;
178177
import java.util.ArrayList;
178+
import java.util.Collection;
179179
import java.util.HashMap;
180180
import java.util.List;
181181
import java.util.Locale;
@@ -976,7 +976,7 @@ public boolean generateStructure(StructureType type, World world, EditSession se
976976
public void sendBiomeUpdates(World world, Iterable<BlockVector2> chunks) {
977977
ServerLevel originalWorld = ((CraftWorld) world).getHandle();
978978

979-
List<ChunkAccess> nativeChunks = Lists.newArrayListWithCapacity(Iterables.size(chunks));
979+
List<ChunkAccess> nativeChunks = chunks instanceof Collection<BlockVector2> chunkCollection ? Lists.newArrayListWithCapacity(chunkCollection.size()) : Lists.newArrayList();
980980
for (BlockVector2 chunk : chunks) {
981981
nativeChunks.add(originalWorld.getChunk(chunk.getBlockX(), chunk.getBlockZ(), ChunkStatus.BIOMES, false));
982982
}

worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricWorld.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.google.common.cache.CacheLoader;
2424
import com.google.common.cache.LoadingCache;
2525
import com.google.common.collect.ImmutableList;
26-
import com.google.common.collect.Iterables;
2726
import com.google.common.collect.Lists;
2827
import com.google.common.collect.Sets;
2928
import com.google.common.collect.Streams;
@@ -117,6 +116,7 @@
117116
import java.nio.file.Files;
118117
import java.nio.file.Path;
119118
import java.util.ArrayList;
119+
import java.util.Collection;
120120
import java.util.Collections;
121121
import java.util.HashMap;
122122
import java.util.List;
@@ -530,7 +530,7 @@ public void fixAfterFastMode(Iterable<BlockVector2> chunks) {
530530

531531
@Override
532532
public void sendBiomeUpdates(Iterable<BlockVector2> chunks) {
533-
List<ChunkAccess> nativeChunks = Lists.newArrayListWithCapacity(Iterables.size(chunks));
533+
List<ChunkAccess> nativeChunks = chunks instanceof Collection<BlockVector2> chunkCollection ? Lists.newArrayListWithCapacity(chunkCollection.size()) : Lists.newArrayList();
534534
for (BlockVector2 chunk : chunks) {
535535
nativeChunks.add(getWorld().getChunk(chunk.getBlockX(), chunk.getBlockZ(), ChunkStatus.BIOMES, false));
536536
}

worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeWorld.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.google.common.cache.CacheLoader;
2424
import com.google.common.cache.LoadingCache;
2525
import com.google.common.collect.ImmutableList;
26-
import com.google.common.collect.Iterables;
2726
import com.google.common.collect.Lists;
2827
import com.google.common.collect.Sets;
2928
import com.google.common.collect.Streams;
@@ -115,6 +114,7 @@
115114
import java.nio.file.Files;
116115
import java.nio.file.Path;
117116
import java.util.ArrayList;
117+
import java.util.Collection;
118118
import java.util.HashMap;
119119
import java.util.List;
120120
import java.util.Map;
@@ -512,7 +512,7 @@ public void fixAfterFastMode(Iterable<BlockVector2> chunks) {
512512

513513
@Override
514514
public void sendBiomeUpdates(Iterable<BlockVector2> chunks) {
515-
List<ChunkAccess> nativeChunks = Lists.newArrayListWithCapacity(Iterables.size(chunks));
515+
List<ChunkAccess> nativeChunks = chunks instanceof Collection<BlockVector2> chunkCollection ? Lists.newArrayListWithCapacity(chunkCollection.size()) : Lists.newArrayList();
516516
for (BlockVector2 chunk : chunks) {
517517
nativeChunks.add(getWorld().getChunk(chunk.getBlockX(), chunk.getBlockZ(), ChunkStatus.BIOMES, false));
518518
}

0 commit comments

Comments
 (0)