Создание маны

Версия Minecraft
1.7.10
43
0
Всем привет, на днях я столкнулся с такой проблемой как создание Маны, наверно вы знаете такой мод как Ars Magica 2 так вот там есть та самая мана но как мне её сделать, чтоб также была мана с начальной кол-во, например Мана 100/100. Надеюсь на вашу помощь
 
98
1
0
Mathios написал(а):
Всем привет, на днях я столкнулся с такой проблемой как создание Маны, наверно вы знаете такой мод как Ars Magica 2 так вот там есть та самая мана но как мне её сделать, чтоб также была мана с начальной кол-во, например Мана 100/100. Надеюсь на вашу помощь

>>клик<<
 
43
0
wgalexru написал(а):
Mathios написал(а):
Всем привет, на днях я столкнулся с такой проблемой как создание Маны, наверно вы знаете такой мод как Ars Magica 2 так вот там есть та самая мана но как мне её сделать, чтоб также была мана с начальной кол-во, например Мана 100/100. Надеюсь на вашу помощь

>>клик<<

И что это ?
 

timaxa007

Модератор
5,831
409
672
Подобный вопрос был (но темы не осталось), но ответ примерно такой. Используй: 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
Только место изменения, ты добавляешь иконку.
 
43
0
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
Только место изменения, ты добавляешь иконку.


Спасибо, но ты не подскажешь как сделать так чтоб при каком то событие мана отнималась в Ars Magica 2 есть такая фишка
 

timaxa007

Модератор
5,831
409
672
А как тут подсказать? Переменную в классе где ты используешь IExtendedEntityProperties отнимаешь у объекта этого класса для определённого события.


Код:
	@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

Модератор
5,831
409
672
Эм... Ссылку на мой IExtendedEntityProperties или путь до класса?
Путь до класса - net.minecraftforge.common.IExtendedEntityProperties;
Ссылки на мой IExtendedEntityProperties нету, но показать мой могу, если надо.
 
43
0
timaxa007 написал(а):
Эм... Ссылку на мой IExtendedEntityProperties или путь до класса?
Путь до класса - net.minecraftforge.common.IExtendedEntityProperties;
Ссылки на мой IExtendedEntityProperties нету, но показать мой могу, если надо.

нет я просто имел виду что за IExtendedEntityProperties я просто с ним не знаком !
 

timaxa007

Модератор
5,831
409
672
Если ты имелл виду про урок, то вроде как wgalexru скинул эту ссылку. (Только вроде сейчас на том сайте какие проблемы.)


Но есть и другая ссылка на другой урок (вроде) https://mcforge.readthedocs.io/en/latest/datastorage/extendedentityproperties/
 
43
0
timaxa007 написал(а):
Если ты имелл виду про урок, то вроде как wgalexru скинул эту ссылку. (Только вроде сейчас на том сайте какие проблемы.)

Эх....жаль, а можно ли за место текстуры маны, использовать надпись "Мана" и кол-во маны(то есть цифрами 100\100)
 
43
0
Спасибо вам за ссылки про IExtendedEntityProperties я читал вроде что-то да и понятно, но вот вопрос как реализовать эти кол-во маны(цифры) чтоб 100\100 и привязать их чтоб при событиях, эта часть отнималась\100. Например при нажатие X у нас произошел взрыв и отнялось  50 маны то есть стало 50\100, и нажали кнопку с и у нас каждую 2 сек восстановилось 5 маны
 

timaxa007

Модератор
5,831
409
672
Типа:
Код:
ExampleEntityProperty data = ExampleEntityProperty.get(entity);
drawString("Mana: " + data.mana + "/" + data.manaMax, posX, posY, 4210752);
Рендер постоянно обновляется, так-что и информация может меняться, если конечно правельно будет настроено для клиентской части.
 
43
0
timaxa007 написал(а):
Типа:
Код:
ExampleEntityProperty data = ExampleEntityProperty.get(entity);
drawString("Mana: " + data.mana + "/" + data.manaMax, posX, posY, 4210752);
Рендер постоянно обновляется, так-что и информация может меняться, если конечно правельно будет настроено для клиентской части.

Спасибо огромнейшие, дальше я разберусь ! :)
 
Сверху