Mêttre des effets sur un Kit
-
@‘H33nok’:
Merci ,Une fois que j’ai créer la fonction dans ma class comment je fais pour ici ?
ItemStack apple = this.playerAsItem(?????);Perso je dirai cimmz ceci mais je ne suis pas sûr pour le metadata : si c est pas 0 mets 1
ItemStack apple = this.playerAsItem(Minecraft.getMinecraft.thePlayer,Items.apple, 0);
Tiens moi au courant stp

-
ça me fait une erreur enfaite… ça me fait :
Type mismatch: cannot convert from boolean to ItemStack 2 quick fixes available : Change type of 'apple' to 'boolean' Change return type of 'playerAsItem(..)' to 'ItemStackItemStack apple = this.playerAsItem(Minecraft.getMinecraft().thePlayer,Items.apple, 0); Je met ça pourtant
-
La fonction que je t’ai donné permet directement de savoir si ou ou non le joueur à l’item, et on n’utilise JAMAIS Minecraft.getMinecraft().thePlayer sur une classe serveur, ça détruit la compatibilité serveur.
boolean asApple = playerAsItem(player, Items.apples, 0);ou alors tu peux directement faire :
if(playerAsItem(player, Items.apples, 0)) -
ItemStack boots = player.getEquipmentInSlot(1); ItemStack leggings = player.getEquipmentInSlot(2); ItemStack chestPlate = player.getEquipmentInSlot(3); ItemStack helmet = player.getEquipmentInSlot(4); boolean asApple = playerAsItem(player, Items.apple, 0); if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10)); }Comment j’ajoute l’item Apple ?..

-
@‘H33nok’:
ItemStack boots = player.getEquipmentInSlot(1); ItemStack leggings = player.getEquipmentInSlot(2); ItemStack chestPlate = player.getEquipmentInSlot(3); ItemStack helmet = player.getEquipmentInSlot(4); boolean asApple = playerAsItem(player, Items.apple, 0); if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10)); }Comment j’ajoute l’item Apple ?..

Tout simplement en ajoutant le boolean dans tes conditions
&& asApple…. -
Je l’ai déjà fait ça , sa marche pas car c’est un Boolean
-
Bah oui merde ^^ J’avais oublié de rajouter ça
Par contre comment je pourrai faire une fois mi le kit sa envoie un message dans le chat genre ‘Vous avez un kit de speed’ ?
-
bah tu as déjà ta condition qui t’ajoute un effet de potion donc tu as juste à rajouter ce code là en dessous :
player.addChatComponentMessage(new ChatComponentTranslation("tile.testTonMessage.kitVitesseDetectee", new Object[0]));et ensuite dans tes dossiers lang tu ajoutes la traduction en mettant
tile.testTonMessage.kitVitesseDetectee = traduction que tu veux
-
Le message il me le met à l’infini , y’aurai t-il une méthode pour en afficher qu’un ?
-
Je te propose ce code ou tu fais une boucle for qui affiche le message autant de fois que = i
(Desole du manque de balise, sur mon tel elles ne marchent pas…)
[font=Monaco, Consolas, Courier, monospace ItemStack boots = player.getEquipmentInSlot(1);
]
[size=x-small ItemStack leggings = player.getEquipmentInSlot(2);][size=x-small ItemStack chestPlate = player.getEquipmentInSlot(3);]
[size=x-small ItemStack helmet = player.getEquipmentInSlot(4);]
[size=x-small boolean asApple = playerAsItem(player, Items.apple, 0);]
[size=x-small ]
[font=Monaco, Consolas, Courier, monospace if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto] [size=xx-small && asApple)]
[font=Monaco, Consolas, Courier, monospace {]
[font=Monaco, Consolas, Courier, monospace player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10));]
[font=Monaco, Consolas, Courier, monospace for (int i = 0; i < 1; i++)]
[font=Monaco, Consolas, Courier, monospace{][size=x-largeplayer][size=x-large.][size=x-largeaddChatComponentMessage][size=x-large(][size=x-largenew] [size=x-largeChatComponentTranslation][size=x-large(][size=x-large“tile.testTonMessage.kitVitesseDetectee”][size=x-large,] [size=x-largenew] [size=x-largeObject][size=x-large[[/font]][size=x-large0][size=x-large]));]
[font=Monaco, Consolas, Courier, monospace}]
[font=Monaco, Consolas, Courier, monospace}] -
Fonctionne pas
sa me l’affiche illimité -
@‘H33nok’:
Fonctionne pas
sa me l’affiche illimitéremplace la boucle for par
if (i < 1) { i++; %(#000000)[[size=xx-small]player]%(#666600)[[size=xx-small].]%(#000000)[[size=xx-small]addChatComponentMessage]%(#666600)[[size=xx-small](]%(#7f0055)[[size=xx-small]**new**]%(#000000)[[size=xx-small]ChatComponentTranslation]%(#666600)[[size=xx-small](]%(#2a00ff)[[size=xx-small]"tile.testTonMessage.kitVitesseDetectee"]%(#666600)[[size=xx-small],]%(#555555)[[size=xx-small] ]%(#7f0055)[[size=xx-small]**new**]%(#555555)[[size=xx-small] ]%(#000000)[[size=xx-small]Object]%(#666600)[[size=xx-small][[/font]]%(#646464)[[size=xx-small]0]%(#666600)[[size=xx-small]]));] }et crées une variable de type int égal à 0
Sinon je ne sais pas :huh: :huh:
-
Rahh ça marche toujours pas

-
Quelqu’un serait comment faire ?
car le message s’affiche en illimité -
Envoie toute ta fonction onArmorTick.
-
ItemStack boots = player.getEquipmentInSlot(1); ItemStack leggings = player.getEquipmentInSlot(2); ItemStack chestPlate = player.getEquipmentInSlot(3); ItemStack helmet = player.getEquipmentInSlot(4); boolean asApple = playerAsItem(player, Items.apple, 0); if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10)); player.addChatComponentMessage(new ChatComponentTranslation("tile.testTonMessage.kitVitesseDetectee", new Object[0])); }Voilà
-
@‘H33nok’:
ItemStack boots = player.getEquipmentInSlot(1); ItemStack leggings = player.getEquipmentInSlot(2); ItemStack chestPlate = player.getEquipmentInSlot(3); ItemStack helmet = player.getEquipmentInSlot(4); boolean asApple = playerAsItem(player, Items.apple, 0); if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10)); player.addChatComponentMessage(new ChatComponentTranslation("tile.testTonMessage.kitVitesseDetectee", new Object[0])); }Voilà
n’oublie pas de boolean et la boucle for
[size=x-small if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto && asApple)] [size=x-small {] [size=x-small player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10));] [size=x-smallfor (int i = 0; i<1; i++) {] [size=x-smallif (!World.worldObj.isRemote){] [size=x-small player.addChatComponentMessage(new ChatComponentTranslation("tile.testTonMessage.kitVitesseDetectee", new Object[0]));] [size=x-small}}] [size=x-small }] -
Fait comme ça :
ItemStack boots = player.getEquipmentInSlot(1); ItemStack leggings = player.getEquipmentInSlot(2); ItemStack chestPlate = player.getEquipmentInSlot(3); ItemStack helmet = player.getEquipmentInSlot(4); boolean asApple = playerAsItem(player, Items.apple, 0); if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10)); if(!player.getEntityData().getBoolean("kitVitesse") { player.addChatComponentMessage(new ChatComponentTranslation("tile.testTonMessage.kitVitesseDetectee")); player.getEntityData().setBoolean("kitVitesse", true); } } -
ça marche mais sa ne l’affiche qu’une fois ^^ Genre y’aurai pas un moyen de l’afficher quand il met le Kit , genre le joueur met le Kit sa lui affiche un message dans le chat , après il enlève le kit , il le remet , et sa lui réaffiche un message
-
if(!player.isPotionActive(Potion.moveSpeed.getId())) { player.getEntityData().setBoolean("kitVitesse", false); }Mets ça avant
player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10));