forked from SteamWar/SteamWar
Fix BauServer Performance
This commit is contained in:
+1
-6
@@ -183,11 +183,6 @@ public class RegionListener implements Listener {
|
||||
|
||||
|
||||
private static void tagChangedRegion(final Location location) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Region.getRegion(location).getFlags().set(Flag.CHANGED, ChangedMode.HAS_CHANGE);
|
||||
}
|
||||
}.runTaskAsynchronously(BauSystem.getInstance());
|
||||
Region.getRegion(location).getFlags().set(Flag.CHANGED, ChangedMode.HAS_CHANGE);
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,9 @@ public interface FlagStorage {
|
||||
@NonNull
|
||||
<T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> flag);
|
||||
|
||||
/**
|
||||
* Returns true if the flag was changed and did not already contain the provided value
|
||||
*/
|
||||
<T extends Enum<T> & Flag.Value<T>> boolean set(@NonNull Flag<T> flag, @NonNull T value);
|
||||
|
||||
@NonNull
|
||||
|
||||
+6
-3
@@ -66,9 +66,12 @@ public class FixedFlagStorage implements FlagStorage {
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean set(@NonNull Flag<T> flag, @NonNull T value) {
|
||||
if (has(flag).isWritable()) {
|
||||
data.put(flag.name(), value.name());
|
||||
WorldData.write();
|
||||
return flagMap.put(flag, value) != value;
|
||||
boolean hasChanged = flagMap.put(flag, value) != value;
|
||||
if (hasChanged) {
|
||||
data.put(flag.name(), value.name());
|
||||
WorldData.write();
|
||||
}
|
||||
return hasChanged;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -50,6 +50,14 @@ class DevServer extends DefaultTask {
|
||||
@Optional
|
||||
String checkpointFolder = null
|
||||
|
||||
@Input
|
||||
@Optional
|
||||
Boolean profile = null
|
||||
|
||||
@Input
|
||||
@Optional
|
||||
Boolean forceUpgrade = null
|
||||
|
||||
DevServer() {
|
||||
super()
|
||||
doFirst {
|
||||
@@ -157,6 +165,8 @@ class DevServer extends DefaultTask {
|
||||
if (port != null) devPy.append(" --port $port")
|
||||
if (worldName != null) devPy.append(" -w $template/$worldName")
|
||||
if (plugins != null) devPy.append(" -p $plugins")
|
||||
if (profile != null) devPy.append(" --profile")
|
||||
if (forceUpgrade != null) devPy.append(" --forceUpgrade")
|
||||
if (jar != null) devPy.append(" --jar $jar")
|
||||
for (Map.Entry<String, String> dParam : dParams.entrySet()) {
|
||||
devPy.append(" -D${dParam.key}=${dParam.value}")
|
||||
|
||||
Reference in New Issue
Block a user