Войти или зарегистрироваться

Помогите Условие с CustomModelData

Статус
Закрыто для дальнейших ответов.

Evdokimov

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
evdokimov27
Добрый день/вечер, использую ArmorEquipEvent при условии надевания тыквы с CustomModelData должно срабатывать событие, но никак не могу это сделать, если можно объясните на примере кода

Событие должно было вывести в чат номер модели (если CustomModelData:123, то пишет просто 123)
 
Я немного не понимаю эту документацию, можешь подробнее пожалуйста расписать?
 
Я попытался сделать так:
ItemStack item = new ItemStack(Material.CARVED_PUMPKIN);
if(item.getItemMeta().hasCustomModelData() && item.getItemMeta().getCustomModelData() == 1)
Но не получилось
 
Я попытался сделать так:
ItemStack item = new ItemStack(Material.CARVED_PUMPKIN);
if(item.getItemMeta().hasCustomModelData() && item.getItemMeta().getCustomModelData() == 1)
Но не получилось
Ты создаешь новый item - естественно у него не будет CMD. Бери предмет из своего ArmorEquipEvent.
 
Затупил, не обратил внимания, что создаю новый объект

Если я создам массив itemstack e.getPlayer().getInventory().getArmorContents()
То в 0 будет шлем или как он работает?
 
Последнее редактирование:
Или лучше использовать getHelment()?
 
Проблема, что он не видит ее (null)
Не знаю, откуда ты взял ивент ArmorEquipEvent, но скорее всего он проходит перед тем, как игрок наденет предмет. В таком случае у самого ивента должен быть геттер для этого, вроде ArmorEquipEvent#getItem()
 
А можно подробнее про геттер?
ArmorEquipEvent#getItem() - как это должно работать?
 
Не знаю, откуда ты взял ивент ArmorEquipEvent, но скорее всего он проходит перед тем, как игрок наденет предмет. В таком случае у самого ивента должен быть геттер для этого, вроде ArmorEquipEvent#getItem()
В плагине с этим названием был такой ивент
 
При попытке вывести item.getItemMeta().getCustomModelData() в консоль летит много ошибок, но если я вывожу вместо модели название все работает, может знаете в чем проблема может быть?
 
Закинь ошибку на pastebin.com и скинь ссылку
 
Спасибо всем кто помогал, проблема решена
 
Если вдруг кому-нибуть понадобится)

@EventHandler
public void equip(ArmorEquipEvent e) {
Player p = e.getPlayer();
if (e.getNewArmorPiece() != null && e.getNewArmorPiece().getType() != Material.AIR)
{
p.sendMessage("Броня - " + e.getNewArmorPiece().getType());
for(int model = 0; model < 255; model++) {
if (e.getNewArmorPiece().getItemMeta().getCustomModelData() == model) {
p.sendMessage(config.getString("set_model.model_"+model));
}
}
}
if (e.getNewArmorPiece() == null || e.getNewArmorPiece().getType() == Material.AIR)
{
p.sendMessage("Брони нет");
}
}
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх