Créer une armure
-
Merci

Cependant je n’arrive pas a mettre un effet de potion comme effet
-
Envoi le code
Envoyé de mon SM-G920F en utilisant Tapatalk
-
public void onLivingHurt(LivingHurtEvent event)
{
ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);if(boots != null && boots.getItem() == ModFairytail.bootsacier && leggings != null && leggings.getItem() == ModFairytail.leggingsacier && chestPlate != null && chestPlate.getItem() == ModFairytail.chestPlateacier && helmet != null && helmet.getItem() == ModFairytail.helmetacier)
{
if(event.source.getDamageType().equals(“arrow”))
{
player.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
}
}
} -
Utilises event.entityLiving au lieu de player.
-
Es tu sur que c’est arrow ?
Envoyé de mon SM-G920F en utilisant Tapatalk
-
mais je veux que ça soit tout le temps, pas que quand on me tape.
Il i a un event pour sa ?
non arrow c’etait pour faire des test -
j’ai fais sa
public void onLivingHurt(LivingHurtEvent event)
{
ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);if(boots != null && boots.getItem() == ModFairytail.bootsacier && leggings != null && leggings.getItem() == ModFairytail.leggingsacier && chestPlate != null && chestPlate.getItem() == ModFairytail.chestPlateacier && helmet != null && helmet.getItem() == ModFairytail.helmetacier)
{
event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
}
}mais l’effet vien que si on me tape

-
Normale vu que tu as mit ton code dans l’event LivingHurtEvent …
Faut pas copier/coller du code sans le comprendre. -
oui sa je sais a quoi il correspond mais je connais pas le type a mettre.
et quand je fais ctrl + clique dessus sa me dit que celui du hurt.
Comment je pourrai tous les voir ? -
-
Oh nice, c’est parfait

Mais c’est ou celui qui se fait lorsqu’on équipe des items ?
Mais sinon merci, j’enregistre cette page, sa va beaucoup servir
-
Oh nice, c’est parfait

Mais c’est ou celui qui se fait lorsqu’on équipe des items ?
Mais sinon merci, j’enregistre cette page, sa va beaucoup servir
est-ce que
PlayerUseItemEvent.Tick => Déclenché à chaque tick où le joueur utilise un item
pourrais fonctionner ? -
Pour que ça se déclenche à chaque tick faut utiliser :
TickEvent.PlayerTickEvent -
sa met que des erreur, je le place ou ?
voici mon code
package fairytail.common;import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraftforge.event.entity.EntityEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;public class LivingEventHandler
{
@SubscribeEvent
public void entityLiving(LivingHurtEvent event)
{
ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);if(boots != null && boots.getItem() == ModFairytail.bootsacier && leggings != null && leggings.getItem() == ModFairytail.leggingsacier && chestPlate != null && chestPlate.getItem() == ModFairytail.chestPlateacier && helmet != null && helmet.getItem() == ModFairytail.helmetacier)
{
event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
}
}@SubscribeEvent
public void onLivingFall(LivingFallEvent event)
{}
} -
à la place de LivingHurtEvent.
Il faudra aussi enregistrer la classe avec FMLCommonHandler.intance().bus().register(new LivingEventHandler()); car c’est un event fml. -
comment je l’enregistre avec FML, je l’importe ?
-
Tu prends un tajine et tu mets ton couscous dedans.
Nan je rigole apprends le java, et apprends à lire car Robin la marqué au dessus
Envoyé de mon SM-G920F en utilisant Tapatalk
-
package fairytail.common;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraftforge.event.entity.EntityEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;public class LivingEventHandler
{
@SubscribeEvent
public void TickEvent.PlayerTickEvent(TickEvent.PlayerTickEvent event)
{
ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);if(boots != null && boots.getItem() == ModFairytail.bootsacier && leggings != null && leggings.getItem() == ModFairytail.leggingsacier && chestPlate != null && chestPlate.getItem() == ModFairytail.chestPlateacier && helmet != null && helmet.getItem() == ModFairytail.helmetacier)
{
event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
}
}@SubscribeEvent
public void onLivingFall(LivingFallEvent event)
{}
}
j’ai plein d’erreur
et pour ce qui est d’ienregistrer la classe avec j’ai pas compris se qu’il faut faire
(j’ai rien dit, c’est bon x) ) -
public void TickEvent.PlayerTickEvent(TickEvent.PlayerTickEvent event)
Un nom de fonction ne doit pas contenir un point et commence par une minuscule :
public void onPlayerTick(TickEvent.PlayerTickEvent event)et il faut mettre cette ligne :
FMLCommonHandler.intance().bus().register(new LivingEventHandler());
dans la fonction init de ta classe principale. -
@SubscribeEvent
public void onPlayerTick(TickEvent.PlayerTickEvent event)
{
ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);if(boots != null && boots.getItem() == ModFairytail.bootsacier && leggings != null && leggings.getItem() == ModFairytail.leggingsacier && chestPlate != null && chestPlate.getItem() == ModFairytail.chestPlateacier && helmet != null && helmet.getItem() == ModFairytail.helmetacier)
{
event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
}
}@SubscribeEvent
public void onLivingFall(LivingFallEvent event)
{}
}c’est les entityLiving maintenant qui sont en rouge
pourquoi j’ai pas apris le java 