3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-07 20:10:06 +01:00

remove mutability in clipboards (particularly clipboard pattern)

fixes #776
Dieser Commit ist enthalten in:
dordsor21 2020-12-11 11:34:56 +00:00
Ursprung d4c0ab3790
Commit be44e1449c
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 1E53E88969FFCF0B
4 geänderte Dateien mit 4 neuen und 18 gelöschten Zeilen

Datei anzeigen

@ -116,14 +116,8 @@ public class CPUOptimizedClipboard extends LinearClipboard {
return nbtMapIndex.get(index); return nbtMapIndex.get(index);
} }
private int yLast;
private int yLastI;
private int zLast;
private int zLastI;
public int getIndex(int x, int y, int z) { public int getIndex(int x, int y, int z) {
return x + ((yLast == y) ? yLastI : (yLastI = (yLast = y) * getArea())) + ((zLast == z) ? zLastI return x + y * getArea() + z * getWidth();
: (zLastI = (zLast = z) * getWidth()));
} }
@Override @Override

Datei anzeigen

@ -324,8 +324,7 @@ public class DiskOptimizedClipboard extends LinearClipboard implements Closeable
} }
public int getIndex(int x, int y, int z) { public int getIndex(int x, int y, int z) {
return x + (ylast == y ? ylasti : (ylasti = (ylast = y) * getArea())) + (zlast == z return x + y * getArea() + z * getWidth();
? zlasti : (zlasti = (zlast = z) * getWidth()));
} }
@Override @Override

Datei anzeigen

@ -193,13 +193,8 @@ public class MemoryOptimizedClipboard extends LinearClipboard {
return nbtMap.values(); return nbtMap.values();
} }
private int ylast;
private int ylasti;
private int zlast;
private int zlasti;
public int getIndex(int x, int y, int z) { public int getIndex(int x, int y, int z) {
return x + ((ylast == y) ? ylasti : (ylasti = (ylast = y) * getArea())) + ((zlast == z) ? zlasti : (zlasti = (zlast = z) * getWidth())); return x + y * getArea() + z * getWidth();
} }
@Override @Override

Datei anzeigen

@ -32,7 +32,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
public class RepeatingExtentPattern extends AbstractExtentPattern { public class RepeatingExtentPattern extends AbstractExtentPattern {
private final BlockVector3 size; private final BlockVector3 size;
private final MutableBlockVector3 mutable;
private BlockVector3 origin; private BlockVector3 origin;
private BlockVector3 offset; private BlockVector3 offset;
@ -47,7 +46,6 @@ public class RepeatingExtentPattern extends AbstractExtentPattern {
setOrigin(origin); setOrigin(origin);
setOffset(offset); setOffset(offset);
size = extent.getMaximumPoint().subtract(extent.getMinimumPoint()).add(1, 1, 1); size = extent.getMaximumPoint().subtract(extent.getMinimumPoint()).add(1, 1, 1);
this.mutable = new MutableBlockVector3();
} }
/** /**
@ -93,7 +91,7 @@ public class RepeatingExtentPattern extends AbstractExtentPattern {
int x = Math.abs(position.getX() + offset.getX()) % size.getBlockX() + origin.getX(); int x = Math.abs(position.getX() + offset.getX()) % size.getBlockX() + origin.getX();
int y = Math.abs(position.getY() + offset.getY()) % size.getBlockY() + origin.getY(); int y = Math.abs(position.getY() + offset.getY()) % size.getBlockY() + origin.getY();
int z = Math.abs(position.getZ() + offset.getZ()) % size.getBlockZ() + origin.getZ(); int z = Math.abs(position.getZ() + offset.getZ()) % size.getBlockZ() + origin.getZ();
return getExtent().getFullBlock(mutable.setComponents(x, y, z)); return getExtent().getFullBlock(x, y, z);
} }
} }