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

Помогите шмот

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

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

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

    Баллы:
    78
    Skype:
    vlad_street
    Как можно взять у игрока шмот, записать в массив, а потом по команде отдать его?

    Спасибо
     
  2. Хостинг MineCraft
    <
  3. Best_pr0stk

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

    Баллы:
    78
    Имя в Minecraft:
    Best_pr0stik
    API ессеншиала почитайте.
     
  4. leonmark061

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

    Баллы:
    76
    Если под "взять" подразумевается "изъять"(удалить), то:
    Код:
        Map<Player, ItemStack[]> invContents = new HashMap<Player, ItemStack[]>();//инвентарь
        Map<Player, ItemStack[]> armContents = new HashMap<Player, ItemStack[]>();//броня
    
        public void removeAll(Player pl)
        {
            if(invContents.containsKey(pl))//Если запись была,
                invContents.remove(pl);    //заменяем на новую
       
            if(armContents.containsKey(pl))
                armContents.remove(pl);
       
            invContents.put(pl, pl.getInventory().getContents());
            armContents.put(pl, pl.getInventory().getArmorContents());
       
            pl.getInventory().clear();//очищаем инвентарь
        }
    
        //Возвращаем вещи
        public void giveAll(Player pl)
        {
            if(invContents.containsKey(pl))
            {
                pl.getInventory().setContents(invContents.get(pl));
                invContents.remove(pl);
            }
          
            if(armContents.containsKey(pl))
            {
                pl.getInventory().setArmorContents(armContents.get(pl));
                armContents.remove(pl);
            }
        }
     
    Последнее редактирование: 26 июл 2015
  5. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Не стоит так делать.
     
  6. LomNar

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

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Ты имеешь ввиду не класть в мапу объект игрока, а его имя или UUID?
     
  7. leonmark061

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

    Баллы:
    76
    Вообще-то особой разницы нет. И он имеет ввиду нечто другое.
     
  8. LomNar

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

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Кто то писал, что объект игрока часто меняется поэтому он будет не актуальным
     
  9. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    О имел ввиду, что не стоит давать готовый код.
     
  10. Автор темы
    energy455

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

    Баллы:
    78
    Skype:
    vlad_street
    спасибо огромное))

    вот что я искал
    pl.getInventory().getContents())
    pl.getInventory().getArmorContents())
    getInventory().setContents
    getInventory().setArmorContents

    thank you
     

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