MFF

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

    Changer le maxStackSize de minecraft (en général)

    Planifier Épinglé Verrouillé Déplacé Résolu 1.11.x
    1.11.2
    14 Messages 2 Publieurs 2.5k 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.
    • LeBossMax2L Hors-ligne
      LeBossMax2
      dernière édition par

      J’ai une petite idée de comment faire. En gros ce qui se passe normalement, c’est que le container envoie à tous ces listeners le contenu de l’inventaire. Parmi ses listeners, il y a le joueur qui va envoyer le contenu du container par un Packet au client. Le client utilise alors la fonction PacketBuffer.readItemStackFromBuffer qui pose problème. Une solution possible est donc d’enlever le joueurs des listeners et de mettre ton propre listener à la place qui va envoyer un packet custom au client.

      1 réponse Dernière réponse Répondre Citer 1
      • SnykerS Hors-ligne
        Snyker
        dernière édition par

        Ah ce serai une possibilité, mais en faisant cela j’aurais pas énormément de chose à refaire notamment sur la gestion des slots, des clicks etc… ?

        Aucune signature n'est disponible pour une barre chocolatée.

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

          Non, tu as juste à recoder un listener custom (qui fait juste envoyer des packets) et les packets qui font comme les packets originaux, donc tu peux sûrement ne pas recoder ça, mais juste appeler les fonctions que les packets originaux appellent.

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

            D’accord merci, je verrais ça demain et je tiendrais ce post au courant

            Aucune signature n'est disponible pour une barre chocolatée.

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

              Ok alors j’ai réussi quelques trucs mais je sens que j’approche de la fin, cependant j’aurais besoin d’aide concernant la synchronisation du client au serveur.

              Donc j’ai recoder 2-3 méthodes (notamment le openGui) et ainsi j’ai pu modifier certains packets.

              Actuellement qu’est ce que j’ai fait ? :
              openGui -> au lieu d’ajouter le entityPlayer en listener j’ai ajouté mon propre joueur implémentant IContainerListener et ainsi pouvoir accéder aux méthodes #sendAllContent, etc…
              Depuis ces méthodes j’ai pu faire mes packets pour envoyer les données du contenu au client avec en prime la refonte du PacketBuffer pour augmenter la taille d’envoie des Items (donc jusqu’à la tout marche).

              Problème : Quand j’ouvre l’inventaire, je vois bien tous les items avec la bonne taille, cependant, quand je clique sur les Items supérieur à 127 de quantité, ils disparaissent et repop en cliquant et autre part, DE PLUS, j’ai beau changé les items de place, ils ne s’updatent pas, (donc surement un packet à envoyer au serveur mais cela risque de faire une faille et un ajout important d’item sur le serveur juste en hackant le client ?)

              Du coup est-ce que j’ai mal saisit un truc que tu m’avais dit plus haut ou j’ai fait des choses inutiles que j’aurais pu éviter ? Et je ne vois pas comment update le serveur lors du changement de slot avec une faille de ce packet.

              Aucune signature n'est disponible pour une barre chocolatée.

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

                Je ne comprends ps ce que tu veux dire par “j’ai beau changé les items de place, ils ne s’updatent pas”.
                Pour ce que tu as dit avant, ça doit juste être un problème de rendu, minecraft doit sûrement vérifier que la quantité d’item est normal avant de l’afficher sur la souris.

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

                  En gros pour : “j’ai beau changé les items de place, ils ne s’updatent pas”, quand je souhaite les changer de slot, ça ne marche (suite à un manque de packet côté client surement) ils restent à leur place d’origine.
                  Concernant le rendu je vais vérifier cela, merci.

                  Aucune signature n'est disponible pour une barre chocolatée.

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

                    Donc j’ai réussi à sauvegarder le nouvel emplacements des items avec le client et serveur (y’avait pas besoin de packet, c’est juste moi qui ai oublié de sauvegarder l’inventaire ahah)
                    Cependant j’ai toujours ce problème de disparation des items, voici un gif :
                    https://gyazo.com/e66d0aefa0dc74f5076be6d2c2681162
                    A la fin du gif bien évidemment quand je ferme l’inventaire, les items disparues réapparaissent et le changement de slot est effectif lui aussi.
                    Concernant le problème de rendu je n’ai rien trouvé dans la classe ItemRenderer ou encore dans le GuiContainer, cependant j’ai une petite idée, dans le drawScreen l’inventaire de minecraft est utilisé, je me dis donc que cette limite peut être prise en compte, sauf que celui-ci est limité à 64 et pas à 127, donc tous les items supérieur à 64 devrait disparaitre, non ? enfin bon je suis un peu confus moi même, il ne me reste plus que le render et j’ai tout bon x). Si vous avez une idée de quelle classe gère ça je prend.

                    Aucune signature n'est disponible pour une barre chocolatée.

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

                      Ah, là le problème, c’est peut-être qu’il save les items et n’arrive pas à les load

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

                        Haaaan, ça expliquerait pourquoi quand je clique sur les items, il me fait comme un " reboot " de l’inventaire, du coup j’ai un problème dans le packet d’envoie ou juste dans le la lecture de l’inventaire/container ?

                        Aucune signature n'est disponible pour une barre chocolatée.

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

                          Plutôt un problème de saveToNBT et loadFromNBT de l’inventory (Enfin le nom des méthodes c’est probablement pas ça, mais tu vois ce que je veux dire)

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

                            Non j’ai essayé ça ne vient pas de là, tout est bon de ce côté :/, en revanche j’ai trouvé le " handleWindowClick " donc je pense que ça vient de là, car à un moment il renvoie du contenue et vu qu’il repasse par un packet ou y’a le byte je me dis que c’est ça. Donc je suis en train de refaire 2-3 packets ahahahah (tuez moi)

                            Aucune signature n'est disponible pour une barre chocolatée.

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

                              Bon j’ai enfin réussi ! Tout marche (enfin juste des problèmes style quand on double click pour tout ramener ou encore quand on split l’item en plusieurs slot)
                              Je te remercie beaucoup LeBossMax2 (Le problème venait bien qu’il manquait un packet pour confirmer la transaction, a moi à le sécuriser maintenant).
                              Merci beaucoup ahah!

                              Aucune signature n'est disponible pour une barre chocolatée.

                              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