From 1c6c59b9a0139c462107357f3921e158cee6112d Mon Sep 17 00:00:00 2001 From: yaohunya <31456652@qq.com> Date: Tue, 23 Jul 2024 03:14:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/Demon/DemonLevels/LevelExpansion.java | 4 +- src/main/java/me/Demon/DemonLevels/Main.java | 4 +- .../me/Demon/DemonLevels/api/DLevelAPI.java | 10 +- .../me/Demon/DemonLevels/command/MainCmd.java | 133 +++++++++--------- .../Demon/DemonLevels/data/ChangExpEvant.java | 36 ----- .../me/Demon/DemonLevels/data/PlayerData.java | 22 ++- .../Demon/DemonLevels/listener/MobDeath.java | 10 +- .../DemonLevels/manage/ServerManage.java | 9 +- .../me/Demon/DemonLevels/util/GameUtil.java | 29 ++++ src/main/resources/Data.yml | 115 +++++++++------ src/main/resources/config.yml | 4 + src/main/resources/plugin.yml | 2 +- 12 files changed, 219 insertions(+), 159 deletions(-) delete mode 100644 src/main/java/me/Demon/DemonLevels/data/ChangExpEvant.java create mode 100644 src/main/resources/config.yml diff --git a/src/main/java/me/Demon/DemonLevels/LevelExpansion.java b/src/main/java/me/Demon/DemonLevels/LevelExpansion.java index 06a2151..7db3180 100644 --- a/src/main/java/me/Demon/DemonLevels/LevelExpansion.java +++ b/src/main/java/me/Demon/DemonLevels/LevelExpansion.java @@ -46,9 +46,9 @@ public class LevelExpansion extends PlaceholderExpansion { public String onPlaceholderRequest(Player player, String indentifier) { if (indentifier.equalsIgnoreCase("expbl")) { if(Main.serverManage.getExpMultiplicity() <= 1.0){ - return "0.00%"; + return "0.00"; } - return (Main.serverManage.getExpMultiplicity() * 100)+"%"; + return (Main.serverManage.getExpMultiplicity() * 100)+""; }else if (indentifier.equalsIgnoreCase("level")) { return ""+DLevelAPI.getPlayerLevel(player); }else if(indentifier.equalsIgnoreCase("exp")){ diff --git a/src/main/java/me/Demon/DemonLevels/Main.java b/src/main/java/me/Demon/DemonLevels/Main.java index b5095f5..f99fa59 100644 --- a/src/main/java/me/Demon/DemonLevels/Main.java +++ b/src/main/java/me/Demon/DemonLevels/Main.java @@ -1,5 +1,6 @@ package me.Demon.DemonLevels; +import me.Demon.DemonLevels.command.MainCmd; import me.Demon.DemonLevels.listener.MobDeath; import me.Demon.DemonLevels.listener.JoinEvent; import me.Demon.DemonLevels.listener.UpgradePrompt; @@ -27,9 +28,10 @@ public class Main extends JavaPlugin { @Override public void onEnable() { plugin = this; - DemonAPI.sendConsoleMessage("§f[§6!§f] §aAuRechargeData ("+plugin.getServer().getVersion()+") §f开始加载"); + DemonAPI.sendConsoleMessage("§f[§6!§f] §aDemonLevels ("+plugin.getServer().getVersion()+") §f开始加载"); loadConfigData(); serverManage = new ServerManage(getConfig()); + getCommand("dlevel").setExecutor(new MainCmd()); getServer().getPluginManager().registerEvents(new MobDeath(),this); getServer().getPluginManager().registerEvents(new JoinEvent(),this); getServer().getPluginManager().registerEvents(new UpgradePrompt(),this); diff --git a/src/main/java/me/Demon/DemonLevels/api/DLevelAPI.java b/src/main/java/me/Demon/DemonLevels/api/DLevelAPI.java index 8b25d6d..d3ef646 100644 --- a/src/main/java/me/Demon/DemonLevels/api/DLevelAPI.java +++ b/src/main/java/me/Demon/DemonLevels/api/DLevelAPI.java @@ -2,12 +2,11 @@ package me.Demon.DemonLevels.api; import com.yaohun.playermanage.PlayerManage; import me.Demon.DemonLevels.Main; -import me.Demon.DemonLevels.data.ChangExpEvant; import me.Demon.DemonLevels.data.PlayerData; +import me.Demon.DemonLevels.event.ChangExpEvant; import me.Demon.DemonLevels.event.UpLevelEvant; import me.Demon.DemonLevels.listener.MobDeath; import me.Demon.DemonLevels.util.ScriptEngineAPI; -import me.Demon.DemonPlugin.DemonAPI; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; @@ -84,7 +83,6 @@ public abstract class DLevelAPI { if(level >= levelKey) { String expFormat = list.get(i).getKey(); expFormat = expFormat.replace("%level%", String.valueOf(level)); - System.out.println("[调试 - 等级] 所需经验等级公式: "+expFormat); return ScriptEngineAPI.getExpFormat(expFormat); } } @@ -140,7 +138,7 @@ public abstract class DLevelAPI { playerData.setTotalExp(playerData.getTotalExp().add(addExp)); // 增加玩家总经验 int level = playerData.getLevel(); // 获取玩家当前等级 BigInteger needExp = DLevelAPI.getLevelNeedExp(level); // 获取玩家升级所需经验 - playerData.setExp(playerData.getExp().add(addExp)); // 增加玩家当前经验 + addExp = playerData.getExp().add(addExp); // 增加玩家当前经验 // 循环检查是否有足够的经验来升级 while (addExp.compareTo(needExp) >= 0) { // 检查level是否小于0,如果是则退出循环 @@ -275,4 +273,8 @@ public abstract class DLevelAPI { } }.runTaskLater(Main.plugin, 2L); } + + public static String getRankTitle(int level){ + return Main.configYml.getRankTitle(level); + } } diff --git a/src/main/java/me/Demon/DemonLevels/command/MainCmd.java b/src/main/java/me/Demon/DemonLevels/command/MainCmd.java index baab0c1..b718972 100644 --- a/src/main/java/me/Demon/DemonLevels/command/MainCmd.java +++ b/src/main/java/me/Demon/DemonLevels/command/MainCmd.java @@ -4,6 +4,7 @@ import com.yaohun.playermanage.PlayerManage; 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.DemonPlugin.DemonAPI; import org.bukkit.Bukkit; @@ -40,82 +41,32 @@ public class MainCmd implements CommandExecutor , TabCompleter { sender.sendMessage("§r"); return true; } - if(args.length == 3){ - String name = args[1]; - String uuid = PlayerManage.getNameToUuid(name); - if(uuid.equalsIgnoreCase("无数据")){ - DemonAPI.sendMessage(sender,"未查询到该玩家的UUID."); - return true; - } - Player player = Bukkit.getPlayer(name); - int value = GameUtil.convertInt(args[2]); - if(value <= 1){ - DemonAPI.sendMessage(sender,"操作数值最低不得 §d低于1"); - return true; - } - if(player == null) { - DemonAPI.sendMessage(sender,"目标玩家不在线."); - return true; - } - if(args[0].equalsIgnoreCase("give")){ - DLevelAPI.addExp(player,value); - DemonAPI.sendMessage(sender,"给予 §6"+name+" §a经验: §d+"+value); - }else if(args[0].equalsIgnoreCase("take")){ - DLevelAPI.takeExp(player,value); - DemonAPI.sendMessage(sender,"扣除 §6"+name+" §a经验: §d-"+value); - }else if(args[0].equalsIgnoreCase("setlevel")){ - DLevelAPI.setPlayerLevel(player,value); - DemonAPI.sendMessage(sender,"设置 §6"+name+" §a等级: §dLv."+value); - }else if(args[0].equalsIgnoreCase("settotal")){ - BigInteger bigInteger = new BigInteger(args[2]); - DLevelAPI.setTotalExp(player,bigInteger); - DemonAPI.sendMessage(sender,"设置 §6"+name+" §a总经验: §d"+value); - } + if(args.length == 1 && args[0].equalsIgnoreCase("reload")){ + Main.plugin.reloadLoadData(); + DemonAPI.sendMessage(sender,"配置文件均已重新载入."); return true; } - if(args.length == 2 && args[0].equalsIgnoreCase("look")){ - String playerName = args[1]; - String uuid = PlayerManage.getNameToUuid(playerName); - if(uuid.equalsIgnoreCase("无数据")){ - DemonAPI.sendMessage(sender,"未查询到该玩家的UUID."); - return true; - } - Player player = Bukkit.getPlayer(playerName); - if(player == null) { - PlayerData data = new PlayerData(uuid); - DemonAPI.sendMessage(sender,"玩家 §e"+playerName+" §a的等级信息:"); - int playerLevel = data.getLevel(); - sender.sendMessage("§f- §a等级: §dLv."+playerLevel); - sender.sendMessage("§f- §a经验: §d"+data.getExp().toString()+"§a/§d"+ DLevelAPI.getLevelNeedExp(playerLevel)); - sender.sendMessage("§f- §a等级: §dLv."+data.getTotalExp().toString()); - }else{ - PlayerData data = Main.serverManage.getPlayerData(uuid); - DemonAPI.sendMessage(sender,"玩家 §e"+playerName+" §a的等级信息:"); - int playerLevel = data.getLevel(); - sender.sendMessage("§f- §a等级: §dLv."+playerLevel); - sender.sendMessage("§f- §a经验: §d"+data.getExp().toString()+"§a/§d"+ DLevelAPI.getLevelNeedExp(playerLevel)); - sender.sendMessage("§f- §a等级: §dLv."+data.getTotalExp().toString()); + if(args.length == 1 && args[0].equalsIgnoreCase("save")){ + ServerManage serverManage = Main.serverManage; + for (String uuid : serverManage.getDataHashMap().keySet()){ + serverManage.getDataHashMap().get(uuid).savePlayerData(); } + DemonAPI.sendMessage(sender,"玩家数据已保存."); return true; } if(args[0].equalsIgnoreCase("dexp")){ if(args.length >= 2){ double doubleExp = GameUtil.convertDouble(args[1]); long defaultTime = 7 * 24 * 60 * 60 * 1000L; // 默认开启经验倍率时间7天 - if(args.length == 3){ + if(args.length >= 3){ defaultTime = GameUtil.convertInt(args[2]) * 60 * 60 * 1000L; } long expMultipleTime = System.currentTimeMillis() + defaultTime; // 本次经验倍率持续时间 if(doubleExp >= 1.1) { - // 将时间戳转换为 LocalDateTime - LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(expMultipleTime), ZoneId.systemDefault()); - // 定义日期时间格式化模式 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM月dd日HH时mm分"); - // 格式化日期时间 - String formattedDate = dateTime.format(formatter); + 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"+formattedDate); + p.sendTitle("§d§l"+doubleExp*100+"%","§f持续时间: §a"+GameUtil.formatTime(defaultTime)); p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1); } } @@ -138,7 +89,60 @@ public class MainCmd implements CommandExecutor , TabCompleter { } return true; } - + if(args.length == 3){ + String name = args[1]; + String uuid = PlayerManage.getNameToUuid(name); + if(uuid.equalsIgnoreCase("无数据")){ + DemonAPI.sendMessage(sender,"未查询到该玩家的UUID."); + return true; + } + Player player = Bukkit.getPlayer(name); + int value = GameUtil.convertInt(args[2]); + if(player == null) { + DemonAPI.sendMessage(sender,"目标玩家不在线."); + return true; + } + if(args[0].equalsIgnoreCase("give")){ + DLevelAPI.addExp(player,value); + DemonAPI.sendMessage(sender,"给予 §6"+name+" §a经验: §d+"+value); + }else if(args[0].equalsIgnoreCase("take")){ + DLevelAPI.takeExp(player,value); + DemonAPI.sendMessage(sender,"扣除 §6"+name+" §a经验: §d-"+value); + }else if(args[0].equalsIgnoreCase("setlevel")){ + DLevelAPI.setPlayerLevel(player,value); + DemonAPI.sendMessage(sender,"设置 §6"+name+" §a等级: §dLv."+value); + }else if(args[0].equalsIgnoreCase("settotal")){ + BigInteger bigInteger = new BigInteger(args[2]); + DLevelAPI.setTotalExp(player,bigInteger); + DemonAPI.sendMessage(sender,"设置 §6"+name+" §a总经验: §d"+bigInteger.toString()); + } + return true; + } + if(args.length == 2 && args[0].equalsIgnoreCase("look")){ + String playerName = args[1]; + String uuid = PlayerManage.getNameToUuid(playerName); + if(uuid.equalsIgnoreCase("无数据")){ + DemonAPI.sendMessage(sender,"未查询到该玩家的UUID."); + return true; + } + Player player = Bukkit.getPlayer(playerName); + if(player == null) { + PlayerData data = new PlayerData(uuid); + DemonAPI.sendMessage(sender,"玩家 §e"+playerName+" §a的等级信息:"); + int playerLevel = data.getLevel(); + sender.sendMessage("§f- §a等级: §dLv."+playerLevel); + sender.sendMessage("§f- §a经验: §d"+data.getExp().toString()+"§a/§d"+ DLevelAPI.getLevelNeedExp(playerLevel)); + sender.sendMessage("§f- §a等级: §d"+data.getTotalExp().toString()); + }else{ + PlayerData data = Main.serverManage.getPlayerData(uuid); + DemonAPI.sendMessage(sender,"玩家 §e"+playerName+" §a的等级信息:"); + int playerLevel = data.getLevel(); + sender.sendMessage("§f- §a等级: §dLv."+playerLevel); + sender.sendMessage("§f- §a经验: §d"+data.getExp().toString()+"§a/§d"+ DLevelAPI.getLevelNeedExp(playerLevel)); + sender.sendMessage("§f- §a等级: §d"+data.getTotalExp().toString()); + } + return true; + } return false; } @@ -150,9 +154,12 @@ public class MainCmd implements CommandExecutor , TabCompleter { completions.add("look"); completions.add("give"); completions.add("take"); - completions.add("set"); + completions.add("setlevel"); completions.add("settotal"); completions.add("kmob"); + }else if(args.length == 2){ + String[] onlinePlayers = Bukkit.getOnlinePlayers().stream().map(HumanEntity::getName).toArray(String[]::new); + completions.addAll(Arrays.asList(onlinePlayers)); }else if(args.length == 3){ completions.add("单位小时"); completions.add("经验"); diff --git a/src/main/java/me/Demon/DemonLevels/data/ChangExpEvant.java b/src/main/java/me/Demon/DemonLevels/data/ChangExpEvant.java deleted file mode 100644 index b4380c2..0000000 --- a/src/main/java/me/Demon/DemonLevels/data/ChangExpEvant.java +++ /dev/null @@ -1,36 +0,0 @@ -package me.Demon.DemonLevels.data; - -import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -public class ChangExpEvant extends Event { - - private static HandlerList handlers = new HandlerList(); - private final Player player; - private final int exp; - - @Override - public HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - public ChangExpEvant(Player player, int exp) { - this.player = player; - this.exp = exp; - } - - - public Player getPlayer() { - return player; - } - - public int getExp() { - return exp; - } - -} - diff --git a/src/main/java/me/Demon/DemonLevels/data/PlayerData.java b/src/main/java/me/Demon/DemonLevels/data/PlayerData.java index 4debdc1..52157e4 100644 --- a/src/main/java/me/Demon/DemonLevels/data/PlayerData.java +++ b/src/main/java/me/Demon/DemonLevels/data/PlayerData.java @@ -90,10 +90,26 @@ public class PlayerData { if(player != null) { System.out.println("[日志 - 等级] 玩家 " + player.getName() + " 已创建档案数据."); yml.set("name",player.getName()); + // 判断玩家之前是否存在等级数据 + FileConfiguration config = Main.plugin.getConfig(); + String str = "levelstats."+player.getName()+"."; + if(config.getInt(str+"level") >= 1){ + int dlevel = config.getInt(str+"level"); + int exp = config.getInt(str+"exp"); + int totalExp = config.getInt(str+"totalExp"); + yml.set("level", dlevel); + yml.set("exp", exp); + yml.set("totalExp", totalExp); + }else{ + yml.set("level", 1); + yml.set("exp", 0); + yml.set("totalExp", 1); + } + }else { + yml.set("level", 1); + yml.set("exp", 0); + yml.set("totalExp", 1); } - yml.set("level",1); - yml.set("exp",0); - yml.set("totalExp",1); this.file = file; this.fileConfiguration = yml; saveFile(); diff --git a/src/main/java/me/Demon/DemonLevels/listener/MobDeath.java b/src/main/java/me/Demon/DemonLevels/listener/MobDeath.java index 051caa6..013795a 100644 --- a/src/main/java/me/Demon/DemonLevels/listener/MobDeath.java +++ b/src/main/java/me/Demon/DemonLevels/listener/MobDeath.java @@ -39,8 +39,9 @@ public class MobDeath implements Listener { // 获取服务器当前经验倍率 double serverDouble = Main.serverManage.getExpMultiplicity(); // 检测服务器经验倍率时间是否关闭 - if(Main.serverManage.isExpMultipleTime()){ - Main.serverManage.setExpMultiplicity(1.0); + if(serverDouble >= 1.1 && Main.serverManage.isExpMultipleTime()){ + Main.serverManage.setExpMultiplicity(1.0,System.currentTimeMillis()); + System.out.println("[调试 - 等级] 经验倍率已恢复默认1.0"); serverDouble = 1.0; for (Player p :Bukkit.getOnlinePlayers()) { DemonAPI.sendMessage(p,"经验倍率加成已结束!已经恢复默认倍率。"); @@ -62,7 +63,7 @@ public class MobDeath implements Listener { int exp = (int) (mobsManage.getExp() * serverDouble * att_expAddition); // 假设serverDouble = 2.0 att_expAddition = 1.50; // 则结果将会是 2.0 + 1.5 = 3.5 但实际上是 1.0 + 0.5 = 1.5 - double magnificationDisplay = (serverDouble + att_expAddition) - 2; // 获取玩家当前倍率 + double magnificationDisplay = (serverDouble + (att_expAddition - 1)); // 获取玩家当前倍率 // 判断玩家是否在队伍之中 boolean isTeamExit = false; Map teamMap = new HashMap<>(); @@ -153,7 +154,8 @@ public class MobDeath implements Listener { public static void experienceGainTips(Player p,int exp,int magnificationDisplayString){ String playName = "§8§l[ §b"+p.getName()+" §8§l]"; - String nowexp = "§8§l[ §e§lLv."+111+" §c§l"+111+"§f§l/§a§l"+111+" §8§l]"; + PlayerData playerData = Main.serverManage.getPlayerData(p.getUniqueId().toString()); + String nowexp = "§8§l[ §e§lLv."+playerData.getLevel()+" §c§l"+playerData.getExp().toString()+"§f§l/§a§l"+DLevelAPI.getLevelNeedExp(playerData.getLevel()).toString()+" §8§l]"; String addExp = "§8§l[ §d§l+" + exp + " §8§l]"; if(magnificationDisplayString >= 1){ addExp = "§8§l[ §d§l++" + exp + "++ §8§l]"; diff --git a/src/main/java/me/Demon/DemonLevels/manage/ServerManage.java b/src/main/java/me/Demon/DemonLevels/manage/ServerManage.java index d690ef7..e79e2e6 100644 --- a/src/main/java/me/Demon/DemonLevels/manage/ServerManage.java +++ b/src/main/java/me/Demon/DemonLevels/manage/ServerManage.java @@ -24,7 +24,11 @@ public class ServerManage { if(expMultipleTime <= 0){ expMultipleTime = System.currentTimeMillis() + (1000 * 60); } - expMultiplicity = yml.getDouble("DoubleExp",1.0); + DemonAPI.sendConsoleMessage("§f[§a!§f] §f倍率持续时间 §8> §6"+DemonAPI.LongToStringData(expMultipleTime,"yyyy年MM月dd日")); + expMultiplicity = yml.getDouble("DoubleExp"); + if(expMultiplicity <= 0){ + expMultiplicity = 1.0; + } DemonAPI.sendConsoleMessage("§f[§a!§f] §f全服经验倍率 §8> §6"+(expMultiplicity*100)+"%"); if(Bukkit.getPluginManager().getPlugin("DemonVipSystem") != null){ LinkDemonVipSystem = true; @@ -47,7 +51,8 @@ public class ServerManage { return expMultiplicity; } - public void setExpMultiplicity(double expMultiplicity) { + public void setExpMultiplicity(double expMultiplicity,long expMultipleTime) { + this.expMultipleTime = expMultipleTime; this.expMultiplicity = expMultiplicity; FileConfiguration yml = Main.plugin.getConfig(); yml.set("ExpMultipleTime",this.expMultipleTime); diff --git a/src/main/java/me/Demon/DemonLevels/util/GameUtil.java b/src/main/java/me/Demon/DemonLevels/util/GameUtil.java index 46e8da2..40200b9 100644 --- a/src/main/java/me/Demon/DemonLevels/util/GameUtil.java +++ b/src/main/java/me/Demon/DemonLevels/util/GameUtil.java @@ -1,5 +1,15 @@ 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){ @@ -17,4 +27,23 @@ public abstract class GameUtil { 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); + } + } } diff --git a/src/main/resources/Data.yml b/src/main/resources/Data.yml index db73029..afbad13 100644 --- a/src/main/resources/Data.yml +++ b/src/main/resources/Data.yml @@ -1,37 +1,37 @@ CustonName: 105: "§9§l极§d§l限§c§l斗§e§l神" - 100: "§9§l极§d§l限§c§l斗§e§l神" + 100: "§9§l极§d§l限§c§l斗§e§l魂" 90: "§c封号斗魂" - 80: "§6魂斗者" - 70: "§d灵圣" - 60: "§e灵帝" - 50: "§c灵王" - 40: "§6灵宗" - 30: "§5灵尊" - 20: "§3大灵师" - 10: "§2器师" - 0: "§7器士" + 80: "§6魂斗罗" + 70: "§d魂圣" + 60: "§e魂帝" + 50: "§c魂王" + 40: "§6魂宗" + 30: "§5魂尊" + 20: "§3大魂师" + 10: "§2魂师" + 0: "§7魂士" NeelUpExp: - 0: "%level% * 100" + 1: "%level% * 100" 5: "%level% * 200" 10: "%level% * 400" 15: "%level% * 800" 20: "%level% * 1000" 25: "%level% * 1500" - 30: "%level% * 5000" - 35: "%level% * 6500" - 40: "%level% * 8000" - 45: "%level% * 10000" - 50: "%level% * 12000" - 55: "%level% * 14000" - 60: "%level% * 15000" - 65: "%level% * 20000" - 70: "%level% * 25000" - 75: "%level% * 100000" - 80: "%level% * 200000" - 85: "%level% * 400000" - 90: "%level% * 600000" - 95: "%level% * 1200000" + 30: "%level% * 2500" + 35: "%level% * 4500" + 40: "%level% * 6000" + 45: "%level% * 7000" + 50: "%level% * 8000" + 55: "%level% * 10000" + 60: "%level% * 12000" + 65: "%level% * 16000" + 70: "%level% * 20000" + 75: "%level% * 400000" + 80: "%level% * 100000" + 85: "%level% * 200000" + 90: "%level% * 400000" + 95: "%level% * 1000000" 100: "%level% * 3000000" 105: "%level% * 5000000" 110: "%level% * 8000000" @@ -81,7 +81,6 @@ MobKillExp: 星斗森林_10000翠魔鸟: 800~1500 星斗森林_10000化蛇: 800~1500 星斗森林_10000青影狮鹫: 800~1500 - 经验猪: 2500~5000 极寒冰域_1000炽眼猪妖: 500~800 极寒冰域_1000三足金乌: 500~800 极寒冰域_1000极寒九婴: 500~800 @@ -97,20 +96,50 @@ MobKillExp: 冰火两仪眼_10000暗黑邪神虎: 1200~1800 冰火两仪眼_10000冰碧蝎: 1200~1800 冰火两仪眼_10000翠魔鸟: 1200~1800 - 冰火两仪眼_奇茸通天菊: 100~800 - 冰火两仪眼_八瓣仙兰: 100~800 - 冰火两仪眼_相思断肠红: 100~800 - 冰火两仪眼_水仙玉肌骨: 100~800 - 杀戮都市_风灵狼: 3000~5000 - 杀戮都市_鬼藤: 3000~5000 - 杀戮都市_疾风魔狼: 3000~5000 - 杀戮都市_曼陀罗蛇: 3000~5000 - 杀戮都市_粉红娘娘: 3000~5000 - 杀戮都市_冰蚕: 3000~5000 - 杀戮都市_鬼虎: 3000~5000c - 杀戮都市_四眼鳞甲兽: 3000~5000 - 杀戮都市_魔暝鹿: 3000~5000 - 杀戮都市_杀戮暴徒: 5000~7000 - 杀戮都市_堕落暴徒: 4000~6000 - 武魂殿_巡逻魂师: 6000~9000 - 武魂殿_魂师喽啰: 7000~10000 \ No newline at end of file + 冰火两仪眼_奇茸通天菊: 1000~1800 + 冰火两仪眼_八瓣仙兰: 1000~1800 + 冰火两仪眼_相思断肠红: 1000~1800 + 冰火两仪眼_水仙玉肌骨: 1000~1800 + 冰火两仪眼_烈火杏娇疏: 1000~1800 + 杀戮都市_风灵狼: 1800~2500 + 杀戮都市_鬼藤: 1800~2500 + 杀戮都市_疾风魔狼: 1800~2500 + 杀戮都市_曼陀罗蛇: 1800~2500 + 杀戮都市_粉红娘娘: 1800~2500 + 杀戮都市_冰蚕: 1800~2500 + 杀戮都市_鬼虎: 1800~2500 + 杀戮都市_四眼鳞甲兽: 1800~2500 + 杀戮都市_魔暝鹿: 1800~2500 + 杀戮都市_杀戮暴徒: 2000~2500 + 杀戮都市_堕落暴徒: 2000~2500 + 武魂殿魂师_守卫魂师: 2000~3000 + 武魂殿魂师_巡逻魂师: 2250~3000 + 武魂殿魂师_殿堂魂师: 2500~3000 + 武魂殿魂师_精英魂师: 3000~4000 + 封神一考_魂兽: 3000~4000 + 封神二考_魂兽: 3000~4000 + 封神三考_魂兽: 3000~4000 + 封神一考_考官: 5000~10000 + 封神二考_考官: 5000~10000 + 封神三考_考官: 5000~10000 + 封神四考_魂兽: 3500~4500 + 封神五考_魂兽: 3500~4500 + 封神六考_魂兽: 3500~4500 + 封神七考_魂兽: 4000~5000 + 封神八考_魂兽: 4000~5000 + 封神九考_魂兽: 4000~5000 + 封神四考_考官: 5000~10000 + 封神五考_考官: 5000~10000 + 封神六考_考官: 5000~10000 + 封神七考_考官: 5000~10000 + 封神八考_考官: 5000~10000 + 天使神域_圣殿护卫: 7000~10000 + 天使神域_天翼圣卫: 7000~10000 + 天使神域_星辰守卫: 8000~11000 + 天使神域_银羽神卫: 8000~11000 + 神域灵兽_御金玲龙: 6000~9000 + 神域灵兽_神御玲龙: 6000~9000 + 经验灵兽_1: 1000~2500 + 经验灵兽_2: 2500~3500 + 活动魂兽1: 1000~2500 + 活动魂兽2: 2500~3500 diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..7a4449f --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,4 @@ +# 多倍经验 +DoubleExp: 1.0 +# 多倍经验持续时间 +ExpMultipleTime: -1 \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 7a5b9e5..dcc2aa7 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: DemonLevels main: me.Demon.DemonLevels.Main -version: 1.4.3 +version: 2.1.6 depend: [DemonTeam] commands: dlevel: \ No newline at end of file