- Баллы
- 66
Код:
for(ItemStack item : p.getInventory().getContents())
{
int dm;
int gm;
int fm;
if(item.getType() != Material.DIRT) return;
{
dm = item.getAmount() * 1;
item.setType(Material.AIR);
}
if(item.getType() != Material.GRAVEL) return;
{
gm = item.getAmount() * 1;
item.setType(Material.AIR);
}
if(item.getType() != Material.FLINT) return;
{
fm = item.getAmount() * 2;
item.setType(Material.AIR);
}
int money = dm + gm + fm;
configuration.set("players." + p.getName() + ".balance", balance + money);
int bal = configuration.getInt("players." + p.getName() + ".balance");
}
В чём собственно проблема, этот кусочек кода часть PlayerInteractEvent всё работает отлично, кроме этой части кода.
Собственно в чём смысл этой части? Я перебираю инвентарь игрока который клацнул по блоку, затем получаю/отсеиваю блоки которые мне нужно(в данному случае земля, гравий и кремень) и за каждый предмет отсеиваемого типа присваиваю ему определённое число.
То есть должно быть так, я перебираю инвентарь игрока, если у него есть в нём допустим 12 земли и 2 кремня, я получаю кол-во этих блоков и присваиваю определённым переменным сумму произведении кол-ва и вторых множителей , то есть у в итоге у нас получается 16 и в файл должно записаться число: число из файла + 16, но этого не происходит.
И я не могу понять в чём проблема. Прошу помочь мне.