geforkt von Mirrors/FastAsyncWorldEdit
Code cleanup.
Dieser Commit ist enthalten in:
Ursprung
e0fd804f70
Commit
ae8becafdd
@ -246,7 +246,7 @@ public final class StringUtil {
|
|||||||
int i; // iterates through s
|
int i; // iterates through s
|
||||||
int j; // iterates through t
|
int j; // iterates through t
|
||||||
|
|
||||||
char t_j; // jth character of t
|
char tj; // jth character of t
|
||||||
|
|
||||||
int cost; // cost
|
int cost; // cost
|
||||||
|
|
||||||
@ -255,11 +255,11 @@ public final class StringUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (j = 1; j <= m; ++j) {
|
for (j = 1; j <= m; ++j) {
|
||||||
t_j = t.charAt(j - 1);
|
tj = t.charAt(j - 1);
|
||||||
d[0] = j;
|
d[0] = j;
|
||||||
|
|
||||||
for (i = 1; i <= n; ++i) {
|
for (i = 1; i <= n; ++i) {
|
||||||
cost = s.charAt(i - 1) == t_j ? 0 : 1;
|
cost = s.charAt(i - 1) == tj ? 0 : 1;
|
||||||
// minimum of cell to the left+1, to the top+1, diagonally left
|
// minimum of cell to the left+1, to the top+1, diagonally left
|
||||||
// and up +cost
|
// and up +cost
|
||||||
d[i] = Math.min(Math.min(d[i - 1] + 1, p[i] + 1), p[i - 1]
|
d[i] = Math.min(Math.min(d[i - 1] + 1, p[i] + 1), p[i - 1]
|
||||||
|
@ -650,8 +650,8 @@ public class LocalSession {
|
|||||||
*
|
*
|
||||||
* @param CUIVersion
|
* @param CUIVersion
|
||||||
*/
|
*/
|
||||||
public void setCUIVersion(int CUIVersion) {
|
public void setCUIVersion(int cuiVersion) {
|
||||||
this.cuiVersion = CUIVersion;
|
this.cuiVersion = cuiVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -209,16 +209,16 @@ public final class Operators {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Usable AlmostEqual function, based on http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
|
// Usable AlmostEqual function, based on http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
|
||||||
private static boolean almostEqual2sComplement(double A, double B, long maxUlps) {
|
private static boolean almostEqual2sComplement(double a, double b, long maxUlps) {
|
||||||
// Make sure maxUlps is non-negative and small enough that the
|
// Make sure maxUlps is non-negative and small enough that the
|
||||||
// default NAN won't compare as equal to anything.
|
// default NAN won't compare as equal to anything.
|
||||||
//assert(maxUlps > 0 && maxUlps < 4 * 1024 * 1024); // this is for floats, not doubles
|
//assert(maxUlps > 0 && maxUlps < 4 * 1024 * 1024); // this is for floats, not doubles
|
||||||
|
|
||||||
long aLong = Double.doubleToRawLongBits(A);
|
long aLong = Double.doubleToRawLongBits(a);
|
||||||
// Make aLong lexicographically ordered as a twos-complement long
|
// Make aLong lexicographically ordered as a twos-complement long
|
||||||
if (aLong < 0) aLong = 0x8000000000000000L - aLong;
|
if (aLong < 0) aLong = 0x8000000000000000L - aLong;
|
||||||
|
|
||||||
long bLong = Double.doubleToRawLongBits(B);
|
long bLong = Double.doubleToRawLongBits(b);
|
||||||
// Make bLong lexicographically ordered as a twos-complement long
|
// Make bLong lexicographically ordered as a twos-complement long
|
||||||
if (bLong < 0) bLong = 0x8000000000000000L - bLong;
|
if (bLong < 0) bLong = 0x8000000000000000L - bLong;
|
||||||
|
|
||||||
|
@ -37,6 +37,12 @@ public final class DocumentationPrinter {
|
|||||||
private DocumentationPrinter() {
|
private DocumentationPrinter() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates documentation.
|
||||||
|
*
|
||||||
|
* @param args arguments
|
||||||
|
* @throws IOException thrown on I/O error
|
||||||
|
*/
|
||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws IOException {
|
||||||
File commandsDir = new File(args[0]);
|
File commandsDir = new File(args[0]);
|
||||||
|
|
||||||
@ -96,7 +102,7 @@ public final class DocumentationPrinter {
|
|||||||
try {
|
try {
|
||||||
stream = new FileOutputStream("wiki_permissions.txt");
|
stream = new FileOutputStream("wiki_permissions.txt");
|
||||||
PrintStream print = new PrintStream(stream);
|
PrintStream print = new PrintStream(stream);
|
||||||
_writePermissionsWikiTable(print, commandClasses, "/");
|
writePermissionsWikiTable(print, commandClasses, "/");
|
||||||
} finally {
|
} finally {
|
||||||
if (stream != null) {
|
if (stream != null) {
|
||||||
stream.close();
|
stream.close();
|
||||||
@ -104,7 +110,7 @@ public final class DocumentationPrinter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void _writePermissionsWikiTable(PrintStream stream,
|
private static void writePermissionsWikiTable(PrintStream stream,
|
||||||
List<Class<?>> commandClasses, String prefix) {
|
List<Class<?>> commandClasses, String prefix) {
|
||||||
|
|
||||||
for (Class<?> cls : commandClasses) {
|
for (Class<?> cls : commandClasses) {
|
||||||
@ -162,7 +168,7 @@ public final class DocumentationPrinter {
|
|||||||
method.getAnnotation(NestedCommand.class);
|
method.getAnnotation(NestedCommand.class);
|
||||||
|
|
||||||
Class<?>[] nestedClasses = nested.value();
|
Class<?>[] nestedClasses = nested.value();
|
||||||
_writePermissionsWikiTable(stream,
|
writePermissionsWikiTable(stream,
|
||||||
Arrays.asList(nestedClasses),
|
Arrays.asList(nestedClasses),
|
||||||
prefix + cmd.aliases()[0] + " ");
|
prefix + cmd.aliases()[0] + " ");
|
||||||
}
|
}
|
||||||
@ -176,7 +182,7 @@ public final class DocumentationPrinter {
|
|||||||
try {
|
try {
|
||||||
stream = new FileOutputStream("plugin.yml");
|
stream = new FileOutputStream("plugin.yml");
|
||||||
PrintStream print = new PrintStream(stream);
|
PrintStream print = new PrintStream(stream);
|
||||||
_writeBukkitYAML(print);
|
writeBukkitYAML(print);
|
||||||
} finally {
|
} finally {
|
||||||
if (stream != null) {
|
if (stream != null) {
|
||||||
stream.close();
|
stream.close();
|
||||||
@ -184,7 +190,7 @@ public final class DocumentationPrinter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void _writeBukkitYAML(PrintStream stream) {
|
private static void writeBukkitYAML(PrintStream stream) {
|
||||||
|
|
||||||
stream.println("name: WorldEdit");
|
stream.println("name: WorldEdit");
|
||||||
stream.println("main: com.sk89q.worldedit.bukkit.WorldEditPlugin");
|
stream.println("main: com.sk89q.worldedit.bukkit.WorldEditPlugin");
|
||||||
|
@ -128,8 +128,8 @@ public class HeightMap {
|
|||||||
int newHeight = Math.min(maxY, data[index]);
|
int newHeight = Math.min(maxY, data[index]);
|
||||||
|
|
||||||
// Offset x,z to be 'real' coordinates
|
// Offset x,z to be 'real' coordinates
|
||||||
int X = x + originX;
|
int xr = x + originX;
|
||||||
int Z = z + originZ;
|
int zr = z + originZ;
|
||||||
|
|
||||||
// We are keeping the topmost blocks so take that in account for the scale
|
// We are keeping the topmost blocks so take that in account for the scale
|
||||||
double scale = (double) (curHeight - originY) / (double) (newHeight - originY);
|
double scale = (double) (curHeight - originY) / (double) (newHeight - originY);
|
||||||
@ -137,18 +137,18 @@ public class HeightMap {
|
|||||||
// Depending on growing or shrinking we need to start at the bottom or top
|
// Depending on growing or shrinking we need to start at the bottom or top
|
||||||
if (newHeight > curHeight) {
|
if (newHeight > curHeight) {
|
||||||
// Set the top block of the column to be the same type (this might go wrong with rounding)
|
// Set the top block of the column to be the same type (this might go wrong with rounding)
|
||||||
BaseBlock existing = session.getBlock(new Vector(X, curHeight, Z));
|
BaseBlock existing = session.getBlock(new Vector(xr, curHeight, zr));
|
||||||
|
|
||||||
// Skip water/lava
|
// Skip water/lava
|
||||||
if (existing.getType() != BlockID.WATER && existing.getType() != BlockID.STATIONARY_WATER
|
if (existing.getType() != BlockID.WATER && existing.getType() != BlockID.STATIONARY_WATER
|
||||||
&& existing.getType() != BlockID.LAVA && existing.getType() != BlockID.STATIONARY_LAVA) {
|
&& existing.getType() != BlockID.LAVA && existing.getType() != BlockID.STATIONARY_LAVA) {
|
||||||
session.setBlock(new Vector(X, newHeight, Z), existing);
|
session.setBlock(new Vector(xr, newHeight, zr), existing);
|
||||||
++blocksChanged;
|
++blocksChanged;
|
||||||
|
|
||||||
// Grow -- start from 1 below top replacing airblocks
|
// Grow -- start from 1 below top replacing airblocks
|
||||||
for (int y = newHeight - 1 - originY; y >= 0; --y) {
|
for (int y = newHeight - 1 - originY; y >= 0; --y) {
|
||||||
int copyFrom = (int) (y * scale);
|
int copyFrom = (int) (y * scale);
|
||||||
session.setBlock(new Vector(X, originY + y, Z), session.getBlock(new Vector(X, originY + copyFrom, Z)));
|
session.setBlock(new Vector(xr, originY + y, zr), session.getBlock(new Vector(xr, originY + copyFrom, zr)));
|
||||||
++blocksChanged;
|
++blocksChanged;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,18 +156,18 @@ public class HeightMap {
|
|||||||
// Shrink -- start from bottom
|
// Shrink -- start from bottom
|
||||||
for (int y = 0; y < newHeight - originY; ++y) {
|
for (int y = 0; y < newHeight - originY; ++y) {
|
||||||
int copyFrom = (int) (y * scale);
|
int copyFrom = (int) (y * scale);
|
||||||
session.setBlock(new Vector(X, originY + y, Z), session.getBlock(new Vector(X, originY + copyFrom, Z)));
|
session.setBlock(new Vector(xr, originY + y, zr), session.getBlock(new Vector(xr, originY + copyFrom, zr)));
|
||||||
++blocksChanged;
|
++blocksChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the top block of the column to be the same type
|
// Set the top block of the column to be the same type
|
||||||
// (this could otherwise go wrong with rounding)
|
// (this could otherwise go wrong with rounding)
|
||||||
session.setBlock(new Vector(X, newHeight, Z), session.getBlock(new Vector(X, curHeight, Z)));
|
session.setBlock(new Vector(xr, newHeight, zr), session.getBlock(new Vector(xr, curHeight, zr)));
|
||||||
++blocksChanged;
|
++blocksChanged;
|
||||||
|
|
||||||
// Fill rest with air
|
// Fill rest with air
|
||||||
for (int y = newHeight + 1; y <= curHeight; ++y) {
|
for (int y = newHeight + 1; y <= curHeight; ++y) {
|
||||||
session.setBlock(new Vector(X, y, Z), fillerAir);
|
session.setBlock(new Vector(xr, y, zr), fillerAir);
|
||||||
++blocksChanged;
|
++blocksChanged;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ public class Snapshot implements Comparable<Snapshot> {
|
|||||||
* @throws DataException
|
* @throws DataException
|
||||||
*/
|
*/
|
||||||
public ChunkStore getChunkStore() throws IOException, DataException {
|
public ChunkStore getChunkStore() throws IOException, DataException {
|
||||||
ChunkStore chunkStore = _getChunkStore();
|
ChunkStore chunkStore = internalGetChunkStore();
|
||||||
|
|
||||||
logger.info("WorldEdit: Using " + chunkStore.getClass().getCanonicalName()
|
logger.info("WorldEdit: Using " + chunkStore.getClass().getCanonicalName()
|
||||||
+ " for loading snapshot '" + file.getAbsolutePath() + "'");
|
+ " for loading snapshot '" + file.getAbsolutePath() + "'");
|
||||||
@ -83,7 +83,7 @@ public class Snapshot implements Comparable<Snapshot> {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
* @throws DataException
|
* @throws DataException
|
||||||
*/
|
*/
|
||||||
public ChunkStore _getChunkStore() throws IOException, DataException {
|
private ChunkStore internalGetChunkStore() throws IOException, DataException {
|
||||||
if (file.getName().toLowerCase().endsWith(".zip")) {
|
if (file.getName().toLowerCase().endsWith(".zip")) {
|
||||||
try {
|
try {
|
||||||
ChunkStore chunkStore = new TrueZipMcRegionChunkStore(file);
|
ChunkStore chunkStore = new TrueZipMcRegionChunkStore(file);
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren