From c090537669375bcfe66a06e43d10d3b2d6bd6a33 Mon Sep 17 00:00:00 2001 From: Flemmli97 Date: Mon, 21 Jun 2021 13:58:39 +0200 Subject: [PATCH] fix #62 mobspawning in claims. add an config updater for future uses --- .../src/main/java/io/github/flemmli97/flan/claim/Claim.java | 4 +++- .../main/java/io/github/flemmli97/flan/config/Config.java | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java index b8f61c7..188f0b4 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java @@ -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); diff --git a/common/src/main/java/io/github/flemmli97/flan/config/Config.java b/common/src/main/java/io/github/flemmli97/flan/config/Config.java index 8ab58dd..6bf9298 100644 --- a/common/src/main/java/io/github/flemmli97/flan/config/Config.java +++ b/common/src/main/java/io/github/flemmli97/flan/config/Config.java @@ -63,6 +63,9 @@ public class Config { public boolean log; + public int configVersion = 1; + public int preConfigVersion; + public Map> 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);