Player + Armure invisible
-
Bonsoir, je me permet de up !
PS : Désolé si c’est double post, mais je ne savais pas si j’éditer mon message précédent ça marcherait

-
Essaie de le cast à EntityPlayer.
-
Il me semblait que cette fonction était dans EntityLivingBase.
Mais visiblement non.
Du-coup fait comme ça :
if(entity instanceof EntityPlayer && ((EntityPlayer )entity).hasPotionEffect(Potion.nightVision.getId()) -
Non toujours la même erreur.
Voici la class :
package com.heartshadow.mod.armors; import com.heartshadow.mod.HSMOD; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class ItemProtoArmor extends ItemArmor { public ItemProtoArmor(ArmorMaterial material_, int type) { super(material_, 0, type); } public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(entity instanceof EntityPlayer && ((EntityPlayer)entity).hasPotionEffect(Potion.nightVision.getId())); { return HSMOD.MODID + ":textures/models/armor/proto_invisible.png"; } if(slot == 2) { return HSMOD.MODID + ":textures/models/armor/proto_layer_2.png"; } return HSMOD.MODID + ":textures/models/armor/proto_layer_1.png"; } public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == HSMOD.protoIngot) { return true; } return false; } public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { if(this.armorType == 0 && world.getBlockLightValue(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ)) < 8) { player.addPotionEffect(new PotionEffect(Potion.nightVision.getId(), 1200, 0)); } if(this.armorType == 2 && player.isSprinting() && player.onGround) { player.motionX *= 1.3F; player.motionZ *= 1.3F; } if(this.armorType == 3 && player.isSneaking() && player.onGround) { player.addPotionEffect(new PotionEffect(Potion.invisibility.getId(), 200, 0)); } if(this.armorType == 1 && player.isBurning()) { player.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), 1200, 3)); } } @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack par1ItemStack) { return true; } } -
Au pire getActivePotionEffect().contains(Potion.nightVision) ou getActivePotionEffect().contains(Potion.nightVision.getId())
-
Je remplace le hasPotionEffect par le getActivePotionEffect ?
-
Oui.
-
Toujours la même erreur

-
Laquelle ?
-
Je viens de vérifier comme j’avais eclipse ouvert, le bon nom est isPotionActive(Potion.nightVision)
-
Ok, j’essayerai demain. Je suis sur mon phone là
EDIT : ça fonctionne, merci à toi !
