mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 05:06:44 +01:00
fix: load flags after we is initialised (#4186)
* fix: load flags after we is initliased - fixes #4073 - it could be possible to add a callback in the WE initilised event listener, but that overcomplicates it a bit and this is fine tbh * Extract method
This commit is contained in:
parent
f848162066
commit
a30cdb37d6
@ -51,6 +51,8 @@ import com.plotsquared.core.util.MathMan;
|
|||||||
import com.plotsquared.core.util.PlotExpression;
|
import com.plotsquared.core.util.PlotExpression;
|
||||||
import com.plotsquared.core.util.RegionUtil;
|
import com.plotsquared.core.util.RegionUtil;
|
||||||
import com.plotsquared.core.util.StringMan;
|
import com.plotsquared.core.util.StringMan;
|
||||||
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
|
import com.plotsquared.core.util.task.TaskTime;
|
||||||
import com.sk89q.worldedit.math.BlockVector2;
|
import com.sk89q.worldedit.math.BlockVector2;
|
||||||
import com.sk89q.worldedit.math.BlockVector3;
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
import com.sk89q.worldedit.regions.CuboidRegion;
|
import com.sk89q.worldedit.regions.CuboidRegion;
|
||||||
@ -391,6 +393,28 @@ public abstract class PlotArea implements ComponentLike {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.spawnEggs = config.getBoolean("event.spawn.egg");
|
||||||
|
this.spawnCustom = config.getBoolean("event.spawn.custom");
|
||||||
|
this.spawnBreeding = config.getBoolean("event.spawn.breeding");
|
||||||
|
|
||||||
|
if (PlotSquared.get().isWeInitialised()) {
|
||||||
|
loadFlags(config);
|
||||||
|
} else {
|
||||||
|
ConsolePlayer.getConsole().sendMessage(
|
||||||
|
TranslatableCaption.of("flags.delaying_loading_area_flags"),
|
||||||
|
TagResolver.resolver("area", Tag.inserting(Component.text(this.id == null ? this.worldName : this.id)))
|
||||||
|
);
|
||||||
|
TaskManager.runTaskLater(() -> loadFlags(config), TaskTime.ticks(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
loadConfiguration(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadFlags(ConfigurationSection config) {
|
||||||
|
ConsolePlayer.getConsole().sendMessage(
|
||||||
|
TranslatableCaption.of("flags.loading_area_flags"),
|
||||||
|
TagResolver.resolver("area", Tag.inserting(Component.text(this.id == null ? this.worldName : this.id)))
|
||||||
|
);
|
||||||
List<String> flags = config.getStringList("flags.default");
|
List<String> flags = config.getStringList("flags.default");
|
||||||
if (flags.isEmpty()) {
|
if (flags.isEmpty()) {
|
||||||
flags = config.getStringList("flags");
|
flags = config.getStringList("flags");
|
||||||
@ -411,10 +435,6 @@ public abstract class PlotArea implements ComponentLike {
|
|||||||
TagResolver.resolver("flags", Tag.inserting(Component.text(flags.toString())))
|
TagResolver.resolver("flags", Tag.inserting(Component.text(flags.toString())))
|
||||||
);
|
);
|
||||||
|
|
||||||
this.spawnEggs = config.getBoolean("event.spawn.egg");
|
|
||||||
this.spawnCustom = config.getBoolean("event.spawn.custom");
|
|
||||||
this.spawnBreeding = config.getBoolean("event.spawn.breeding");
|
|
||||||
|
|
||||||
List<String> roadflags = config.getStringList("road.flags");
|
List<String> roadflags = config.getStringList("road.flags");
|
||||||
if (roadflags.isEmpty()) {
|
if (roadflags.isEmpty()) {
|
||||||
roadflags = new ArrayList<>();
|
roadflags = new ArrayList<>();
|
||||||
@ -426,14 +446,12 @@ public abstract class PlotArea implements ComponentLike {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.roadFlags = roadflags.size() > 0;
|
this.roadFlags = !roadflags.isEmpty();
|
||||||
parseFlags(this.getRoadFlagContainer(), roadflags);
|
parseFlags(this.getRoadFlagContainer(), roadflags);
|
||||||
ConsolePlayer.getConsole().sendMessage(
|
ConsolePlayer.getConsole().sendMessage(
|
||||||
TranslatableCaption.of("flags.road_flags"),
|
TranslatableCaption.of("flags.road_flags"),
|
||||||
TagResolver.resolver("flags", Tag.inserting(Component.text(roadflags.toString())))
|
TagResolver.resolver("flags", Tag.inserting(Component.text(roadflags.toString())))
|
||||||
);
|
);
|
||||||
|
|
||||||
loadConfiguration(config);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void loadConfiguration(ConfigurationSection config);
|
public abstract void loadConfiguration(ConfigurationSection config);
|
||||||
|
@ -632,6 +632,8 @@
|
|||||||
"flags.flag_error_double": "Flag value must be a decimal number.",
|
"flags.flag_error_double": "Flag value must be a decimal number.",
|
||||||
"flags.flag_error_music": "Flag value must be a valid music disc ID.",
|
"flags.flag_error_music": "Flag value must be a valid music disc ID.",
|
||||||
"flags.flag_error_title": "Flag value must be in the format </red><grey>\"A title\" \"The subtitle\"</grey><red>.",
|
"flags.flag_error_title": "Flag value must be in the format </red><grey>\"A title\" \"The subtitle\"</grey><red>.",
|
||||||
|
"flags.delaying_loading_area_flags": "<prefix><gray>Delaying loading flags for area `</gray><dark_aqua><area></dark_aqua><gray>` as WorldEdit is not initialised yet.</gray>",
|
||||||
|
"flags.loading_area_flags": "<prefix><gray>Loading flags for area: </gray><dark_aqua><area></dark_aqua>",
|
||||||
"flags.area_flags": "<prefix><gray>Area flags: </gray><dark_aqua><flags></dark_aqua>",
|
"flags.area_flags": "<prefix><gray>Area flags: </gray><dark_aqua><flags></dark_aqua>",
|
||||||
"flags.road_flags": "<prefix><gray>Road flags: </gray><dark_aqua><flags></dark_aqua>",
|
"flags.road_flags": "<prefix><gray>Road flags: </gray><dark_aqua><flags></dark_aqua>",
|
||||||
"commands.description.add": "<gray>Allow a user to build in a plot while the plot owner is online.</gray>",
|
"commands.description.add": "<gray>Allow a user to build in a plot while the plot owner is online.</gray>",
|
||||||
|
Loading…
Reference in New Issue
Block a user