diff --git a/src/main/java/com/recursive_pineapple/matter_manipulator/common/items/manipulator/MMState.java b/src/main/java/com/recursive_pineapple/matter_manipulator/common/items/manipulator/MMState.java index cf98b1e..2acabd1 100644 --- a/src/main/java/com/recursive_pineapple/matter_manipulator/common/items/manipulator/MMState.java +++ b/src/main/java/com/recursive_pineapple/matter_manipulator/common/items/manipulator/MMState.java @@ -17,6 +17,7 @@ import net.minecraftforge.common.util.ForgeDirection; +import com.recursive_pineapple.matter_manipulator.MMMod; import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; import gregtech.common.blocks.BlockMachines; @@ -138,7 +139,7 @@ public MMState clone() { } private static void migrateJson(JsonObject obj) { - int version = obj.has("jv") ? obj.get("jv").getAsInt() : 0; + int version = obj.has("jv") ? obj.get("jv").getAsInt() : 2; if (version == 0) { if (obj.get("config") instanceof JsonObject config) { @@ -155,11 +156,15 @@ private static void migrateJson(JsonObject obj) { } if (version == 1) { - // Load with the default encoder - BitSet bitSet = new Gson().fromJson(obj.get("installedUpgrades"), BitSet.class); - - // Save with the new encoder - obj.add("installedUpgrades", GSON.toJsonTree(bitSet)); + try { + // Load with the default encoder + BitSet bitSet = new Gson().fromJson(obj.get("installedUpgrades"), BitSet.class); + + // Save with the new encoder + obj.add("installedUpgrades", GSON.toJsonTree(bitSet)); + } catch (Throwable t) { + MMMod.LOG.error("Could not migrate installedUpgrades: your MM upgrades may have been deleted.", t); + } version = 2; }