cool56563 написал(а):
player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(100.0D);
cool56563 написал(а):
player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(10.0D);
В эвенте при появлении в мире EntityJoinWorldEvent, я так предполагаю.cool56563 написал(а):Это нужно в своем моде писать? Или редактировать класс с игроком (если да, то где он находится), ну или вообще с помощью ивента.
Где прописывать? xD (Я рил не знаю .-. )timaxa007 написал(а):cool56563 написал(а):---Код:player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(100.0D);
cool56563 написал(а):---Код:player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(10.0D);
В эвенте при появлении в мире EntityJoinWorldEvent, я так предполагаю.cool56563 написал(а):Это нужно в своем моде писать? Или редактировать класс с игроком (если да, то где он находится), ну или вообще с помощью ивента.
MinecraftForge.EVENT_BUS.register(new Event());
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
public class Event {
@ForgeSubscribe
public void entityJoinWorldEvent(EntityJoinWorldEvent event) {
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)event.entity;
player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(10.0D);
}
}
}
Очень сильно благодарен. Вот только можно их сделать в линию и что-бы они не лезли в верх ибо не красиво, а что-бы налегали на друг друга?timaxa007 написал(а):В init:
Код:MinecraftForge.EVENT_BUS.register(new Event());
Код:import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.EntityJoinWorldEvent; public class Event { @ForgeSubscribe public void entityJoinWorldEvent(EntityJoinWorldEvent event) { if (event.entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)event.entity; player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(10.0D); } } }
.setAttribute();
UUID ID = UUID.randomUUID();
String name = "lalala";
...
double value = 10D;
float tmp = entity.getHealth() / entity.getMaxHealth();
IAttributeInstance attr= entity.getEntityAttribute(SharedMonsterAttributes.maxHealth);
AttributeModifier mod = attr.getModifier(ID);
if (mod != null) {
attr.removeModifier(mod);
}
AttributeModifier newMod = new AttributeModifier(ID, name, value, 0).setSaved(true);
attr.applyModifier(newMod);
entity.setHealth(entity.getMaxHealth() * tmp);
Dahaka написал(а):Плохой подход.Код:.setAttribute();
Лучше так
Код:UUID ID = UUID.randomUUID(); String name = "lalala"; ... double value = 10D; float tmp = entity.getHealth() / entity.getMaxHealth(); IAttributeInstance attr= entity.getEntityAttribute(SharedMonsterAttributes.maxHealth); AttributeModifier mod = attr.getModifier(ID); if (mod != null) { attr.removeModifier(mod); } AttributeModifier newMod = new AttributeModifier(ID, name, value, 0).setSaved(true); attr.applyModifier(newMod); entity.setHealth(entity.getMaxHealth() * tmp);
denuvo написал(а):У меня в ClientEvents