From a8626e4eb95b9f8f3cb1b255f51035b9715af3ce Mon Sep 17 00:00:00 2001 From: yaohunya <1763917516@qq.com> Date: Mon, 28 Jul 2025 20:30:53 +0800 Subject: [PATCH] 2.2.2 --- lib/DemonVipSystem.jar | Bin 0 -> 49650 bytes .../me/Demon/DemonLevels/LevelExpansion.java | 8 ++- src/main/java/me/Demon/DemonLevels/Main.java | 1 + .../me/Demon/DemonLevels/command/MainCmd.java | 16 +++--- .../me/Demon/DemonLevels/data/PlayerData.java | 1 - .../Demon/DemonLevels/listener/JoinEvent.java | 2 +- .../Demon/DemonLevels/manage/MobsManage.java | 10 ++-- .../me/Demon/DemonLevels/util/GameUtil.java | 49 ------------------ 8 files changed, 21 insertions(+), 66 deletions(-) create mode 100644 lib/DemonVipSystem.jar delete mode 100644 src/main/java/me/Demon/DemonLevels/util/GameUtil.java diff --git a/lib/DemonVipSystem.jar b/lib/DemonVipSystem.jar new file mode 100644 index 0000000000000000000000000000000000000000..acc95223dc7940bf4209f1233df3536194d21976 GIT binary patch literal 49650 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 $=jN}Z9S5059rsKtmmFf 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 BbIt$& literal 0 HcmV?d00001 diff --git a/src/main/java/me/Demon/DemonLevels/LevelExpansion.java b/src/main/java/me/Demon/DemonLevels/LevelExpansion.java index 7db3180..a71434a 100644 --- a/src/main/java/me/Demon/DemonLevels/LevelExpansion.java +++ b/src/main/java/me/Demon/DemonLevels/LevelExpansion.java @@ -1,6 +1,7 @@ package me.Demon.DemonLevels; import me.Demon.DemonLevels.api.DLevelAPI; +import me.Demon.DemonLevels.manage.ServerManage; import me.clip.placeholderapi.expansion.PlaceholderExpansion; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -44,7 +45,9 @@ public class LevelExpansion extends PlaceholderExpansion { @Override public String onPlaceholderRequest(Player player, String indentifier) { - if (indentifier.equalsIgnoreCase("expbl")) { + if (indentifier.equalsIgnoreCase("prefix")) { + return DLevelAPI.getRankTitle(player.getLevel()); + }else if (indentifier.equalsIgnoreCase("expbl")) { if(Main.serverManage.getExpMultiplicity() <= 1.0){ return "0.00"; } @@ -96,6 +99,9 @@ public class LevelExpansion extends PlaceholderExpansion { } // 如果剩余经验小于 1,000,000,直接格式化为 "x.xxx" return new DecimalFormat(",###.##").format(remainingExp); + }else if(indentifier.equalsIgnoreCase("dexp")){ + ServerManage serverManage = Main.serverManage; + return String.format("%.1f", serverManage.getExpMultiplicity() * 100)+"%"; } return ""; } diff --git a/src/main/java/me/Demon/DemonLevels/Main.java b/src/main/java/me/Demon/DemonLevels/Main.java index 685b445..81f9449 100644 --- a/src/main/java/me/Demon/DemonLevels/Main.java +++ b/src/main/java/me/Demon/DemonLevels/Main.java @@ -41,6 +41,7 @@ public class Main extends JavaPlugin { } DemonAPI.sendConsoleMessage("§f[§6!§f] §aDemonLevels §f加载完成,祝你使用愉快!"); DemonAPI.sendConsoleMessage("§f[§6!§f] §b极光像素工作室出品"); + } diff --git a/src/main/java/me/Demon/DemonLevels/command/MainCmd.java b/src/main/java/me/Demon/DemonLevels/command/MainCmd.java index 3d7e430..32910fa 100644 --- a/src/main/java/me/Demon/DemonLevels/command/MainCmd.java +++ b/src/main/java/me/Demon/DemonLevels/command/MainCmd.java @@ -5,7 +5,7 @@ import me.Demon.DemonLevels.Main; import me.Demon.DemonLevels.api.DLevelAPI; import me.Demon.DemonLevels.data.PlayerData; import me.Demon.DemonLevels.manage.ServerManage; -import me.Demon.DemonLevels.util.GameUtil; +import me.Demon.DemonLevels.util.ConvertUtil; import me.Demon.DemonPlugin.DemonAPI; import org.bukkit.Bukkit; import org.bukkit.Sound; @@ -14,8 +14,6 @@ import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import java.math.BigInteger; -import java.time.*; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -56,17 +54,17 @@ public class MainCmd implements CommandExecutor , TabCompleter { } if(args[0].equalsIgnoreCase("dexp")){ if(args.length >= 2){ - double doubleExp = GameUtil.convertDouble(args[1]); + double doubleExp = ConvertUtil.convertDouble(args[1]); long defaultTime = 7 * 24 * 60 * 60 * 1000L; // 默认开启经验倍率时间7天 if(args.length >= 3){ - defaultTime = GameUtil.convertInt(args[2]) * 60 * 60 * 1000L; + defaultTime = ConvertUtil.convertInt(args[2]) * 60 * 60 * 1000L; } long expMultipleTime = System.currentTimeMillis() + defaultTime; // 本次经验倍率持续时间 if(doubleExp >= 1.1) { Main.serverManage.setExpMultiplicity(doubleExp,expMultipleTime); for (Player p : Bukkit.getOnlinePlayers()) { DemonAPI.sendMessage(p, "当前经验获取倍率为: §e§l"+doubleExp*100+"%"); - p.sendTitle("§d§l"+doubleExp*100+"%","§f持续时间: §a"+GameUtil.formatTime(defaultTime)); + p.sendTitle("§d§l"+doubleExp*100+"%","§f持续时间: §a"+ ConvertUtil.formatTime(defaultTime)); p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1); } } @@ -76,10 +74,10 @@ public class MainCmd implements CommandExecutor , TabCompleter { if(args[0].equalsIgnoreCase("kmob")){ if(args.length >= 3){ String mobKey = args[1]; - int min = GameUtil.convertInt(args[2]); + int min = ConvertUtil.convertInt(args[2]); int max = min; if(args.length == 4){ - max = GameUtil.convertInt(args[3]); + max = ConvertUtil.convertInt(args[3]); Main.configYml.setKillsExp(mobKey,min,max); DemonAPI.sendMessage(sender,"成功设置 §6"+mobKey+" §a经验掉落为: §d"+min+"§a~§d"+max); }else{ @@ -97,7 +95,7 @@ public class MainCmd implements CommandExecutor , TabCompleter { return true; } Player player = Bukkit.getPlayer(name); - int value = GameUtil.convertInt(args[2]); + int value = ConvertUtil.convertInt(args[2]); if(args[0].equalsIgnoreCase("give")){ if(player == null) { DemonAPI.sendMessage(sender,"目标玩家不在线."); diff --git a/src/main/java/me/Demon/DemonLevels/data/PlayerData.java b/src/main/java/me/Demon/DemonLevels/data/PlayerData.java index 68450d1..fc780ea 100644 --- a/src/main/java/me/Demon/DemonLevels/data/PlayerData.java +++ b/src/main/java/me/Demon/DemonLevels/data/PlayerData.java @@ -27,7 +27,6 @@ public class PlayerData { this.exp = new BigInteger(expString); String totalExpString = fileConfiguration.getString("totalExp"); this.totalExp = new BigInteger(totalExpString); - } public String getUuid() { diff --git a/src/main/java/me/Demon/DemonLevels/listener/JoinEvent.java b/src/main/java/me/Demon/DemonLevels/listener/JoinEvent.java index 9ee3d46..d3b6860 100644 --- a/src/main/java/me/Demon/DemonLevels/listener/JoinEvent.java +++ b/src/main/java/me/Demon/DemonLevels/listener/JoinEvent.java @@ -32,7 +32,7 @@ public class JoinEvent implements Listener { DLevelAPI.setTotalExp(p,bigInteger); } } - }.runTaskLater(Main.plugin,100L); + }.runTaskLater(Main.plugin,40L); } @EventHandler diff --git a/src/main/java/me/Demon/DemonLevels/manage/MobsManage.java b/src/main/java/me/Demon/DemonLevels/manage/MobsManage.java index db5b92c..bb96f42 100644 --- a/src/main/java/me/Demon/DemonLevels/manage/MobsManage.java +++ b/src/main/java/me/Demon/DemonLevels/manage/MobsManage.java @@ -1,7 +1,7 @@ package me.Demon.DemonLevels.manage; import me.Demon.DemonLevels.Main; -import me.Demon.DemonLevels.util.GameUtil; +import me.Demon.DemonLevels.util.ConvertUtil; import me.Demon.DemonLevels.util.RandomUtil; import org.bukkit.configuration.file.FileConfiguration; @@ -16,12 +16,12 @@ public class MobsManage { String expString = yml.getString("MobKillExp."+mmKey); if(expString.contains("~")){ String[] strings = expString.split("~"); - minExp = GameUtil.convertInt(strings[0]); - maxExp = GameUtil.convertInt(strings[1]); + minExp = ConvertUtil.convertInt(strings[0]); + maxExp = ConvertUtil.convertInt(strings[1]); randomModel = true; }else{ - minExp = GameUtil.convertInt(expString); - maxExp = GameUtil.convertInt(expString); + minExp = ConvertUtil.convertInt(expString); + maxExp = ConvertUtil.convertInt(expString); } if(Main.Debug){ System.out.println("[调试 - 等级] MM生物: "+mmKey+" Min: "+this.minExp+" Max: "+this.maxExp); diff --git a/src/main/java/me/Demon/DemonLevels/util/GameUtil.java b/src/main/java/me/Demon/DemonLevels/util/GameUtil.java deleted file mode 100644 index 40200b9..0000000 --- a/src/main/java/me/Demon/DemonLevels/util/GameUtil.java +++ /dev/null @@ -1,49 +0,0 @@ -package me.Demon.DemonLevels.util; - -import me.Demon.DemonLevels.Main; -import org.bukkit.Bukkit; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.util.UUID; - -public abstract class GameUtil { - - public static int convertInt(String string){ - try { - return Integer.parseInt(string); - } catch (NumberFormatException | ArrayIndexOutOfBoundsException e) { - return 1; - } - } - - public static double convertDouble(String string){ - try { - return Double.parseDouble(string); - } catch (NumberFormatException | ArrayIndexOutOfBoundsException e) { - return 1.0; - } - } - - public static String formatTime(long millis) { - // 转换毫秒为秒 - long seconds = millis / 1000; - - // 计算天、小时和分钟 - long days = seconds / (24 * 3600); - long hours = (seconds % (24 * 3600)) / 3600; - long minutes = (seconds % 3600) / 60; - - // 判断时间长度的范围,并格式化输出 - if (days > 0) { - return String.format("%d天%d小时", days, hours); - } else if (hours > 0) { - return String.format("%d小时%d分钟", hours, minutes); - } else { - return String.format("%d分钟", minutes); - } - } -}