Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Как получить UUID или НИК при заходе нового игрока

Discussion in 'Разработка плагинов для новичков' started by Kenik228, Jun 12, 2022.

  1. Автор темы
    Kenik228

    Kenik228 Ньюби

    Trophy Points:
    1
    Люди, у меня в массиве строк 20 заданий, и я хочу чтобы для каждого игрока задания были уникальными. Я не пойму, как мне получить UUID или НИК нового игрока чтобы им каким-то образом давать рандомные задания из этого массива? Какой ивент нужен? Вот код:

    package kenik.org.spawner.spawner;

    import org.bukkit.ChatColor;


    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.Bukkit;

    import java.util.ArrayList;
    import java.util.List;

    public final class Spawner extends JavaPlugin implements Listener {

    public Inventory inv;
    String[] quests = new String[20];

    public void setQuests() {
    quests[0] = "Принести жителя";
    quests[1] = "Принести овцу";
    quests[2] = "Принести лодку";
    quests[3] = "Принести пиглина";
    quests[4] = "Принести лавомерку";
    quests[5] = "Принести чешуйницу";
    quests[6] = "Принести 8 багровых гриба";
    quests[7] = "Принетси 1 зомби жителя";
    quests[8] = "Принести 64 динамита";
    quests[9] = "Принести 5 блоков алмаза";
    quests[10] = "Принести 3 алм. меча";
    quests[11] = "Принести 16 андезита";
    quests[12] = "Принести 4 панциря";
    quests[13] = "Принести 2 блока арбуза";
    quests[14] = "Принести 1 шалкер бокс";
    quests[15] = "Принести 1 зомби";
    quests[16] = "Принести 1 кнопку";
    quests[17] = "Принести 10 железа";
    quests[18] = "Принести 2 изум.блока";
    quests[19] = "Принести 64 дёрна";
    }

    // это заготовка на рандом квестов, чтобы у 1 игрока было 3 уникальных квеста.
    int random = (int) (Math.random() * quests.length);

    @Override
    public void onEnable() {
    this.getServer().getPluginManager().registerEvents(this, this);
    createInv();
    }

    @EventHandler
    public void onClick(InventoryClickEvent event) {
    if (!event.getInventory().equals(inv))
    return;
    if (event.getCurrentItem() == null) return;
    if (event.getCurrentItem().getItemMeta() == null) return;
    if (event.getCurrentItem().getItemMeta().getDisplayName() == null) return;

    event.setCancelled(true);

    Player player = (Player) event.getWhoClicked();

    if (event.getSlot() == 11) {
    // QUEST 1 (Пока еще не делал)

    }
    }

    public void random_for_player() {

    // Тут надо сделать рандом

    }


    public void createInv() { // Это должно быть гуи
    inv = Bukkit.createInventory(null, 27, ChatColor.GOLD + "" + ChatColor.BOLD + "Забрать спавнер");

    ItemStack item = new ItemStack(Material.LIME_STAINED_GLASS_PANE);
    ItemMeta meta = item.getItemMeta();

    // LIME_STAINED_GLASS_PANE
    meta.setDisplayName("");
    List<String> lore = new ArrayList<String>();
    lore.add("");
    meta.setLore(lore);
    item.setItemMeta(meta);
    inv.setItem(0, item);
    inv.setItem(1, item);
    inv.setItem(2, item);
    inv.setItem(3, item);
    inv.setItem(5, item);
    inv.setItem(6, item);
    inv.setItem(7, item);
    inv.setItem(8, item);
    inv.setItem(9, item);
    inv.setItem(17, item);
    inv.setItem(18, item);
    inv.setItem(19, item);
    inv.setItem(20, item);
    inv.setItem(21, item);
    inv.setItem(22, item);
    inv.setItem(23, item);
    inv.setItem(24, item);
    inv.setItem(25, item);
    inv.setItem(26, item);

    // AIR
    item.setType(Material.AIR);
    meta.setDisplayName("");
    item.setItemMeta(meta);
    inv.setItem(10, item);
    inv.setItem(12, item);
    inv.setItem(14, item);
    inv.setItem(16, item);

    // QUEST
    item.setType(Material.WRITABLE_BOOK);
    meta.setDisplayName(quests[random]); // Вот тут надо для уникального игрока написать квест. Тоже не совсем понимаю как...
    item.setItemMeta(meta);
    inv.setItem(11, item);

    item.setType(Material.WRITABLE_BOOK);
    meta.setDisplayName(quests[random]); // Вот тут надо для уникального игрока написать квест. Тоже не совсем понимаю как...
    item.setItemMeta(meta);
    inv.setItem(13, item);

    item.setType(Material.WRITABLE_BOOK);
    meta.setDisplayName(quests[random]); // Вот тут надо для уникального игрока написать квест. Тоже не совсем понимаю как...
    item.setItemMeta(meta);
    inv.setItem(15, item);

    // SPAWNER
    item.setType(Material.WRITABLE_BOOK);
    meta.setDisplayName("Получить спавнер");
    lore.add(ChatColor.UNDERLINE + "Клик" + ChatColor.BOLD + " чтобы получить");
    meta.setLore(lore);
    item.setItemMeta(meta);
    inv.setItem(4, item);
    }
    }​
     
  2. Хостинг MineCraft
    <

Share This Page