1.7.10 Memoriser liste d'entité


  • Moddeurs confirmés

    Salut 🙂

    Je veux faire un mods ou des IA utiliseront divers entité tels que les coffres, les fours etc..
    Pour commencer je me concentre uniquement sur les coffres.

    Je veux que mon IA soit capable d'aller chercher dans un coffre partagé, une épée par exemple.

    Ainsi un coffre peut être partagé ou non.
    Je suis entrain de travailler sur l'interface graphique qui permettra de partager un coffre ou de le garder "hors de porté" de mon IA. Enfin le problème ne se situe pas la.

    Pour que mon IA puisse prendre un objet dans un coffre, il faut que je connaisse la listes des coffres partagé et leur contenu. J'ai donc pensé a faire une List de TileEntityChest et dès que je veux partager un coffre, je l'ajoute dans cette liste.

    Seulement comment faire en sorte que ces données soit persistante ? C'est a dire qu'elles soient sauvegardé avec le monde.

    Est ce que je m'y prend de la bonne manière ? Qu'avez vous a me proposé ?

    Merci 🙂



  • Je ne sais pas vraiment la solution en entier, mais cherche si arraylist implements serializable ou pas 😉


  • Moddeurs confirmés Modérateurs

    bha faut écrire un tag dans le NBT du chest



  • Les TileEntities ne possédant pas d'EntityData, je pense qu'il faut trouver un moyen de modifier le NBT du coffre en question.


  • Moddeurs confirmés

    Mais si je veux que mon IA va chercher l'épée dans un coffre, je ne vais pas parcourir tout les blocs de la map et pour chaque coffre, je check s'il est partagé et s'il contient une épée. Je ferais trop de calcul.
    Les NBT ne sont pas commun entre toutes les entités c'est bien ça ?

    ArrayList implémente sérializable puisque c'est une collection.
    Mais encore faut-il savoir comment la sérialiser via le moteur du jeu 😕



  • Oui, c'est sur que c'est un peu plus dur 😕


  • Modérateurs

    Tu checks les coffres qui se trouvent dans un certain rayon autour de ton entitée, en fonction du résultat, tu sauvegardes dans les propriétées de la map||de ton entitée||du joueur.

    Envoyé de mon AN7DG3-LZ en utilisant Tapatalk


  • Moddeurs confirmés

    Les propriétés de map, c'est ce qu'il me faudrait.
    Quelqu'un sait comment ça fonctionne ou connait des tutoriels a ce sujet ?

    Pour ce qui est du check, pareil, je ne vois pas comment "check tout les coffres" a partir d'un point sans devoir parcourir tout les blocs 1 par 1 😕


  • Modérateurs

    Désolé, je ne peux pas t'aider plus pour l'instant.

    Envoyé de mon AN7DG3-LZ en utilisant Tapatalk


  • Modérateurs

    @'Blackout':

    Les propriétés de map, c'est ce qu'il me faudrait.
    Quelqu'un sait comment ça fonctionne ou connait des tutoriels a ce sujet ?

    Pour ce qui est du check, pareil, je ne vois pas comment "check tout les coffres" a partir d'un point sans devoir parcourir tout les blocs 1 par 1 😕

    Pour le check, je ne vois pas d'autre moyen non plus.

    Sinon les propriétés de map ne te seront pas très utiles pour ce que tu veux faire.


  • Moddeurs confirmés Rédacteurs Administrateurs

    Sachant que la liste doit pouvoir être utilisé par plusieurs entité ayant l'IA en même temps, le seul endroit que je vois pour sauvegarder cette liste sera un fichier en plus dans la save.

    Tu peux utiliser DimensionManager.getCurrentSaveRootDirectory() pour avoir le dossier du monde.


Log in to reply