Résolu Get l'entité que je vise
-
Bonjoir à tous !
Je me heurte à un petit problème.
Je cherche à récupérer une entité quand je la vise et a une certaine distance,
il faut utiliser très certainement RayTrace, des vecteurs je pense à getLookVec(), mais je n’ai rien de concluant de mon côté.Pas la peine de vous partager mon code actuel étant donné que j’ai rage-quit dessus et ai tout supprimé….
Si quelqu’un a une idée je suis preneur !
-ZeAmateis-
-
Il y a le code de l’enderman dont tu peux t’inspirer.
-
Le truc c’est que c’est pour une commande “/delete l’entité que je vise” et que du coup j’ai pas l’instance de l’entité que je vise
-
Pirouette, tu fais ta commande et la prochaine entité tapée, autorisée à être détruite, … est détruite
Edit: Ou avec un IEntitySelector
-
Ouais mais c’est plus complexe si je dois rentrer l’id ou le nom de l’entité.
-
client ou serveur ?
Car côté client c’est très simple :@SubscribeEvent public void onClick(PlayerInteractEvent.LeftClickEmpty event) { RayTraceResult rayTrace = event.getEntityPlayer().rayTrace(4, 1.0F); if(rayTrace.typeOfHit == RayTraceResult.Type.ENTITY) { event.getEntityPlayer().sendMessage(new TextComponentString("You hit : " + rayTrace.entityHit.getName())); } }
ÉDIT : j’ai parlé trop vite, ça ne fonctionne que pour les blocs, pas les entités.
Visiblement pour savoir si tu as la souris sur une entité ou pas, ça se passe dans la fonction getMouseOver de EntityRenderer.
Tu peux utiliser Minecraft.getMinecraft().objectMouseOver si tu es côté client et que tu raytrace doit avoir la même longueur que la porté de base de minecraft.
Sinon faut faire un code custom un peu comme celui dans EntityRenderer.getMouseOver -
Le code est pour du serveur malheureusement.
-
Pourquoi ne pas faire ce qu’à dit Folgansky ? Tu tapes ta commande puis la prochaine entité que tu tapes disparait
-
Sinon si tu peux te le permettre, tu crées un item. Et là tu as direct les fonctions quand tu cliques sur une entité (sauf si ça a changé depuis 1.7.10)
-
@‘BrokenSwing’:
Pourquoi ne pas faire ce qu’à dit Folgansky ? Tu tapes ta commande puis la prochaine entité que tu tapes disparait
Ouais c’est ce que je me suis dis, mais bon la flemme donc, j’ai lâcher l’affaire….