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

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

Discussion in 'Разработка плагинов для новичков' started by energy455, Jul 25, 2015.

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

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

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

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

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

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

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

    Trophy Points:
    76
    Если под "взять" подразумевается "изъять"(удалить), то:
    Code:
        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);
            }
        }
     
    Last edited: Jul 26, 2015
  5. ql_Nik_lp

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    78
    Skype:
    vlad_street
    спасибо огромное))

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

    thank you
     

Share This Page