Potions = Crash



  • Bonjours à tous

    Voila, je suis en train de travailler sur la modification d'un mod (Botania pour ne pas le citer), et je suis devant un problème que jn'arrive pas à résoudre, ça doit faire 5 bonnes heures que je suis dessus  😢

    J'ai ajouté PotionCore au mod, ce qui me permet d'avoir plus d’effets de potion, et bien sur, j'ai rajouté quelques potions pour pouvoir utiliser ces effets
    Mais voila mon problème, certaines potions marche à merveille, et d'autre font crasher le jeu, lorsque j'intègre mon mod à un serveur, seulement le client crash
    L’erreur: Caused by: java.lang.ArrayIndexOutOfBoundsException
    Après des recherches plus poussées à l'aide du débogage, j'ai pus me rendre compte qu'il y avais un problème lors de la demande de l’effet associé à la potion, le serveur me retournais le bon ID de l’effet, alors que coté client, j'avais un id négatif qui n'avais rien à voir, donc crash du client
    Impossible de trouvé à quelle moment cette ID a été modifié

    Si ça peut aider, voici les sources de mon projet

    Si quelqu’un me trouve la solution, je le remercierais dix-mille fois !!


  • Moddeurs confirmés Rédacteurs Administrateurs

    Salut,
    Je suppose que PotionCore modifie le nombre de potion maximum possible ? Si oui, à combien ? Et quel id utilises-tu ?

    Si c'est un id > 255, je suppose que les paquets utilisent un byte pour transmettre l'id au client, ce qui forcement ne fonctionne pas avec un id > 255.



  • Hum, c'est peut être ça, mais du coup, comment je règle le problème ?

    Oui, il va jusqu’à 255

    Edit: A quoi bon étendre le tableau des PotionEffets si les packets ne suivent pas

    Edit2: Ya bien un moyen de transformer ce type bytes en quelque chose d'autre


  • Moddeurs confirmés Rédacteurs Administrateurs

    Jusqu'à 255 ou supérieur à 255 ?
    Car 255 et moins ça devrait fonctionner.



  • Mes potions ID vont jusqu'a 133
    Les potions de 129 a 133 ne fonctionnent pas


  • Moddeurs confirmés Rédacteurs Administrateurs

    Ah dans ce cas il y a un byte signé qui passe, donc limitation à 128.
    Tu as vraiment besoin d'autant d'id ?



  • J'utilise plusieurs mod, dont witchery qui bouffe pas mal d'ids, thaumcraft, railcraft, blood magic, botania, etc …
    (Ftb infinity evolved)

    Donc oui, je les utilisent, et je dois trouver un moyen de passer cette limitation



  • Et puis y'a un truc que je comprend pas, et qui arrive très souvent, c'est très rageant
    Je fait une petite modif sur mon mod, je le compile, je le place sur mon serveur et supprime l’ancienne version, et il n'y a aucun changement, comme si la modification que j'ai fait n'avais pas été compilé
    Donc je pers encore plus de temps pour rien



  • Essaye de faire un coremod pour pouvoir modifier les classe de minecraft et essaye ^^'

    Scarex a fait un tuto desus



  • J'ai regardé le tuto, mais malheureusement ça dépasse largement mes compétences 😞
    Y'a aucun autre moyen ?



  • Peut-être pourrais-tu nous dire l'endroit du tutoriel qui te semble + obscure ?
    Un autre moyen serait de modder en vanilla, ou bien de recréer un nouveau système de potion custom.



  • Modder en vanilla ? sa veux dire quoi



  • Créer un mod avec mcp si tu préfères.



  • ah ok


Log in to reply