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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Kenik228, 12 июн 2022.

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

    Kenik228 Ньюби

    Баллы:
    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
    <
  3. Pelmeshik

    Pelmeshik Активный участник Пользователь

    Баллы:
    78
    Читайте больше документаций.
    player.getName(); ник
     

Поделиться этой страницей