1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

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

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

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

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

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

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

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Ни разу не видел чтоб в TMI можно было брать спавнеры на серверах .
    кроме стандартного
     
  5. Автор темы
    Xont

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

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

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

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

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

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

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

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

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

    getSpawnedType().getTypeId();
     
  9. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Если бы его не было, то невозможно было бы просто взять в руки, и поставить спанер определенного типа.
     
  10. 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}}
     
  11. ql_Nik_lp

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

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

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

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