From 10a057bab522cdc89284763fa14d6883b751347d Mon Sep 17 00:00:00 2001
From: Len <40720638+destro174@users.noreply.github.com>
Date: Sun, 11 Feb 2024 16:18:56 +0100
Subject: [PATCH] Tweak IslandLevel upgrades
---
.../com/alttd/cometskyblock/island/gui/UpgradesGUI.java | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
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);