From 27bd791f5c643593a7251e78b9810f2db7e97e3d Mon Sep 17 00:00:00 2001 From: Lucas Cosolo Date: Sat, 6 Jun 2020 08:48:31 -0500 Subject: [PATCH] Show amount of levels player can receive from accepting xp offers. --- pom.xml | 17 ++++++++++++++--- .../java/com/trophonix/tradeplus/TradePlus.java | 8 +++++++- .../tradeplus/extras/ExperienceExtra.java | 9 ++++++++- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 1304aa8..93c1fe2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,11 +6,11 @@ com.trophonix TradePlus - 3.70 + 3.71 ${project.basedir}/res/ - 3.70 + 3.71 @@ -105,7 +105,7 @@ org.projectlombok lombok - 1.18.6 + 1.18.12 provided @@ -204,6 +204,17 @@ + + org.projectlombok + lombok-maven-plugin + 1.18.12.0 + + + generate-sources + + + + org.apache.maven.plugins maven-compiler-plugin diff --git a/src/main/java/com/trophonix/tradeplus/TradePlus.java b/src/main/java/com/trophonix/tradeplus/TradePlus.java index 0ec3d9d..82add61 100644 --- a/src/main/java/com/trophonix/tradeplus/TradePlus.java +++ b/src/main/java/com/trophonix/tradeplus/TradePlus.java @@ -349,7 +349,7 @@ private void loadConfig() { config.set( "extras.experience.material", Sounds.version < 113 ? "exp_bottle" : "experience_bottle"); config.set("extras.experience.display", "&aYour current XP offer is &2%AMOUNT%"); - config.set("extras.experience.theirdisplay", "&aTheir current XP offer is &2%AMOUNT%"); + config.set("extras.experience.theirdisplay", "&aTheir current XP offer is &2%AMOUNT% &a(+%LEVELS% levels)"); config.set( "extras.experience.lore", Arrays.asList("&fClick to edit your offer!", "&fYou have %BALANCE% XP.")); @@ -1038,6 +1038,12 @@ private void loadConfig() { config.set("extras.votingplugin.taxpercent", 0); } + if (configVersion < 3.71) { + if (!config.getString("extras.experience.theirdisplay").contains("%LEVELS%")) { + config.set("extras.experience.theirdisplay", config.getString("extras.experience.theirdisplay", "&aTheir current XP offer is &2%AMOUNT%") + " &a(+%LEVELS% levels)"); + } + } + } } } diff --git a/src/main/java/com/trophonix/tradeplus/extras/ExperienceExtra.java b/src/main/java/com/trophonix/tradeplus/extras/ExperienceExtra.java index 194e4a6..15d5faf 100644 --- a/src/main/java/com/trophonix/tradeplus/extras/ExperienceExtra.java +++ b/src/main/java/com/trophonix/tradeplus/extras/ExperienceExtra.java @@ -54,7 +54,14 @@ public ItemStack _getIcon(Player player) { @Override public ItemStack _getTheirIcon(Player player) { return ItemFactory.replaceInMeta( - theirIcon, "%AMOUNT%", decimalFormat.format(player.equals(player1) ? value1 : value2)); + theirIcon, "%AMOUNT%", decimalFormat.format(player.equals(player1) ? value1 : value2), + "%LEVELS%", Integer.toString(player.equals(player1) ? getLevelsFromXp(player2, value1) : getLevelsFromXp(player1, value2))); + } + + private int getLevelsFromXp(Player receiver, double amount) { + int currentXp = XP.getExp(receiver); + double currentLevel = XP.getLevelFromExp(currentXp); + return (int)(XP.getLevelFromExp(currentXp + (int)amount) - currentLevel); } private void changeXp(Player player, Number amount) {