Java 调平系统不工作

Java 调平系统不工作,java,bukkit,Java,Bukkit,我正在尝试制作调平系统,但目前“调平”不起作用。我试图检查一个玩家在加入服务器时的杀戮是否超过了需要升级的水平 问题是,我有501次杀戮,我需要500次杀戮才能升级,但当我加入我的服务器时,什么都没有发生。如何修复它 代码 int kills = plugin.getConfig().getInt("Database."+player.getName()+".Level"); int basicexp = 5; int incremento = 20; int level = plugin.ge

我正在尝试制作调平系统,但目前“调平”不起作用。我试图检查一个玩家在加入服务器时的杀戮是否超过了需要升级的水平

问题是,我有501次杀戮,我需要500次杀戮才能升级,但当我加入我的服务器时,什么都没有发生。如何修复它

代码

int kills = plugin.getConfig().getInt("Database."+player.getName()+".Level");
int basicexp = 5;
int incremento = 20;
int level = plugin.getConfig().getInt("Database."+player.getName()+".Level");
int exp = (basicexp * level) + (incremento * level);
int one = 1;
int nextlevel = level + one;
if (kills >= exp) {
    plugin.getConfig();
    plugin.getConfig().set("Database."+player.getName()+".Level", nextlevel);
    plugin.saveConfig();
}
  • 设置
    intkills=plugin.getConfig().getInt(“数据库”+player.getName()+“.Level”)
  • 设置
    int-level=plugin.getConfig().getInt(“数据库”+player.getName()+“.level”),所以
    level==kills
  • 您可以设置
    intexp=(basicexp*level)+(incremento*level),所以
    exp==(基本经验+增量)*级别
    ,所以
    exp>级别
    如果
    (基本经验+增量)>1
    ,这很可能
  • 既然
    kills==level
    ,那么
    exp>就杀死了
    ,这意味着
    kills>=exp
    永远不会是真的

当读取
kills

的值时,您可能想从配置中获取“.Level”以外的内容。

您应该附加一个调试器(例如Eclipse),在有问题的行上设置一个断点,并在查看变量值的同时逐步执行它。在这一点上,问题应该非常明显。我没有使用Eclipse,我使用的是NetBeans,根据NetBeans,代码是“正确的”,而代码是根据NetBeans编译的;这并不意味着它是正确的,它只是意味着它没有任何语法错误。Netbeans也有一个调试器;您应该使用它来逐步完成这段代码,因为这是一项非常有用的技能。你应该这样做作为一个学习的机会,尽管我相信我在回答中指出的明显的复制和粘贴错误可能是解决你眼前问题的方法。不用担心,很高兴你解决了这个问题。调试时,我通常会尝试反向工作。我将转到不起作用的地方(比如你的if语句),当我在那一行时,看看变量。如果其中一个不是我期望的值,我将查看它是如何设置的(可能会设置一个较早的断点并重新运行,这样我就可以看到它实际设置的),然后继续这样做,直到我找到做得不正确的代码。这对我很有效,希望同样的方法对你有用。。。