MFF

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

    Problème pour déclaré un gui et le réutiliser

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.12.x
    5 Messages 3 Publieurs 891 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.
    • AlasDiabloA Hors-ligne
      AlasDiablo
      dernière édition par

      donc cette partie de code:

      
      public String getGuiID()
         {
             return  "minecraft:furnace";
         }
      
      

      dans mon tileentity et je voudre changer minecraft:furnace par mon gui mais il faut un truc de sa sytle monmod:mongui mais je sais pas comment fair pour déclaré mon gui car il font pas la même chose sur les tuto et code source que j’ai trouver sur le web. et j’ai cherche dans le code source du minecraft et j’ai rien trouvé.

      mes mod actulle:

      • JANOEO
      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

        Salut,
        Avec forge pour associé un gui et un container a un tile entity il faut passer par la méthode player.openGui (dans le bloc) et par un gui handler.
        La méthode getGuiID n’est pas nécessaire.

        Il y a un tutoriel ici sur le sujet : https://www.minecraftforgefrance.fr/showthread.php?tid=2082
        Le code est obsolète (comme 1.7.10) mais le nom des interfaces et les méthodes en rapport avec les gui / container n’ont pas vraiment changé (il faudra juste remplacer les x, y et z dans la méthode openGui, à remplacer par pos.getX(), pos.getY() et pos.getZ() ).

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

          @‘robin4002’:

          Salut,
          Avec forge pour associé un gui et un container a un tile entity il faut passer par la méthode player.openGui (dans le bloc) et par un gui handler.
          La méthode getGuiID n’est pas nécessaire.

          Il y a un tutoriel ici sur le sujet : https://www.minecraftforgefrance.fr/showthread.php?tid=2082
          Le code est obsolète (comme 1.7.10) mais le nom des interfaces et les méthodes en rapport avec les gui / container n’ont pas vraiment changé (il faudra juste remplacer les x, y et z dans la méthode openGui, à remplacer par pos.getX(), pos.getY() et pos.getZ() ).

          j’ai des erreu dans le GuiHandler

          
          package forgingaura.forgeyourworld.ffactory.handler;
          
          import forgingaura.forgeyourworld.ffactory.Container.ContainerSteampunkFurnace;
          import forgingaura.forgeyourworld.ffactory.gui.GuiSteampunkFurnace;
          import forgingaura.forgeyourworld.ffactory.tileentity.TileEntitySteampunkFurnace;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.tileentity.TileEntity;
          import net.minecraft.world.World;
          import net.minecraftforge.fml.common.network.IGuiHandler;
          
          public class FactoryGuiHandler implements IGuiHandler
          {
             @Override
             public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
             {
                 TileEntity tile = world.getTileEntity(x, y, z/*ici il dit que sa peux pas etre aplique au monde*/);
                 if(tile instanceof TileEntitySteampunkFurnace)
                 {
                     return new ContainerSteampunkFurnace((TileEntitySteampunkFurnace  /*il me dit que il peux par remplace entity.player.InventoryPlayer*/)tile, player.inventory);
                 }
                 return null;
             }
          
             @Override
             public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
             {
                 TileEntity tile = world.getTileEntity(x, y, z/*ici il dit que sa peux pas etre aplique au monde*/);
                 if(tile instanceof TileEntitySteampunkFurnace)
                 {
                     return new GuiSteampunkFurnace((TileEntitySteampunkFurnace /*[font=Courier Newil me dit que il peux par remplace entity.player.InventoryPlayer]*/)tile, player.inventory);
                 }
                 return null;
             }
          }
          
          

          sinon il a pas posibiliter de fair l’autre methode


          voila le code source du block, du container et du tileentity
          le block: https://pastebin.com/b2zd3ZVS
          le tile : https://pastebin.com/aicdJX9Y
          le container: https://pastebin.com/ButCLNgw
          et le gui : https://pastebin.com/brYUB4kK

          mes mod actulle:

          • JANOEO
          1 réponse Dernière réponse Répondre Citer 0
          • BrokenSwingB Hors-ligne
            BrokenSwing Moddeurs confirmés Rédacteurs
            dernière édition par

            Il faut que tu utilises un BlockPos à la place de x, y, z.
            Regarde les arguments de la méthode World#getTileEntity. Ça devrait te donner un truc du genre ```java
            world.getTileEntity(new BlockPos(x, y, z));

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

              sa marche mais j’ai toujour une ereurs avec 
              [size=smallreturn][size=small ][size=smallnew][size=small ][size=smallContainerSteampunkFurnace][size=small((][size=smallTileEntitySteampunkFurnace][size=small  ][size=small/][size=smallil me dit que il peux par remplace entity.player.InventoryPlayer][size=small/][size=small)][size=smalltile][size=small,][size=smallplayer][size=small.][size=smallinventory][size=small);]

              et
              [size=smallreturn][size=small ][size=smallnew][size=small ][size=smallGuiSteampunkFurnace][size=small((][size=smallTileEntitySteampunkFurnace][size=small ]%(#3f7f5f)[size=smallil me dit que il peux par remplace entity.player.InventoryPlayer]*/[size=small)][size=smalltile][size=small,][size=small player][size=small.][size=smallinventory][size=small);]

              mes mod actulle:

              • JANOEO
              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