Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)

Perform proper cleanup after migration

+17 -11
+17 -11
src/main/java/uk/betacraft/uberbukkit/UberbukkitConfig.java
··· 29 29 this.save(); 30 30 } 31 31 32 - private void migrateByKey(String oldKey, String newKey) { 33 - List<String> versionKeys = PoseidonConfig.getInstance().getKeys(oldKey); 34 - if (versionKeys == null) return; 32 + private void migrateSubKeys(String oldKey, String newKey) { 33 + List<String> subKeys = PoseidonConfig.getInstance().getKeys(oldKey); 34 + if (subKeys == null) return; 35 35 36 - for (String key : versionKeys) { 36 + for (String key : subKeys) { 37 37 this.migrateExact(oldKey + "." + key, newKey + "." + key, Object.class); 38 38 } 39 + 40 + PoseidonConfig.getInstance().removeProperty(oldKey); 39 41 } 40 42 41 43 private void migrateExact(String oldKey, String newKey, Class<?> clazz) { ··· 52 54 } 53 55 54 56 private void migrateFromPoseidonConfig() { 55 - migrateByKey("version.mechanics", "mechanics"); 56 - migrateByKey("version.mechanics.boats", "mechanics.boats"); 57 - migrateByKey("version.worldgen", "worldgen"); 58 - migrateByKey("version.worldgen.biomes", "worldgen.biomes"); 59 - migrateByKey("version.worldgen.ores.world", "worldgen.ores.world"); 60 - migrateByKey("version.experimental", "experimental"); 61 - migrateByKey("fix.illegal-container-interaction", "fix.illegal-container-interaction"); 57 + migrateSubKeys("version.mechanics", "mechanics"); 58 + migrateSubKeys("version.mechanics.boats", "mechanics.boats"); 59 + migrateSubKeys("version.worldgen", "worldgen"); 60 + migrateSubKeys("version.worldgen.biomes", "worldgen.biomes"); 61 + migrateSubKeys("version.worldgen.ores.world", "worldgen.ores.world"); 62 + migrateSubKeys("version.experimental", "experimental"); 63 + migrateSubKeys("fix.illegal-container-interaction", "fix.illegal-container-interaction"); 62 64 63 65 migrateExact("settings.exempt-staff-from-flight-kick", Boolean.class); 64 66 migrateExact("version.allow_join.protocol", "client.allowed_protocols.value", String.class); 67 + 68 + PoseidonConfig.getInstance().removeProperty("version"); 69 + 70 + PoseidonConfig.getInstance().save(); 65 71 } 66 72 67 73 private void writeDefaults() {