Introduce Resettable interface

This commit is contained in:
MattBDev
2020-02-16 15:14:34 -05:00
parent efbe1a737d
commit 048974dca5
21 changed files with 100 additions and 181 deletions

View File

@ -266,7 +266,6 @@ public class EditSessionBuilder {
}
private AbstractChangeSet changeTask;
private int maxY;
private Extent bypassHistory;
private Extent bypassAll;
private Extent extent;
@ -409,7 +408,6 @@ public class EditSessionBuilder {
allowedRegions = player.getCurrentRegions();
}
}
this.maxY = world == null ? 255 : world.getMaxY();
FaweRegionExtent regionExtent = null;
if (allowedRegions != null) {
if (allowedRegions.length == 0) {
@ -423,7 +421,7 @@ public class EditSessionBuilder {
}
}
} else {
// this.extent = new HeightBoundExtent(this.extent, this.limit, 0, maxY);
// this.extent = new HeightBoundExtent(this.extent, this.limit, 0, world.getMaxY());
}
IBatchProcessor limitProcessor = regionExtent;
if (limit != null && !limit.isUnlimited()) {
@ -495,7 +493,4 @@ public class EditSessionBuilder {
return blockBag;
}
public int getMaxY() {
return maxY;
}
}

View File

@ -4,16 +4,17 @@ import com.sk89q.worldedit.extent.AbstractDelegateExtent;
import com.sk89q.worldedit.extent.Extent;
import java.lang.reflect.Field;
import org.jetbrains.annotations.NotNull;
public class ExtentTraverser<T extends Extent> {
private T root;
private ExtentTraverser<T> parent;
private final T root;
private final ExtentTraverser<T> parent;
public ExtentTraverser(T root) {
public ExtentTraverser(@NotNull T root) {
this(root, null);
}
public ExtentTraverser(T root, ExtentTraverser<T> parent) {
public ExtentTraverser(@NotNull T root, ExtentTraverser<T> parent) {
this.root = root;
this.parent = parent;
}
@ -61,7 +62,7 @@ public class ExtentTraverser<T extends Extent> {
}
public <U> U findAndGet(Class<U> clazz) {
ExtentTraverser<Extent> traverser = find((Class) clazz);
ExtentTraverser<Extent> traverser = find( clazz);
return (traverser != null) ? (U) traverser.get() : null;
}
@ -104,9 +105,8 @@ public class ExtentTraverser<T extends Extent> {
public ExtentTraverser<T> next() {
try {
if (root instanceof AbstractDelegateExtent) {
Field field = AbstractDelegateExtent.class.getDeclaredField("extent");
field.setAccessible(true);
T value = (T) field.get(root);
AbstractDelegateExtent root = (AbstractDelegateExtent) this.root;
T value = (T) root.getExtent();
if (value == null) {
return null;
}

View File

@ -5,12 +5,12 @@ import java.util.Arrays;
public class FaweTimer implements Runnable {
private final double[] history = new double[]{20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d, 20d};
private int historyIndex = 0;
private int historyIndex;
private long lastPoll = System.currentTimeMillis();
private long tickStart = System.currentTimeMillis();
private final long tickInterval = 5;
private long tick = 0;
private long tickMod = 0;
private long tick;
private long tickMod;
@Override
public void run() {
@ -21,7 +21,7 @@ public class FaweTimer implements Runnable {
} else {
return;
}
long timeSpent = (tickStart - lastPoll);
long timeSpent = tickStart - lastPoll;
if (timeSpent == 0) {
timeSpent = 1;
}
@ -34,15 +34,14 @@ public class FaweTimer implements Runnable {
lastPoll = tickStart;
}
private long lastGetTPSTick = 0;
private long lastGetTPSTick;
private double lastGetTPSValue = 20d;
public double getTPS() {
if (tick < lastGetTPSTick + tickInterval) {
return lastGetTPSValue;
}
double total = 0;
for (double v : history) total += v;
double total = Arrays.stream(history).sum();
lastGetTPSValue = total / history.length;
lastGetTPSTick = tick;
return lastGetTPSValue;

View File

@ -9,6 +9,7 @@ import com.boydti.fawe.util.image.ImageUtil;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.google.gson.stream.JsonReader;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.extent.clipboard.Clipboard;
import com.sk89q.worldedit.function.mask.Mask;
import com.sk89q.worldedit.math.BlockVector3;