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

Помогите Вернуть в инвентарь блок, который ломает игрок

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

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

    Xont Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    xOnt
    Приветствую, форумчане!
    Собственно, весь сабж в названии темы: мне нужно вернуть в инвентарь игроку неломаемый блок, который он пытается сломать. Больше всего меня интересуют различные спавнеры, материал - один (спавнер свиньи), а видов спавнеров - несколько, и при этом другие спавнеры, отличные от обычного не имеют собственного ID. Так что getTypeId и Material никак не помогут...
    Прошу вашей помощи и заранее благодарю!
     
  2. Хостинг MineCraft
    <
  3. kvqplay

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

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Тип спавнера можно устанавливать только когда он поставлен как блок , в инвентаре никак (хотя я точно не уверен).
     
  4. Plasticable

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

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    TMI-же как-то позволяет брать спавнеры всех мобов. Даже на серверах.
     
  5. kvqplay

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

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Ни разу не видел чтоб в TMI можно было брать спавнеры на серверах .[DOUBLEPOST=1420653666,1420653582][/DOUBLEPOST]кроме стандартного
     
  6. Автор темы
    Xont

    Xont Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    xOnt
    Можно достать getCreatureType, но я не знаю как этим оперировать. :/
     
  7. kvqplay

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

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    CreatureType - возвращает название моба
    getCreatureType().toString

    [​IMG]
    Т.к. редактировать спавнер можно только когда он поставлен то храни название в имени\лор предмета а потом когда игрок его ставит меняй тип на какой нужно
    CreatureType.fromName(name)
     
  8. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Что вы тут городите? У спавнера должен быть таг отвечающий за тип моба, который сам все это делает. Спавнеры могут иметь тип.
     
  9. kvqplay

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

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    В случае с TMI это дата , на серверах такого нет .[DOUBLEPOST=1420657895,1420656417][/DOUBLEPOST]Ладно , есть . Немного полазил в гугле , вот нашел
    ItemStack item = new ItemStack(Material.MOB_SPAWNER, amount, entityID);

    getSpawnedType().getTypeId();
     
  10. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Если бы его не было, то невозможно было бы просто взять в руки, и поставить спанер определенного типа.
     
  11. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Могу я посоветовать копать лишь в сторону NMS. В Bukkit API нет изменений под 1.8, где есть возможность одним предметом пять сундуков с предметами носить. Иль выдать спавнер несущий код заранее, как этой вот командой:
    /give lokivava minecraft:mob_spawner 1 0 {{display:{Name:"Спавнер зобми",Lore:["На самом деле динамита"]},BlockEntityTag:{EntityId: PrimedTnt,SpawnRange:5,RequiredPlayerRange:3,MinSpawnDelay:1,MaxSpawnDelay:1,MaxNearbyEntities:20000}}
     
  12. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Могу предложить костыль в виде задания имени и lore...

    Можете покурить еще
    CreatureSpawner spawnerState = ((CreatureSpawner)block.getState());
     

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