- Баллы
- 76
- Имя в Minecraft
- swat1x
При пкм на пустую бутылку нужно получить бутылёк с опытом.
Пробовал с player.setTotalExp(int); , но именно на той строчке выдаёт ошибку.
Код:
public int getEmptySlots(Player player) {
int count = 0;
for (int i = 0; i < 36; i++) {
if (player.getInventory().getStorageContents()[i] == null)
count++;
}
return count;
}
@SuppressWarnings("deprecation")
@EventHandler
public void onClick(PlayerInteractEvent e) {
Action action = e.getAction();
if(action == Action.RIGHT_CLICK_AIR && e.getPlayer().getItemInHand().getType() == Material.GLASS_BOTTLE){
int exp = e.getPlayer().getTotalExperience();
if(exp < (float)1){
e.getPlayer().sendMessage("§c§l<X> §fУ вас слишком мало опыта");
return;
}
if(getEmptySlots(e.getPlayer()) == 0) {
e.getPlayer().sendMessage("§c§l<X> §fУ вас недостаточно места в инвентаре");
return;
}
int itog = exp - 1;
e.getPlayer().setExp((float)itog);
ItemStack item = new ItemStack(Material.EXP_BOTTLE, 1, (byte) 0);
ItemStack oldBottle = new ItemStack(Material.GLASS_BOTTLE, 1, (byte) 0);
e.getPlayer().getInventory().addItem(item);
e.getPlayer().getInventory().removeItem(oldBottle);
e.getPlayer().sendMessage("§c§l<X> §fБутылочка с опытом получена");
}
return;
}
