Java-使用if语句重置

Java-使用if语句重置,java,eclipse,math,if-statement,minecraft,Java,Eclipse,Math,If Statement,Minecraft,我想将R改回0,但由于某些原因,它无法实现 protected void addPotionEffects(ItemStack item, World world, EntityPlayer player) { { if (R == 3) { player.addPotionEffect(new PotionEffect(potionEffect[0], potionDuration[0] * 20, potionTier[0])); pl

我想将R改回0,但由于某些原因,它无法实现

    protected void addPotionEffects(ItemStack item, World world, EntityPlayer player)
{
    {
    if (R == 3) {
        player.addPotionEffect(new PotionEffect(potionEffect[0], potionDuration[0] * 20, potionTier[0]));
        player.addPotionEffect(new PotionEffect(potionEffect[1], potionDuration[1] * 20, potionTier[1]));
        player.addPotionEffect(new PotionEffect(potionEffect[2], potionDuration[2] * 20, potionTier[2]));
        player.addPotionEffect(new PotionEffect(potionEffect[3], potionDuration[3] * 20, potionTier[3]));
        player.addPotionEffect(new PotionEffect(potionEffect[4], potionDuration[4] * 20, potionTier[4]));
        R = 0;
    } else {
        player.addPotionEffect(new PotionEffect(potionEffect[1], potionDuration[1] * 20, potionTier[1]));
        player.addPotionEffect(new PotionEffect(potionEffect[2], potionDuration[2] * 20, potionTier[2]));
        player.addPotionEffect(new PotionEffect(potionEffect[3], potionDuration[3] * 20, potionTier[3]));
        player.addPotionEffect(new PotionEffect(potionEffect[4], potionDuration[4] * 20, potionTier[4]));
    }
    return;
    }
}
我是Java的初学者,这个脚本是为Minecraft编写的。 当我喝牛奶或等到
魔药持续时间[0]
结束时,我不能在游戏中失去魔药效果[0]

顺便说一下,
R=0
并得到
R=Math.abs(R+1)每次药水被消耗时。
我在脚本或其他地方没有发现错误

以下是整个脚本:

那么我该怎么做才能解决这个问题呢?

已经解决了

我有:

private int R1 = 0;
private int R2 = 0;
但它必须是:

public int R1 = 0;
public int R2 = 0;

感谢所有的帮助

您在哪里声明R?可能是
R
始终不是
3
?@cremersstijn在
公共类项目扩展项目食品
私有静态int R=0@Octopus再次阅读我的帖子inca你在声明R的地方发布代码以及所有相关代码?