- Баллы
- 76
- Имя в Minecraft
- Solomka
Почему-то добавляет два раза голову игрока в меню, а так же не удаляет из меню, когда игрок не в HashMap. Почему так?
Метод, который добавляет предмет
Использование в классе:
Метод, который добавляет предмет
Код:
public static void addItems(Player p, String string) {
BasicMethods.string = string;
UUID id = p.getUniqueId();
if (i != null) {
ArrayList<String> Lore = new ArrayList<>();
ItemStack playerSkull = getHead(p);
ItemStack barrier = new ItemStack(Material.BARRIER);
ItemMeta meta = playerSkull.getItemMeta();
Lore.add(translateAlternateColorCodes('&', "&cВопрос от &f" + p.getName()));
Lore.add(translateAlternateColorCodes('&', "&fВопрос: " + sb.toString()));
Lore.add(translateAlternateColorCodes('&', "&7Нажмите, чтобы узнать больше... "));
meta.setLore(Lore);
playerSkull.setItemMeta(meta);
for (int num = 0; num < i.getSize(); num++) {
if(i.getItem(num) == null) {
i.setItem(num, barrier);
continue;
}
if (i.getItem(num).equals(playerSkull)) num++;
if (map.contains(id)) {
i.setItem(num, playerSkull);
break;
}
i.setItem(num, null); - Не удаляет предмет(Тупо игнорирует... Без break такая же история)
}
}
}
Использование в классе:
Код:
public GUI() {
super(null, null);
func = (sender, args) -> {
final List<ECommand> cmds = new ArrayList<>(instance.getRegisteredCommands());
cmds.add(this);
if (!(sender instanceof Player)) return;
Player p = (Player) sender;
UUID id = p.getUniqueId();
if (sender.hasPermission(getPermission()) || sender.isOp()) {
if(join.contains(id)) {
createMenu();
openInventory(p);
for (Player pl : Bukkit.getOnlinePlayers()) {
UUID pl_id = pl.getUniqueId();
if (map.contains(pl_id)) {
addItems(pl, sb.toString()); <---
}
}
return;
}
send(sender, translateAlternateColorCodes('&', ConfigManager.getString("JoinHelperMode")));
return;
}
send(sender, translateAlternateColorCodes('&', getString("NotHavePermission")));
};
}