mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-23 01:37:37 +00:00
Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15
This commit is contained in:
commit
508d595b8d
@ -104,7 +104,7 @@ public final class BukkitAdapter_1_15_2 extends NMSAdapter {
|
||||
}
|
||||
|
||||
protected static DelegateLock applyLock(ChunkSection section) {
|
||||
//todo there has to be a better way to do this. Maybe using a() in DataPaletteBlock which aquires the lock in NMS?
|
||||
//todo there has to be a better way to do this. Maybe using a() in DataPaletteBlock which acquires the lock in NMS?
|
||||
try {
|
||||
synchronized (section) {
|
||||
DataPaletteBlock<IBlockData> blocks = section.getBlocks();
|
||||
|
@ -167,7 +167,7 @@ public abstract class QueueHandler implements Trimable, Runnable {
|
||||
return sync(call, syncTasks);
|
||||
}
|
||||
|
||||
// Lower priorty sync task (runs only when there are no other tasks)
|
||||
// Lower priority sync task (runs only when there are no other tasks)
|
||||
public <T> Future<T> syncWhenFree(Runnable run, T value) {
|
||||
return sync(run, value, syncWhenFree);
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ public abstract class ReadOnlyClipboard extends SimpleClipboard {
|
||||
if (current.getWorld().equals(world)) {
|
||||
return current;
|
||||
}
|
||||
throw new UnsupportedOperationException("TODO: Cannot lazy copy accross worlds (bug jesse)");
|
||||
throw new UnsupportedOperationException("TODO: Cannot lazy copy across worlds (bug jesse)");
|
||||
}
|
||||
throw new IllegalStateException("No world");
|
||||
};
|
||||
|
@ -100,7 +100,7 @@ public class SparseBitSet implements Cloneable, Serializable
|
||||
bits (setting, flipping, clearing, etc.) do not attempt to normalize the
|
||||
set, in the interests of speed. However, when a set is scanned as the
|
||||
resultant set of some operation, then, in most cases, the set will be
|
||||
normalized--the exception being level2 areas that are not completly scanned
|
||||
normalized--the exception being level2 areas that are not completely scanned
|
||||
in a particular pass.
|
||||
|
||||
The sizes of the blocks and areas has been the result of some investigation
|
||||
@ -338,8 +338,8 @@ public class SparseBitSet implements Cloneable, Serializable
|
||||
* needed actions to initialise the bit set.
|
||||
* <p>
|
||||
* The capacity is taken to be a <i>suggestion</i> for a size of the bit set,
|
||||
* in bits. An appropiate table size (a power of two) is then determined and
|
||||
* used. The size will be grown as needed to accomodate any bits addressed
|
||||
* in bits. An appropriate table size (a power of two) is then determined and
|
||||
* used. The size will be grown as needed to accommodate any bits addressed
|
||||
* during the use of the bit set.
|
||||
*
|
||||
* @param capacity a size in terms of bits
|
||||
@ -530,7 +530,7 @@ public class SparseBitSet implements Cloneable, Serializable
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a bit set from thie first <code>SparseBitSet</code> whose
|
||||
* Creates a bit set from the first <code>SparseBitSet</code> whose
|
||||
* corresponding bits are cleared by the set bits of the second
|
||||
* <code>SparseBitSet</code>. The resulting bit set is created so that a bit
|
||||
* in it has the value <code>true</code> if and only if the corresponding bit
|
||||
@ -1669,7 +1669,7 @@ public class SparseBitSet implements Cloneable, Serializable
|
||||
}
|
||||
|
||||
/**
|
||||
* Intializes all the additional objects required for correct operation.
|
||||
* Initializes all the additional objects required for correct operation.
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
|
@ -513,11 +513,11 @@ public class MainUtil {
|
||||
}
|
||||
try (FileInputStream fIn = new FileInputStream(sourceFile); FileChannel source = fIn.getChannel();
|
||||
FileOutputStream fOut = new FileOutputStream(destFile); FileChannel destination = fOut.getChannel()) {
|
||||
long transfered = 0;
|
||||
long transferred = 0;
|
||||
long bytes = source.size();
|
||||
while (transfered < bytes) {
|
||||
transfered += destination.transferFrom(source, 0, source.size());
|
||||
destination.position(transfered);
|
||||
while (transferred < bytes) {
|
||||
transferred += destination.transferFrom(source, 0, source.size());
|
||||
destination.position(transferred);
|
||||
}
|
||||
}
|
||||
return destFile;
|
||||
|
@ -131,13 +131,13 @@ public class ReflectionUtils {
|
||||
}
|
||||
}
|
||||
|
||||
public static <T> T callConstructor(Constructor<T> constructor, Object... paramaters) {
|
||||
public static <T> T callConstructor(Constructor<T> constructor, Object... parameters) {
|
||||
if (constructor == null) {
|
||||
throw new RuntimeException("No such constructor");
|
||||
}
|
||||
constructor.setAccessible(true);
|
||||
try {
|
||||
return constructor.newInstance(paramaters);
|
||||
return constructor.newInstance(parameters);
|
||||
} catch (InvocationTargetException ex) {
|
||||
throw new RuntimeException(ex.getCause());
|
||||
} catch (Exception ex) {
|
||||
|
@ -37,7 +37,7 @@ public class ReflectionUtils9 {
|
||||
// 3. build new enum
|
||||
T newValue = (T) makeEnum(enumType, // The target enum class
|
||||
enumName, // THE NEW ENUM INSTANCE TO BE DYNAMICALLY ADDED
|
||||
values.size()); // can be used to pass values to the enum constuctor
|
||||
values.size()); // can be used to pass values to the enum constructor
|
||||
|
||||
// 4. add new value
|
||||
values.add(newValue);
|
||||
|
@ -72,7 +72,7 @@ public final class NBTUtils {
|
||||
} else if (clazz.equals(LongArrayTag.class)) {
|
||||
return "TAG_Long_Array";
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid tag classs ("
|
||||
throw new IllegalArgumentException("Invalid tag class ("
|
||||
+ clazz.getName() + ").");
|
||||
}
|
||||
}
|
||||
@ -112,7 +112,7 @@ public final class NBTUtils {
|
||||
} else if (clazz.equals(LongArrayTag.class)) {
|
||||
return NBTConstants.TYPE_LONG_ARRAY;
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid tag classs ("
|
||||
throw new IllegalArgumentException("Invalid tag class ("
|
||||
+ clazz.getName() + ").");
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ public final class StringUtil {
|
||||
/**
|
||||
* Trim a string if it is longer than a certain length.
|
||||
*
|
||||
* @param str the stirng
|
||||
* @param str the string
|
||||
* @param len the length to trim to
|
||||
* @return a new string
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import com.sk89q.worldedit.event.Event;
|
||||
|
||||
/**
|
||||
* Fired when configuration has been loaded and the platform is in the
|
||||
* intialization stage.
|
||||
* initialization stage.
|
||||
*
|
||||
* <p>This event is fired once.</p>
|
||||
*/
|
||||
|
@ -84,7 +84,7 @@ class CompilingVisitor extends ExpressionBaseVisitor<MethodHandle> {
|
||||
* General idea is that we don't need to pass around variables, they're all in ExecutionData.
|
||||
* We do need to pass that around, so most MethodHandles will be of the type
|
||||
* (ExecutionData)Double, with a few as (ExecutionData,Double)Double where it needs an existing
|
||||
* value passed in. EVERY handle returned from an overriden method must be of the first type.
|
||||
* value passed in. EVERY handle returned from an overridden method must be of the first type.
|
||||
*/
|
||||
private final Functions functions;
|
||||
|
||||
|
@ -212,4 +212,12 @@ public abstract class AbstractRegion extends AbstractSet<BlockVector3> implement
|
||||
return chunks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int worldHash = this.world == null ? 7 : this.world.hashCode();
|
||||
int result = worldHash ^ (worldHash >>> 32);
|
||||
result = 31 * result + this.getMinimumPoint().hashCode();
|
||||
result = 31 * result + this.getMaximumPoint().hashCode();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user