Fix BauServer Performance

This commit is contained in:
2025-10-03 09:13:32 +02:00
parent 566a7deee3
commit 88cc06560e
4 changed files with 20 additions and 9 deletions
@@ -183,11 +183,6 @@ public class RegionListener implements Listener {
private static void tagChangedRegion(final Location location) { private static void tagChangedRegion(final Location location) {
new BukkitRunnable() { Region.getRegion(location).getFlags().set(Flag.CHANGED, ChangedMode.HAS_CHANGE);
@Override
public void run() {
Region.getRegion(location).getFlags().set(Flag.CHANGED, ChangedMode.HAS_CHANGE);
}
}.runTaskAsynchronously(BauSystem.getInstance());
} }
} }
@@ -29,6 +29,9 @@ public interface FlagStorage {
@NonNull @NonNull
<T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> flag); <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); <T extends Enum<T> & Flag.Value<T>> boolean set(@NonNull Flag<T> flag, @NonNull T value);
@NonNull @NonNull
@@ -66,9 +66,12 @@ public class FixedFlagStorage implements FlagStorage {
@Override @Override
public <T extends Enum<T> & Flag.Value<T>> boolean set(@NonNull Flag<T> flag, @NonNull T value) { public <T extends Enum<T> & Flag.Value<T>> boolean set(@NonNull Flag<T> flag, @NonNull T value) {
if (has(flag).isWritable()) { if (has(flag).isWritable()) {
data.put(flag.name(), value.name()); boolean hasChanged = flagMap.put(flag, value) != value;
WorldData.write(); if (hasChanged) {
return flagMap.put(flag, value) != value; data.put(flag.name(), value.name());
WorldData.write();
}
return hasChanged;
} else { } else {
return false; return false;
} }
+10
View File
@@ -50,6 +50,14 @@ class DevServer extends DefaultTask {
@Optional @Optional
String checkpointFolder = null String checkpointFolder = null
@Input
@Optional
Boolean profile = null
@Input
@Optional
Boolean forceUpgrade = null
DevServer() { DevServer() {
super() super()
doFirst { doFirst {
@@ -157,6 +165,8 @@ class DevServer extends DefaultTask {
if (port != null) devPy.append(" --port $port") if (port != null) devPy.append(" --port $port")
if (worldName != null) devPy.append(" -w $template/$worldName") if (worldName != null) devPy.append(" -w $template/$worldName")
if (plugins != null) devPy.append(" -p $plugins") 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") if (jar != null) devPy.append(" --jar $jar")
for (Map.Entry<String, String> dParam : dParams.entrySet()) { for (Map.Entry<String, String> dParam : dParams.entrySet()) {
devPy.append(" -D${dParam.key}=${dParam.value}") devPy.append(" -D${dParam.key}=${dParam.value}")