Mathios написал(а):Всем привет, на днях я столкнулся с такой проблемой как создание Маны, наверно вы знаете такой мод как Ars Magica 2 так вот там есть та самая мана но как мне её сделать, чтоб также была мана с начальной кол-во, например Мана 100/100. Надеюсь на вашу помощь
wgalexru написал(а):Mathios написал(а):Всем привет, на днях я столкнулся с такой проблемой как создание Маны, наверно вы знаете такой мод как Ars Magica 2 так вот там есть та самая мана но как мне её сделать, чтоб также была мана с начальной кол-во, например Мана 100/100. Надеюсь на вашу помощь
>>клик<<
Mathios написал(а):И что это ?
timaxa007 написал(а):Подобный вопрос был (но темы не осталось), но ответ примерно такой. Используй: IExtendedEntityProperties, EntityEvent.EntityConstructing для IExtendedEntityProperties. А так-же понадобиться пакеты дабы на клиенте были такие-же значения как и на сервере. И по классу, где используется IExtendedEntityProperties, проверяешь какое значение имеет мана у его игрока (и можно даже у моба).
Чтобы иконка была у тебя на экране можно использовать эвент RenderGameOverlayEvent - http://forum.mcmodding.ru/%D0%A2%D0%B5%D0%BC%D0%B0-%D0%A2%D1%83%D1%82%D0%BE%D1%80%D0%B8%D0%B0%D0%BB-%D0%9C%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC-%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B0%D0%BD%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B3%D1%83%D0%B8-%D0%B2-%D0%B8%D0%B3%D1%80%D0%B5
Только место изменения, ты добавляешь иконку.
@Override
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
if (!world.isRemote) {
ManaEntity mana_entity = ManaEntity.get(player);
if (mana_entity != null) {
int count_use_mana = 10;//Количество используемой маны
if (mana_entity.hasMana(-count_use_mana)) {//Достаточно-ли маны, то...
mana_entity.addMana(-count_use_mana);//Убавляем количество маны
//Тут может быть, то что вы захотите.
EntityFireBall fireball = new EntityFireBall(world, player);
world.spawnEntityInWorld(fireball);
}
}
}
return super.onItemRightClick(is, world, player);
}
}
timaxa007 написал(а):Эм... Ссылку на мой IExtendedEntityProperties или путь до класса?
Путь до класса - net.minecraftforge.common.IExtendedEntityProperties;
Ссылки на мой IExtendedEntityProperties нету, но показать мой могу, если надо.
timaxa007 написал(а):Если ты имелл виду про урок, то вроде как wgalexru скинул эту ссылку. (Только вроде сейчас на том сайте какие проблемы.)
ExampleEntityProperty data = ExampleEntityProperty.get(entity);
drawString("Mana: " + data.mana + "/" + data.manaMax, posX, posY, 4210752);
timaxa007 написал(а):Типа:
Рендер постоянно обновляется, так-что и информация может меняться, если конечно правельно будет настроено для клиентской части.Код:ExampleEntityProperty data = ExampleEntityProperty.get(entity); drawString("Mana: " + data.mana + "/" + data.manaMax, posX, posY, 4210752);