Первый баг: при покупке head1 предмет выдаётся в инвентарь игрока и каким-то образом если у игрока в инвентаре лежит head1 то при открытии меню он клонируется туда.
Второй баг: все предметы которые не указаны в коде (также предметы из инвентаря игрока) закрывают меню, но когда я оставляю в коде только 1 предмет, то этот баг пропадает.
Второй баг: все предметы которые не указаны в коде (также предметы из инвентаря игрока) закрывают меню, но когда я оставляю в коде только 1 предмет, то этот баг пропадает.
Java:
public void onClick(InventoryClickEvent event) {
Player player = (Player)event.getWhoClicked();
PlayerInventory playerInventory = (PlayerInventory) event.getView().getBottomInventory();
ItemStack item = event.getCurrentItem();
if (event.getView().getTitle().equals(ColorUtil.color(Main.cfg.getString("title")))) {
if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.1.name")))) {
if(Main.ppAPI.look(player.getUniqueId()) >= Main.cfg.getInt("gui.item.1.cost")) {
Main.ppAPI.take(player.getUniqueId(), Main.cfg.getInt("gui.item.1.cost"));
for(String s : Main.cfg.getStringList("gui.item.1.purchase"))
player.sendMessage(s);
playerInventory.addItem(ItemSUtils.head1());
player.closeInventory();
} else {
for(String s : Main.cfg.getStringList("noMoney"))
player.sendMessage(s);
player.closeInventory();
}
}
else if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.2.name")))) {
if(Main.ppAPI.look(player.getUniqueId()) >= Main.cfg.getInt("gui.item.2.cost")) {
Main.ppAPI.take(player.getUniqueId(), Main.cfg.getInt("gui.item.2.cost"));
for(String s : Main.cfg.getStringList("gui.item.2.purchase"))
player.sendMessage(s);
playerInventory.addItem(ItemSUtils.head2());
player.closeInventory();
} else {
for(String s : Main.cfg.getStringList("noMoney"))
player.sendMessage(s);
player.closeInventory();
}
}
else if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.3.name")))) {
if(Main.ppAPI.look(player.getUniqueId()) >= Main.cfg.getInt("gui.item.3.cost")) {
Main.ppAPI.take(player.getUniqueId(), Main.cfg.getInt("gui.item.3.cost"));
for(String s : Main.cfg.getStringList("gui.item.3.purchase"))
player.sendMessage(s);
playerInventory.addItem(ItemSUtils.head3());
player.closeInventory();
} else {
for(String s : Main.cfg.getStringList("noMoney"))
player.sendMessage(s);
player.closeInventory();
}
}
else if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.4.name")))) {
if(Main.ppAPI.look(player.getUniqueId()) >= Main.cfg.getInt("gui.item.4.cost")) {
Main.ppAPI.take(player.getUniqueId(), Main.cfg.getInt("gui.item.4.cost"));
for(String s : Main.cfg.getStringList("gui.item.4.purchase"))
player.sendMessage(s);
playerInventory.addItem(ItemSUtils.head4());
player.closeInventory();
} else {
for(String s : Main.cfg.getStringList("noMoney"))
player.sendMessage(s);
player.closeInventory();
}
}
else if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.5.name")))) {
if(Main.ppAPI.look(player.getUniqueId()) >= Main.cfg.getInt("gui.item.5.cost")) {
Main.ppAPI.take(player.getUniqueId(), Main.cfg.getInt("gui.item.5.cost"));
for(String s : Main.cfg.getStringList("gui.item.5.purchase"))
player.sendMessage(s);
playerInventory.addItem(ItemSUtils.head5());
player.closeInventory();
} else {
for(String s : Main.cfg.getStringList("noMoney"))
player.sendMessage(s);
player.closeInventory();
}
}
else if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.6.name")))) {
player.closeInventory();
if(Main.ppAPI.look(player.getUniqueId()) >= Main.cfg.getInt("gui.item.6.cost")) {
Main.ppAPI.take(player.getUniqueId(), Main.cfg.getInt("gui.item.6.cost"));
for(String s : Main.cfg.getStringList("gui.item.6.purchase"))
player.sendMessage(s);
playerInventory.addItem(ItemSUtils.head6());
} else {
for(String s : Main.cfg.getStringList("noMoney"))
player.sendMessage(s);
}
}
else if (item != null && item
.getItemMeta() != null && item
.getItemMeta().getDisplayName().equalsIgnoreCase(ColorUtil.color(Main.cfg.getString("gui.item.7.name")))) {
player.closeInventory();
}
event.setCancelled(true);
}
}
Последнее редактирование модератором: