Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Xont

Новичок
Пользователь
Баллы
11
Имя в Minecraft
xOnt
Приветствую, форумчане!
Собственно, весь сабж в названии темы: мне нужно вернуть в инвентарь игроку неломаемый блок, который он пытается сломать. Больше всего меня интересуют различные спавнеры, материал - один (спавнер свиньи), а видов спавнеров - несколько, и при этом другие спавнеры, отличные от обычного не имеют собственного ID. Так что getTypeId и Material никак не помогут...
Прошу вашей помощи и заранее благодарю!
 
Тип спавнера можно устанавливать только когда он поставлен как блок , в инвентаре никак (хотя я точно не уверен).
 
Тип спавнера можно устанавливать только когда он поставлен как блок , в инвентаре никак (хотя я точно не уверен).
TMI-же как-то позволяет брать спавнеры всех мобов. Даже на серверах.
 
Можно достать getCreatureType, но я не знаю как этим оперировать. :/
 
CreatureType - возвращает название моба
getCreatureType().toString

5uzsWqK.png

Т.к. редактировать спавнер можно только когда он поставлен то храни название в имени\лор предмета а потом когда игрок его ставит меняй тип на какой нужно
CreatureType.fromName(name)
 
CreatureType - возвращает название моба
getCreatureType().toString

5uzsWqK.png

Т.к. редактировать спавнер можно только когда он поставлен то храни название в имени\лор предмета а потом когда игрок его ставит меняй тип на какой нужно
CreatureType.fromName(name)
Что вы тут городите? У спавнера должен быть таг отвечающий за тип моба, который сам все это делает. Спавнеры могут иметь тип.
 
Что вы тут городите? У спавнера должен быть таг отвечающий за тип моба, который сам все это делает. Спавнеры могут иметь тип.
В случае с TMI это дата , на серверах такого нет .
Ладно , есть . Немного полазил в гугле , вот нашел
ItemStack item = new ItemStack(Material.MOB_SPAWNER, amount, entityID);

getSpawnedType().getTypeId();
 
В случае с TMI это дата , на серверах такого нет .
Ладно , есть . Немного полазил в гугле , вот нашел
ItemStack item = new ItemStack(Material.MOB_SPAWNER, amount, entityID);

getSpawnedType().getTypeId();
Если бы его не было, то невозможно было бы просто взять в руки, и поставить спанер определенного типа.
 
Могу я посоветовать копать лишь в сторону 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}}
 
Могу предложить костыль в виде задания имени и lore...

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

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

Назад
Верх