diff --git a/CHANGELOG b/CHANGELOG index cf5aeb0f5..6e2a3dbf9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -98,3 +98,4 @@ - Can now travel on free charter boats without having money in inventory - Emerald and diamond bracelet enchants no longer produce noted items - Prevent furnace temperature from going negative and deduplicate bar handling. +- Fix player saves for players who used coal on the conveyer belt before bf-fixes. diff --git a/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt b/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt index 0408a7dee..df9d56f4f 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt @@ -20,6 +20,8 @@ import rs09.game.system.SystemLogger import rs09.game.world.World import java.io.FileReader import java.util.* +import core.game.node.item.Item; +import org.rs09.consts.Items; /** * Class used for parsing JSON player saves. @@ -379,6 +381,7 @@ class PlayerSaveParser(val player: Player) { bBars?.let{player.blastBars.parse(it)} bOre?.let{player.blastOre.parse(bOre)} bCoal?.let{player.blastCoal.parse(bCoal)} + migrateBlastCoal() player.location = rs09.JSONUtils.parseLocation(location) } @@ -409,5 +412,10 @@ class PlayerSaveParser(val player: Player) { player.settings.parse(settingsData) } - -} \ No newline at end of file + fun migrateBlastCoal() { + val amount = player.blastOre.getAmount(Items.COAL_453) + if(amount > 0 && player.blastOre.remove(Item(Items.COAL_453, amount))) { + player.blastCoal.add(Item(Items.COAL_453, amount)) + } + } +}