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

Помогите Как получить material по ид и субид

solid

Активный участник
Баллы
78
Подскажите, что-то туплю не могу разобраться
вот надо мне скажем цветную шерсть:
Material iss = Material.getMaterial(35);
а как субид-то задать?
 
Ну если кто на бронепоезде, то поясняю:
1. пишу плагин для буккита
2. есть необходимость дать игроку предмет определенного ид и субид. У шерсти ид=35, а субид у каждого цвета шерсти - свой. Вот как мне дать игроку не просто шерсть, а именно определенную.

ЗЫ Видимо на рубукките в разделе "разработка плагинов" обсуждают не разработку, а настройку готовых...
 
да мне не нужны команды плагинов их я и так знаю, меня интересует как это реализовано в самом плагине. Видать проще посмотреть исходники CommandBook'a ;)
UPD: Посмотрел :) если кому нужно, то делается это так:
ItemStack iss = new ItemStack( <ид> , <количество> , (short) <субид> );
 
Лучше смотреть ещё и JavaDoc :)
http://jd.bukkit.org/doxygen/d9/da1/classorg_1_1bukkit_1_1inventory_1_1ItemStack.html

Варианты конструкторов на все случаи жизни:

ItemStack (final int type)
ItemStack (final Material type)
ItemStack (final Material type, final int amount)
ItemStack (final Material type, final int amount, final short damage, final Byte data)
ItemStack (final ItemStack stack)
ItemStack (final int type, final int amount, final short damage)
ItemStack (final int type, final int amount)
ItemStack (final Material type, final int amount, final short damage)
ItemStack (final int type, final int amount, final short damage, final Byte data)
 
/give <ник> <ID> <кол-во>
Раздел форума называется "Разработка плагинов", а не "вопросы новичков"... Иными словами здесь не спрашивают команд, здесь их "программируют" (чтобы потом спрашивать ;))
 
Конечно смотрел :) видать не внимательно...
ItemStack (final int type, final int amount, final short damage, final Byte data)
type - ид; data - субид?

и второй вопрос вдогонку:
Код:
ItemStack iss = new ItemStack(item_id,num,(short)item_subid);
player.getInventory().addItem(iss);
если iss из модов, например квантовый шлем из inductrial craft, то вылетает ошибка и клиент крашится. Что посоветуете?
 
Конечно смотрел :) видать не внимательно...
type - ид; data - субид?

Да, именно так.


и второй вопрос вдогонку:
Код:
ItemStack iss = new ItemStack(item_id,num,(short)item_subid);
player.getInventory().addItem(iss);
если iss из модов, например квантовый шлем из inductrial craft, то вылетает ошибка и клиент крашится. Что посоветуете?

Я, к сожалению, ничего не смогу посоветовать. Я не пробовал ничего делать под модифицированные версии буккита. Я ведь правильно понимаю, у Вас и буккит под IC пропатчен?
 
ЧТО????ты вообще о чем?
Если есть CommandBook то можно написать /give <Ник> <ID> <Кол-во> но в твоем случае ID - 35:1, 35:2 и т.д.
/give <ник> <ID> <кол-во>
Уже привыкли что рубаккит только для тупых вопросов из F.A.Q.
А ещё вы не знаете о чём говорят... [я бы объяснил понятнее, но тогда меня забанят]
 
@ufatos, И?

@ensirius предложил вполне себе работоспособный вариант. На мой взгляд не совсем правильный (getDamage/setDamage - это в первую очередь для повреждаемых предметов), но подойдёт и для других случаев.
В любом случае автор темы ответ на вопрос уже получил.
 
@ufatos, И?

@ensirius предложил вполне себе работоспособный вариант. На мой взгляд не совсем правильный (getDamage/setDamage - это в первую очередь для повреждаемых предметов), но подойдёт и для других случаев.
В любом случае автор темы ответ на вопрос уже получил.
Черт, я слоу. Не заметил, что Тс уже нашел ответ.
 

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

Назад
Верх