fix: restore full WorldGuard flags support, default only block-break=allow
This commit is contained in:
parent
b80fefa6a4
commit
bfdf197de4
5 changed files with 42 additions and 32 deletions
|
|
@ -23,7 +23,7 @@ public final class WorldGuardConfigLoader {
|
|||
|
||||
/**
|
||||
* Parses WorldGuard configuration from YAML.
|
||||
* Simplified: only block-break flag.
|
||||
* Supports any WorldGuard flags. Default: block-break=allow.
|
||||
*/
|
||||
public WorldGuardConfig parse(YamlConfiguration yaml) {
|
||||
ConfigurationSection wgSection = yaml.getConfigurationSection("worldguard");
|
||||
|
|
@ -55,10 +55,14 @@ public final class WorldGuardConfigLoader {
|
|||
members = defaults.getStringList("worldguard.members");
|
||||
}
|
||||
|
||||
// Simplified: only block-break flag
|
||||
// allow = все могут ломать, deny = никто не может, -g non_members = только владельцы
|
||||
String blockBreak = yaml.getString("worldguard.block-break",
|
||||
defaults.getString("worldguard.block-break", "allow"));
|
||||
// Support any WorldGuard flags. Default: only block-break=allow
|
||||
List<String> flags = yaml.getStringList("worldguard.flags");
|
||||
if (flags.isEmpty()) {
|
||||
flags = defaults.getStringList("worldguard.flags");
|
||||
}
|
||||
if (flags.isEmpty()) {
|
||||
flags = List.of("block-break=allow");
|
||||
}
|
||||
|
||||
boolean protect = yaml.getBoolean("worldguard.protect-on-create",
|
||||
defaults.getBoolean("worldguard.protect-on-create", true));
|
||||
|
|
@ -68,7 +72,7 @@ public final class WorldGuardConfigLoader {
|
|||
.template(template)
|
||||
.owners(owners)
|
||||
.members(members)
|
||||
.blockBreak(blockBreak)
|
||||
.flags(flags)
|
||||
.protectOnCreate(protect)
|
||||
.build();
|
||||
}
|
||||
|
|
@ -83,21 +87,21 @@ public final class WorldGuardConfigLoader {
|
|||
yaml.set("worldguard.region-template", config.regionNameTemplate());
|
||||
yaml.set("worldguard.owners", config.owners());
|
||||
yaml.set("worldguard.members", config.members());
|
||||
yaml.set("worldguard.block-break", config.blockBreak());
|
||||
yaml.set("worldguard.flags", config.flags());
|
||||
yaml.set("worldguard.protect-on-create", config.protectOnCreate());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets default values for WorldGuard configuration.
|
||||
* Simplified: only block-break flag.
|
||||
* Default: only block-break=allow. User can add any flags.
|
||||
*/
|
||||
public void setDefaults(YamlConfiguration yaml) {
|
||||
yaml.set("worldguard.enabled", false);
|
||||
yaml.set("worldguard.region-template", "{mine_name}_{random_4}");
|
||||
yaml.set("worldguard.owners", List.of());
|
||||
yaml.set("worldguard.members", List.of());
|
||||
yaml.set("worldguard.block-break", "allow"); // allow = все могут ломать
|
||||
yaml.set("worldguard.flags", List.of("block-break=allow"));
|
||||
yaml.set("worldguard.protect-on-create", true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue