geforkt von Mirrors/FastAsyncWorldEdit
remove mutability in clipboards (particularly clipboard pattern)
fixes #776
Dieser Commit ist enthalten in:
Ursprung
d4c0ab3790
Commit
be44e1449c
@ -116,14 +116,8 @@ public class CPUOptimizedClipboard extends LinearClipboard {
|
||||
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) {
|
||||
return x + ((yLast == y) ? yLastI : (yLastI = (yLast = y) * getArea())) + ((zLast == z) ? zLastI
|
||||
: (zLastI = (zLast = z) * getWidth()));
|
||||
return x + y * getArea() + z * getWidth();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -324,8 +324,7 @@ public class DiskOptimizedClipboard extends LinearClipboard implements Closeable
|
||||
}
|
||||
|
||||
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
|
||||
|
@ -193,13 +193,8 @@ public class MemoryOptimizedClipboard extends LinearClipboard {
|
||||
return nbtMap.values();
|
||||
}
|
||||
|
||||
private int ylast;
|
||||
private int ylasti;
|
||||
private int zlast;
|
||||
private int zlasti;
|
||||
|
||||
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
|
||||
|
@ -32,7 +32,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
public class RepeatingExtentPattern extends AbstractExtentPattern {
|
||||
|
||||
private final BlockVector3 size;
|
||||
private final MutableBlockVector3 mutable;
|
||||
private BlockVector3 origin;
|
||||
private BlockVector3 offset;
|
||||
|
||||
@ -47,7 +46,6 @@ public class RepeatingExtentPattern extends AbstractExtentPattern {
|
||||
setOrigin(origin);
|
||||
setOffset(offset);
|
||||
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 y = Math.abs(position.getY() + offset.getY()) % size.getBlockY() + origin.getY();
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren