1.12.2 Entité qui bouge et attaque uniquement quand aucun joueur ne la regarde



  • Salut.

    J'essaye de faire quelque chose sans succès de puis un moment ; faire en sorte que l'entité que j'ai crée ne bouge et attaque uniquement lors-quelle n'est pas dans le champ de vision d'un ou plusieurs joueurs, tant qu'un joueur la regarde, elle ne pourras pas bouger.

    Il faudras d'abord trouver un code pour détecter si un joueur regarde l'entité, et puis ensuite de faire une fonction booléenne pour dire si l'entité puisse bouger ou non (il ne me semble pas qu'il y en ai prédéfinie dans la classe EntityMob)

    Il faut retenir que je suis particulièrement mauvais en modding 1.12.2, j'ai commencé en 1.7.10 et la 1.12 à énormément de différences.

    Merci d'avance aux braves qui m'aideront et dédicace au forum officiel anglais pour m'avoir gerté parce que je code pas en version récente :rire:



  • Bonjour, pour savoir si ton entité est regardée ou non, est tu allé voir le code de l'enderman pour savoir si un joueur le regarde ou non?



  • Oui, je suis allé voir mais niveau compréhension c'était pas fou. J'ai bien sûr trouvé le code, mais pour l'enderman, il faut au moins le viser alros que mon but est de détecter si l'entité est dans le champ de vision du joueur



  • @spri_kush ça va être compliquer ...
    Selon le FOV tu n'as pas la même dimension de vision, dans ce cas il te faudra récupérer la direction que regarde le joueur, faire une approximation d'un FOV basique et de vérifier si l'entité est là dedans.

    Il n'existe rien qui puisse fonctionner, il faudra que tu fabriques toi même ta fonction à partir de chaque regards de chaque joueurs ... (Des calculs qui je pense seront lourd).

    D'où le faite que l'enderman utilise l'exacte visée.



  • @UtopiePhysique Ah, il n'y a pas un moyen de get le Fov du joueur ?



  • @spri_kush Le FOV est sur le client, le serveur n'étant pas lié il serait simple de tricher, tout dépend l'utilité de ton mod et sa fonction si c'est pour un serveur ou un mod public, et même si c'est pour l'un ou l'autre étant donner que des gens peuvent l'utiliser pour un serveur ça peut vite râlé si des gens cheat 🙂

    https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/modification-development/1431024-detect-entity-in-player-fov

    Je te conseil de chercher "Detect Entity in Player FOV" sur google il y à une quantité phénoménale sur le sujet. (Bien sûr tu as déjà dû chercher mais tu n'avais peut être pas les bons mots clés ^^)

    Bon courage, j'ai regarder rapidement et sa parle de beaucoup de choses a voir si ça fonctionne réellement, certains parle de vérifier manuellement également (comme par exemple créer une méthode de calcul de ligne de vu à partir du joueur).

    Edit: J'ai vu des calculs très astucieux, a voir si ça fonctionne, à partir de la localisation des yeux du joueur par rapport à la position de l'entitée et de créer un vector pour voir l'angle exacte que ce trouve cette entité par rapport au joueur.



  • @UtopiePhysique Merci ! Je vais voir ça dès maintenant


Log in to reply