diff --git a/plugin/src/main/java/com/alttd/cometskyblock/island/gui/UpgradesGUI.java b/plugin/src/main/java/com/alttd/cometskyblock/island/gui/UpgradesGUI.java index 12121a3..97d43c4 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/island/gui/UpgradesGUI.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/island/gui/UpgradesGUI.java @@ -53,6 +53,7 @@ public class UpgradesGUI extends GUIInventory { } island.cobblegenLevel(island.cobblegenLevel() + 1); player.sendRichMessage(islandMessages.cobbeGen().upgraded(), Placeholder.parsed("level", "" + island.cobblegenLevel() + "")); + player.closeInventory(); decorate(player); })); // Level @@ -62,11 +63,13 @@ public class UpgradesGUI extends GUIInventory { "" + Experience.getExpToNextIslandLevel(island.level()) + " experience required to level up!" ),event -> { int xp = Experience.getExpToNextIslandLevel(island.level()); - if (player.getTotalExperience() < xp) { + if (player.getLevel() >= 0 && player.getTotalExperience() < xp) { player.sendRichMessage(islandMessages.level().requiredXp(), Placeholder.parsed("requiredxp", "" + xp + "")); return; } - Experience.changeExp(player, - xp); + int totalExperience = player.getTotalExperience(); + player.setTotalExperience(totalExperience - xp); + player.setExperienceLevelAndProgress(totalExperience - xp); island.level(island.level() + 1); player.sendRichMessage(islandMessages.level().upgraded()); decorate(player);