fix #62 mobspawning in claims. add an config updater for future uses

This commit is contained in:
Flemmli97 2021-06-21 13:58:39 +02:00
parent 61f459dd7a
commit c090537669
2 changed files with 9 additions and 1 deletions

View File

@ -12,6 +12,7 @@ import io.github.flemmli97.flan.api.ClaimPermission;
import io.github.flemmli97.flan.api.PermissionRegistry;
import io.github.flemmli97.flan.config.Config;
import io.github.flemmli97.flan.config.ConfigHandler;
import io.github.flemmli97.flan.config.ConfigUpdater;
import io.github.flemmli97.flan.player.PlayerClaimData;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectInstance;
@ -99,6 +100,7 @@ public class Claim implements IPermissionContainer {
public static Claim fromJson(JsonObject obj, UUID owner, ServerWorld world) {
Claim claim = new Claim(world);
claim.readJson(obj, owner);
ConfigUpdater.updateClaim(claim);
return claim;
}
@ -233,7 +235,7 @@ public class Claim implements IPermissionContainer {
}
Config.GlobalType global = ConfigHandler.config.getGlobal(this.world, perm);
if (!this.isAdminClaim() && !global.canModify()) {
if (global.getValue() || this.isAdminIgnore(player))
if (global.getValue() || (player != null && this.isAdminIgnore(player)))
return true;
if (message)
player.sendMessage(PermHelper.simpleColoredText(ConfigHandler.lang.noPermissionSimple, Formatting.DARK_RED), true);

View File

@ -63,6 +63,9 @@ public class Config {
public boolean log;
public int configVersion = 1;
public int preConfigVersion;
public Map<String, Map<ClaimPermission, Boolean>> defaultGroups = createHashMap(map -> {
map.put("Co-Owner", createLinkedHashMap(perms -> PermissionRegistry.getPerms().forEach(p -> perms.put(p, true))));
map.put("Visitor", createLinkedHashMap(perms -> {
@ -108,6 +111,7 @@ public class Config {
FileReader reader = new FileReader(this.config);
JsonObject obj = ConfigHandler.GSON.fromJson(reader, JsonObject.class);
reader.close();
this.preConfigVersion = ConfigHandler.fromJson(obj, "configVersion", 0);
this.startingBlocks = ConfigHandler.fromJson(obj, "startingBlocks", this.startingBlocks);
this.maxClaimBlocks = ConfigHandler.fromJson(obj, "maxClaimBlocks", this.maxClaimBlocks);
this.ticksForNextBlock = ConfigHandler.fromJson(obj, "ticksForNextBlock", this.ticksForNextBlock);
@ -175,12 +179,14 @@ public class Config {
} catch (IOException e) {
e.printStackTrace();
}
ConfigUpdater.updateConfig(this.preConfigVersion);
this.save();
}
private void save() {
JsonObject obj = new JsonObject();
obj.addProperty("__comment", "For help with the config refer to https://github.com/Flemmli97/Flan/wiki/Config");
obj.addProperty("configVersion", this.configVersion);
obj.addProperty("startingBlocks", this.startingBlocks);
obj.addProperty("maxClaimBlocks", this.maxClaimBlocks);
obj.addProperty("ticksForNextBlock", this.ticksForNextBlock);