diff --git a/core/src/main/java/github/nighter/smartspawner/spawner/data/SpawnerFileHandler.java b/core/src/main/java/github/nighter/smartspawner/spawner/data/SpawnerFileHandler.java index 968df9b8..bbf104e8 100644 --- a/core/src/main/java/github/nighter/smartspawner/spawner/data/SpawnerFileHandler.java +++ b/core/src/main/java/github/nighter/smartspawner/spawner/data/SpawnerFileHandler.java @@ -18,6 +18,7 @@ import java.io.File; import java.io.IOException; +import java.math.BigInteger; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger; @@ -380,7 +381,7 @@ private SpawnerData loadSpawnerFromConfig(String spawnerId, boolean logErrors, b spawner.getSpawnerStop().set(Boolean.parseBoolean(settings[3])); spawner.setSpawnDelay(parseClampedLong(settings[4], 1L, Long.MAX_VALUE)); spawner.setMaxSpawnerLootSlots(Integer.parseInt(settings[5])); - spawner.setMaxStoredExp(Integer.parseInt(settings[6])); + spawner.setMaxStoredExp(parseClampedLong(settings[6], 0L, Long.MAX_VALUE)); spawner.setMinMobs(Integer.parseInt(settings[7])); spawner.setMaxMobs(Integer.parseInt(settings[8])); // Load maxStackSize BEFORE stackSize so the saved limit is in place @@ -398,7 +399,7 @@ private SpawnerData loadSpawnerFromConfig(String spawnerId, boolean logErrors, b spawner.getSpawnerStop().set(Boolean.parseBoolean(settings[3])); spawner.setSpawnDelay(parseClampedLong(settings[4], 1L, Long.MAX_VALUE)); spawner.setMaxSpawnerLootSlots(Integer.parseInt(settings[5])); - spawner.setMaxStoredExp(Integer.parseInt(settings[6])); + spawner.setMaxStoredExp(parseClampedLong(settings[6], 0L, Long.MAX_VALUE)); spawner.setMinMobs(Integer.parseInt(settings[7])); spawner.setMaxMobs(Integer.parseInt(settings[8])); spawner.setStackSize(parseClampedInt(settings[9], 1, Integer.MAX_VALUE), restartHopper); @@ -553,9 +554,9 @@ private int parseClampedInt(String raw, int min, int max) { } private long parseClampedLong(String raw, long min, long max) { - java.math.BigInteger value = new java.math.BigInteger(raw); - java.math.BigInteger minValue = java.math.BigInteger.valueOf(min); - java.math.BigInteger maxValue = java.math.BigInteger.valueOf(max); + BigInteger value = new BigInteger(raw); + BigInteger minValue = BigInteger.valueOf(min); + BigInteger maxValue = BigInteger.valueOf(max); if (value.compareTo(minValue) < 0) { return min;