контракт меню

  • Майская распродажа!

    Впереди теплые праздники, цены таят на глазах! Поздравляем вас и дарим вам специальный купон.
    Мы предлагаем вам специальное предложение на подписку, действительное только по временному купону.
    Обнови свой сервер с лучшими сборками, плагинами и картами!

    Купон
    MAY20
  • Мы теперь в Discord

    Мы рады объявить, что теперь у нас есть сервер Discord. В честь этого мы проводим розыгрыш!
    Теперь вы можете легко связаться с нами и другими участниками сообщества,
    обмениваться идеями и получать обновления о нашей деятельности.

  • EXCLUSIVE ⚡

    Гость, покупая подписку, ты увеличишь свои доходы в разы!
    Мы делаем самые актуальные сборки, переводим лучшие приватные плагины, а так-же обновляем их и фиксим любые ошибки.
    Дешевле, чем студии и другие разработчики!

  • Приветствуем тебя Гость!⁣

    Недавно на форуме? Не знаешь как можно скачивать ресурсы?
    Для этого нужно лишь зарегистрировать на форуме, и получать доступ к профессиональным плагинам, оптимизированным настройкам.
    Здесь только самое лучшее.

  • Обновленный «Mc-market.ru»

    Теперь у вас есть возможность продавать свои товары на Minecraft маркете.
    Это отличная возможность для вас начать зарабатывать на своих навыках и труде.
    Начни продавать сейчас!

  • Интеграция ChatGPT

    Администраторы Minecraft могут столкнуться с различными проблемами, связанными с работой серверов и кодом.
    Однако, благодаря инновационным технологиям, искусственный интеллект может помочь решить эти проблемы.
    Реши свою любую проблему сейчас!

Loyderskiy_

Premium+
Пользователь
15 Ноя 2021
6
1
3
inventoryopenevent may only be triggered synchronously. Выводит при исполнении команды открытии меню со списком всех контрактов.

Код:

package ru.LoyderskiYy.Contracts.code.contracts;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import ru.LoyderskiYy.Contracts.code.Main;
import ru.LoyderskiYy.Contracts.code.utils.AbstractCommands;
import ru.LoyderskiYy.Contracts.code.utils.Standard;

public class ContractsCommand extends AbstractCommands {
public ContractsCommand(String command) {
super(command);
}

public void execute(CommandSender sender, Command command, String label, String[] args) {
if (sender.hasPermission("lkyContracts.contracts.view") && !(sender instanceof ConsoleCommandSender)) {
Player player = (Player)sender;
if (ContractsManager.contracts.isEmpty()) {
Standard.sendMessage(sender, "&6&lСЕРВЕР: &fНа данный момент нет активных контрактов.");
return;
}

Bukkit.getScheduler().runTaskAsynchronously(Main.getInstance(), () -> {
player.openInventory(wanted());
});
}

}

public static Inventory wanted() {
Inventory inventory = Bukkit.createInventory((InventoryHolder)null, 45, "Разыскиваются");
List<String> wanted = new ArrayList(ContractsManager.contracts.keySet());

for(int slot = 0; slot < 45; ++slot) {
ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (short)3);

try {
Player player = Bukkit.getPlayer((String)wanted.get(slot));
if (player != null) {
String head_name = Standard.colorize("&6{prefix} {target}".replace("{prefix}", Main.getInstance().getChat().getPlayerPrefix(player)).replace("{target}", player.getName()));
List<String> head_lore = Arrays.asList(" ", " &fЗаказчик&7: &c{customer} ", " &fСумма&7: &e{cost}{type} ", " ");
List<String> new_lore = new ArrayList();
SkullMeta head_meta = (SkullMeta)head.getItemMeta();
int cost = ((Contract)ContractsManager.contracts.get(player.getName())).getCost();
String type = ((Contract)ContractsManager.contracts.get(player.getName())).getType();
String customer = ((Contract)ContractsManager.contracts.get(player.getName())).getCustomer();
head_name = head_name.replaceAll("\\{target}", (String)wanted.get(slot));
Iterator var12 = head_lore.iterator();

while(var12.hasNext()) {
String str = (String)var12.next();
str = str.replaceAll("\\{cost}", String.valueOf(cost));
str = str.replaceAll("\\{customer}", String.valueOf(customer));
str = str.replaceAll("\\{type}", type.equalsIgnoreCase("rubles") ? "Р" : "⛂");
new_lore.add(Standard.colorize(str));
}

head_meta.setOwner(player.getName());
head_meta.setDisplayName(head_name);
head_meta.setLore(new_lore);
head.setItemMeta(head_meta);
inventory.setItem(slot, head);
}
} catch (IndexOutOfBoundsException var14) {
return inventory;
}
}

return inventory;
}
}
 

Помочь проекту! 💕

Собрано
"40,140.00" ₽
Цель
"50,000.00" ₽

Последние ресурсы