Aide pour mon item !
-
Bonour,
J’'aimerai savoir comment faire pour quand je fais click droit avec un item sa fait spawn une tnt allumé dans les air, par terre, fin ou je regardeCordialement; FanatikForce
-
Pour cela il faut que tu utilise la fonction onItemRightClick et que dedans tu instance la class de L’ENTITY de la tnt et non le block
-
@‘SpyMan’:
Pour cela il faut que tu utilise la fonction onItemRightClick et que dedans tu instance la class de L’ENTITY de la tnt et non le block
Je suis désolé mais je suis débutant forge je ne comprend pas vraiment j’ai juste que compris que la fonction était onRightClickItem mais je ne sais pas comment instance la class de l’entité
-
d’accord je vais t’aider pas à pas
tu a juste ajouter cette fonction dans la class de l’item en question :@Override public ActionResult <itemstack>onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand) { if (!world.isRemote) // très important a ne pas oublié : le code qui se trouve dans cette condition sera executer que coté serveur. CECI EST TRES IMPORTANT { EntityTNTPrimed entityTNTPrimed = new EntityTNTPrimed(world); // instance de la class de l'entité entityTNTPrimed.setPosition(player.posX, player.posY + 5, player.posZ); // je lui dit la position a la quelle elle doit spawner entityTNTPrimed.setFuse(8); // durée de la meche/compte à rebours avant explosion world.spawnEntityInWorld(entityTNTPrimed); // je fait spawn l'entité } return new ActionResult(EnumActionResult.PASS, itemStack); } ```</itemstack>
-
Ok, tu me rappelles moi il y a un an sur ce forum alors chui obligé d’aider un peu x]
Déjà, la section recherche est ta meilleure amie, toujours t’en rappeler avant de dire que tu ne sais pas comment t’y prendre 5 minutes après que l’on t’ait donné une piste où commencer à chercher.
- Pour savoir où tu cliques il faudra que tu fasses un rayTrace et il y a déjà plusieurs sujets à propos je pense mais certainement celui-ci déjà:
https://www.minecraftforgefrance.fr/showthread.php?tid=4009
- Maintenant concernant le fait de faire spawn ta tnt, fais une recherche, je pense que des sujets ont déjà traité de ça et pas mal d’occurrences sur “tnt” devraient ressortir.
D’avance courage, tu vas te heurter à plein d’incompréhension.Du sang, de la sueur et des larmes couleront =D
Musique épique en fondAllez, salut!
-
@‘SpyMan’:
d’accord je vais t’aider pas à pas
tu a juste ajouter cette fonction dans la class de l’item en question :@Override public ActionResult <itemstack>onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand) { if (!world.isRemote) // très important a ne pas oublié : le code qui se trouve dans cette condition sera executer que coté serveur. CECI EST TRES IMPORTANT { EntityTNTPrimed entityTNTPrimed = new EntityTNTPrimed(world); // instance de la class de l'entité entityTNTPrimed.setPosition(player.posX, player.posY + 5, player.posZ); // je lui dit la position a la quelle elle doit spawner entityTNTPrimed.setFuse(8); // durée de la meche/compte à rebours avant explosion world.spawnEntityInWorld(entityTNTPrimed); // je fait spawn l'entité } return new ActionResult(EnumActionResult.PASS, itemStack); } ```</itemstack>
Re-Bonjour
J’ai quelques erreurs sur le code que tu ma donner, peut tu m’aider ?
http://prntscr.com/d5n0scCordialement, FanatikForce
-
oups dsl je t’es filé du code 1.8 retire le ActionResult <itemstack>au debut de la ffonction et remplace par simpplement ItemStack, dans le return met juste return itemStack et puis dans les arguments de la fonction retire le paramètre EnumHand</itemstack>
-
@‘SpyMan’:
oups dsl je t’es filé du code 1.8 retire le ActionResult <itemstack>au debut de la ffonction et remplace par simpplement ItemStack, dans le return met juste return itemStack et puis dans les arguments de la fonction retire le paramètre EnumHand</itemstack>
J’ai toujours des erreur
http://prntscr.com/d5nmmuCordialement, FanatikForce
-
ecoute dans le return faut return le parametre itemStack pas instancer un itemstack
tu fait justereturn itemStack;
et retire l’instruction
entityTNTPrimed.setFuse(8);