• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Communiquer par packets entre un mod Forge et un plugin Sponge

    Sans suite
    1.10.x
    3
    8
    1597
    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.
    • MajorSquirrel
      MajorSquirrel dernière édition par

      Bonsoir,

      Je suis un peu (beaucoup) désespéré, je n’arrive à trouver aucune réponse qui puisse m’apporter de l’aide. Voilà le topo :

      • Mon ami développe actuellement un plugin Sponge. Son plugin est un plugin PvP où les joueurs ont la possibilité de créer des villes et se battre en eux pour gagner des points. De ce fait, toute la data concernant les villes et tout le toutim est stockée dans une database MySQL et c’est le plugin qui interagit avec elle.

      • J’ai décidé de mon côté de créer un mod Forge pour ajouter du contenu inédit (blocks, items, entities & tile entities) et faciliter la gestion de ces villes en offrant aux joueurs plusieurs interfaces (gui) pour créer des villes, les gérer, etc…

      Mon problème actuellement, c’est que je n’ai aucun moyen de communiquer la data du plugin vers le mod (ou inverse). Je sais qu’on peut créer des channels pour envoyer des packets dans Forge, mais je n’ai aucune idée de comment m’y prendre pour faire du Forge à Sponge et vice versa. (Pour la petite anecdote, j’ai posté sur le forum Sponge pour tenter d’avoir des réponses et des infos concrètes, mais très sincèrement il n’y a aucune documentation sur comment utiliser le networking sur Sponge)

      Je ne vais pas vous mentir, ça m’énerve un peu (beaucoup), je vois beaucoup de tutoriaux qui montrent comment créer des blocks ou des items, mais j’ai l’impression que la communauté de modding manque sincèrement de tutoriaux sur des concepts plus poussés (comme le networking avancé ou les concepts profonds de Forge ou de Sponge).

      Du coup, ma question est : est-ce qu’il existe un moyen pour communiquer de la data entre un mod Forge et un plugin Sponge ? 🙂
      PS: je vous invite à lire mon post sur le forum Sponge plus haut pour observer les réponses qui ont déjà été données.

      Merci de votre aide !

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

        Salut,
        Je n’ai jamais développé avec sponge donc je ne connais pas du tout son api.

        Par contre je vois une solution à ton problème bien plus simple :
        Dans ton mod créé une classe avec des méthodes static et dans ces derniers envoies un paquet au client. En argument pour ces méthodes tu peux mettre le joueur à qui envoyer et les données en question.

        Ensuite depuis le plugin sponge tu as juste à appeler les méthodes en question.

        try
        {
           Class spongeToForge = Class.forName("package.du.mod.SpongeToForge.class");
           Method method = spongeToForge.getMethod("nomDeLaMethode", EntityPlayer.class, String.class); // pour un string
           method.invoke(null, player, value); // methode static donc pas besoin d'instance, d'où le premier null
        }
        catch (Exception ex)
        {
        
           ex.printStackTrace()
        }
        
        1 réponse Dernière réponse Répondre Citer 0
        • AymericRed
          AymericRed dernière édition par

          Les plugins Sponge sont différents des plugins bukkit, mais ceci t’aidera peut-être https://www.minecraftforgefrance.fr/showthread.php?tid=2668

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

          1 réponse Dernière réponse Répondre Citer 0
          • MajorSquirrel
            MajorSquirrel dernière édition par

            Bonjour à vous deux,

            Merci de vos réponses ! Concernant la solution que propose robin, eh bien je ne comprends pas tout à fait la démarche à suivre, j’entends par là : quel système d’envoi de packet je dois utiliser dans cette fameuse classe, le networking de Forge ou celui de Sponge ? Et aussi, cette solution permet d’envoyer du plugin (server) au mod (client side), mais comment puis-je faire pour faire l’inverse et récupérer les infos ?

            À propos de la solution qu’AymericRed propose, je vais y jeter un coup d’oeil dans les moments à suivre et voir si je peux utiliser cette méthode. 🙂

            Mais pour le coup j’aimerais vraiment mieux comprendre ta solution robin !

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

              Avec ma solution il faut passer uniquement par le système de paquet de forge.
              Et oui c’est que j’ai proposé c’est uniquement pour sponge vers forge.
              Mais on peut utiliser le même principe dans l’autre sens.

              1 réponse Dernière réponse Répondre Citer 0
              • AymericRed
                AymericRed dernière édition par

                En fait le principe de Robin, c’est que les packets passent par Forge, et côté serveur, le mod et le plugin communiquent entre eux grâce à la réflexion java (donc le plugin pourra appeler des fonctions du mod, et inversement). Mais essaye déja le lien que j’ai donné, devrait être plus simple.

                Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                1 réponse Dernière réponse Répondre Citer 0
                • MajorSquirrel
                  MajorSquirrel dernière édition par

                  @‘AymericRed’:

                  En fait le principe de Robin, c’est que les packets passent par Forge, et côté serveur, le mod et le plugin communiquent entre eux grâce à la réflexion java (donc le plugin pourra appeler des fonctions du mod, et inversement). Mais essaye déja le lien que j’ai donné, devrait être plus simple.

                  Pour l’envoi du client vers le serveur le tutoriel semble ok, mais du coup il manque la partie réception côté Forge (donc tout ce qui est envoi du serveur vers le client). Faut-il que je fasse un mélange de ce tutoriel et de la suggestion de robin ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • AymericRed
                    AymericRed dernière édition par

                    Je sais pas si c’est le meilleur moyen, mais c’est possible de faire ça oui.

                    Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                    AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                    Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB