MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Emuler un player

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.5.2
    6 Messages 3 Publieurs 2.1k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • PorteffroiP Hors-ligne
      Porteffroi
      dernière édition par

      Bonjour,

      J’ai une question qui ne porte pas vraiment sur un bug spécifique mais plutôt sur comment partir sur les bonne bases (je suis tout nouveau dans le monde du modding minecraft). Je m’explique :

      Je souhaite créer un mod qui émule des joueurs de façon réaliste et pouvoir créer une AI qui les contrôle.

      • Si mon entité étends la classe EntityCreature, je n’ai pas le système d’inventaire, … à moins de le recréer manuellement.

      • Si mon entité étends à la place la classe EntityPlayer ou EntityPlayerMP, j’ai réussi à couper court à l’envoi des packets au joueurs fictifs pour éviter les bugs mais malheureusement je n’ai plus accès au moveHelper de la classe EntityLiving, ce qui m’empêche de déplacer le mob, et le modelBiped/renderBiped ne conviennent plus car il se servent de donnée propres aux mobs.

      Quelqu’un aurait-il un conseil sur le chemin à prendre ou une piste de recherche qui pourrait m’aider ?

      Merci d’avance.

      NB : Je suis également ouvert à toute proposition d’autres solution…

      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpokJ Hors-ligne
        jglrxavpok Modérateurs
        dernière édition par

        Je te conseille de partir sur une classe fille de EntityCreature pour avoir plus de choix dans la gestion de l’inventaire.

        Pour récréer le système d’inventaire, j’avais essayé ça il y a longtemps (mais sans succès ^^') et depuis, je pense avoir une idée de comment faire.
        Dans la méthode qui gère les collisions entre les entitées, vérifie si l’entitée en collision avec la tienne est une instance de EntityItem:

        • Si oui:
          Rajoute l’item dans l’inventaire et détruit l’entitée.
        • Si non:
          A toi de gérer les interactions avec les autres entitées 😉

        Tout ça est juste une idée comme ça, je sais pas si Minecraft gère les items réellement comme ça 😄

        Par contre, si tu es tout nouveau, je te conseille de mettre ce projet de côté pour le moment, la programmation d’une IA est pas facile du tout. Fais-en ce que tu veux, c’est juste mon avis !

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par

          Tu cherche à créer quelque chose de très compliqué pour un début.
          Le mieux serait de faire un mob qui reprend tout le joueur,faire un extends EntityPlayer ou EntityPlayerMP est une mauvaise idée car le joueur est divisé en beaucoup de classes (EntityPlayer, EntityPlayerMP, EntityPlayerSP, AbstractClientPlayer, EntityClientPlayerMP, et l’inventaire InventoryPlayer)

          1 réponse Dernière réponse Répondre Citer 0
          • PorteffroiP Hors-ligne
            Porteffroi
            dernière édition par

            Ok, donc je reste sur une entityCreature et je m’inspire de player pour recréer une gestion de l’inventaire alors. ^^

            Dans la méthode qui gère les collisions entre les entitées, vérifie si l’entitée en collision avec la tienne est une instance de EntityItem

            Intéressant … Je vais creuser, merci pour le tuyaux

            Par contre, si tu es tout nouveau, je te conseille de mettre ce projet de côté pour le moment, la programmation d’une IA est pas facile du tout.

            J’en suis conscient, ce n’est pas pour tout de suite. En fait il est possible que cela fasse office de travail universitaire. Pour l’instant je cherche surtout des info, trucs et astuces pour focaliser ma lecture du code du jeu et voir comment il fonctionne. D’ailleurs j’ai dévoré les tutoriels sur 2-3 jours pour établir ma base de travail … 😄

            T’en que j’y suis, est-ce que par hasard vous savez s’il existe déjà une méthode pour savoir si une entité peut voir un bloc en particulier ?

            1 réponse Dernière réponse Répondre Citer 0
            • jglrxavpokJ Hors-ligne
              jglrxavpok Modérateurs
              dernière édition par

              Pour que l’entitée puisse interpréter quel bloc est devant elle ?
              Je sais pas si il y en a une toute prête :/.
              MAIS! Regarde dans Minecraft.java (il me semble que c’est cette classe), après une longue recherche parmi les centaines de lignes de codes, tu devrais avoir un code pour obtenir le bloc/l’entitée devant elle. C’est franchement assez simple.

              Allez, puisque je suis de bonne humeur, je t’explique brièvement 😉

              Dans l’idée générale:
              Un projectile est placé aux coordonnées (x;y;z) de l’entitée (tu peux aussi ajuster un peu Y pour le mettre au niveau des yeux) et est orienté selon les variables pitch et yaw (angle sur l’axe X et angle sur l’axe Y - mais je me rappelle jamais lequel correspond à quoi :/) et est ensuite envoyé.
              Dès qu’il touche un bloc/une entitée (ou qu’il dépasse une certaine distance), il est détruit et envoie la donnée à l’entitée.

              Si tu as besoin d’aide pour les calculs, hésite pas à me demander 😉

              Modérateur sur MFF. 
              Mon Github: http://github.com/jglrxavpok
              Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

              1 réponse Dernière réponse Répondre Citer 0
              • PorteffroiP Hors-ligne
                Porteffroi
                dernière édition par

                Hum … simple et efficace, c’est un raytracer quoi plus ou moins … Ok ca devrais aller…

                Pour les calcul je vais me débrouiller tkt … Merci bien pour les info 😉

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                ContactMentions Légales

                MINECRAFT FORGE FRANCE © 2024

                Powered by NodeBB