MFF

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

    Créer un gui et un container sur un bloc (type coffre)

    Planifier Épinglé Verrouillé Déplacé Les interfaces (GUI) et les container
    1.6.x
    136 Messages 24 Publieurs 55.9k Vues 5 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Envoie l’essentiel, j’ai pas le temps pour le moment.

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

        Voila:

        
        package com.harrypotter.sosoh.common.gui.container;
        
        import com.harrypotter.sosoh.common.ModHarryPotter;
        import com.harrypotter.sosoh.common.blocks.TileEntityChaudron;
        
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.entity.player.InventoryPlayer;
        import net.minecraft.inventory.Container;
        import net.minecraft.inventory.Slot;
        import net.minecraft.item.ItemStack;
        import net.minecraft.util.ResourceLocation;
        
        public class ContainerChaudron extends Container
        {
        private TileEntityChaudron tileEntity;
        
        public ContainerChaudron(InventoryPlayer playerInventory, TileEntityChaudron teChaudron)
        {
        this.tileEntity = teChaudron;
        
        int yP = 21;
        int yS = 39;
        
        this.addSlotToContainer(new Slot(teChaudron, 1, 26, yP));
        this.addSlotToContainer(new Slot(teChaudron, 2, 62, yP));
        this.addSlotToContainer(new Slot(teChaudron, 3, 98, yP));
        this.addSlotToContainer(new Slot(teChaudron, 4, 134, yP));
        
        this.addSlotToContainer(new Slot(teChaudron, 5, 44, yS));
        this.addSlotToContainer(new Slot(teChaudron, 6, 80, yS));
        this.addSlotToContainer(new Slot(teChaudron, 7, 116, yS));
        
        //Sceau et Fiole
        
        this.addSlotToContainer(new Slot(teChaudron, 8, 8, 90));
        this.addSlotToContainer(new Slot(teChaudron, 9, 26, 90));
        
        //Potions
        
        this.addSlotToContainer(new Slot(teChaudron, 10, 80, 90));
        
        this.bindPlayerInventory(playerInventory);
        }
        
        private void bindPlayerInventory(InventoryPlayer playerInventory)
        {
        int i;
        for(i = 0; i < 3; i++)
        {
        for(int j = 0; j < 9; j++)
        {
        this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 103 + i * 18 + 37));
        }
        }
        
        for(i = 0; i < 9; i++)
        {
        this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 161 + 37));
        }
        }
        
        @Override
        public boolean canInteractWith(EntityPlayer player)
        {
        return tileEntity.isUseableByPlayer(player);
        }
        
        public ItemStack transferStackInSlot(EntityPlayer player, int slotId){
        
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(slotId);
        
        if(slot != null && slot.getHasStack())
        {
        ItemStack itemstack1 = slot.getStack();
        itemstack = itemstack1.copy();
        
        if(slotId < 9)
        {
        if(!this.mergeItemStack(itemstack1, 9, this.inventorySlots.size(), true))
        {
        return null;
        }
        }
        else if(!this.mergeItemStack(itemstack1, 0, 9, false))
        {
        return null;
        }
        else if(slotId == 10)
        {
        if(itemstack1 != null && (itemstack1.getItem() == ModHarryPotter.itemFiole)){
        
        if(!this.mergeItemStack(itemstack1, 0, 1, false))
        {
                              return null;
        }
        }
        }
        
        if(itemstack1.stackSize == 0)
        {
        slot.putStack((ItemStack)null);
        }
        else
        {
        slot.onSlotChanged();
        }
        }
        return itemstack;
        }
        
        public TileEntityChaudron getTile()
        {
          return tileEntity;
        }
        }
        
        

        Et:

        
        package com.harrypotter.sosoh.common.blocks;
        
        import com.harrypotter.sosoh.common.ModHarryPotter;
        
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.inventory.IInventory;
        import net.minecraft.item.ItemStack;
        import net.minecraft.nbt.NBTTagCompound;
        import net.minecraft.nbt.NBTTagList;
        import net.minecraft.network.NetworkManager;
        import net.minecraft.network.Packet;
        import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
        import net.minecraft.tileentity.TileEntity;
        
        public class TileEntityChaudron extends TileEntity implements IInventory{
        
            private byte direction;
            private ItemStack[] inventory = new ItemStack[72];
        private String customName;
        
            @Override
            public void readFromNBT(NBTTagCompound nbttag)
            {
            super.readFromNBT(nbttag);
                this.direction = nbttag.getByte("Direction");
                NBTTagList nbttaglist = nbttag.getTagList("Items", blockMetadata);
                this.inventory = new ItemStack[this.getSizeInventory()];
        
                if (nbttag.hasKey("CustomName"))
                {
                    this.customName = nbttag.getString("CustomName");
                }
        
                for (int i = 0; i < nbttaglist.tagCount(); i++)
                {
                    NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.getCompoundTagAt(i);
                    int j = nbttagcompound1.getByte("Slot");
        
                    if (j >= 0 && j < this.inventory.length)
                    {
                        this.inventory[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                    }
                }
            }
        
            public void writeToNBT(NBTTagCompound nbttag)
            {
            super.writeToNBT(nbttag);
                nbttag.setByte("Direction", this.direction);
        
                NBTTagList nbttaglist = new NBTTagList();
        
                for (int i = 0; i < this.inventory.length; i++)
                {
                    if (this.inventory* != null)
                    {
                        NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                        nbttagcompound1.setByte("Slot", (byte)i);
                        this.inventory*.writeToNBT(nbttagcompound1);
                        nbttaglist.appendTag(nbttagcompound1);
                    }
                }
        
                nbttag.setTag("Items", nbttaglist);
        
                if (this.hasCustomInventoryName())
                {
                    nbttag.setString("CustomName", this.customName);
                }
            }
        
            public byte getDirection()
            {
                return direction;
            }
        
            public void setDirection(byte direction)
            {
                this.direction = direction;
                this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
            }
        
            public Packet getDescriptionPacket()
            {
                NBTTagCompound nbttagcompound = new NBTTagCompound();
                this.writeToNBT(nbttagcompound);
                return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbttagcompound);
            }
        
            public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
            {
                this.readFromNBT(pkt.func_148857_g());
                this.worldObj.markBlockRangeForRenderUpdate(this.xCoord, this.yCoord, this.zCoord, this.xCoord, this.yCoord, this.zCoord);
            }
        
        @Override
        public int getSizeInventory() {
        return inventory.length;
        }
        
        @Override
        public ItemStack getStackInSlot(int slotId) {
        return inventory[slotId];
        }
        
        @Override
        public ItemStack decrStackSize(int slotId, int quantity)
            {
                if (this.inventory[slotId] != null)
                {
                    ItemStack itemstack;
        
                    if (this.inventory[slotId].stackSize <= quantity)
                    {
                        itemstack = this.inventory[slotId];
                        this.inventory[slotId] = null;
                        this.updateContainingBlockInfo();
                        return itemstack;
                    }
                    else
                    {
                        itemstack = this.inventory[slotId].splitStack(quantity);
        
                        if (this.inventory[slotId].stackSize == 0)
                        {
                            this.inventory[slotId] = null;
                        }
        
                        this.updateContainingBlockInfo();
                        return itemstack;
                    }
                }
                else
                {
                    return null;
                }
            }
        
        @Override
        public ItemStack getStackInSlotOnClosing(int slotId)
        {
                if (this.inventory[slotId] != null)
                {
                    ItemStack itemstack = this.inventory[slotId];
                    this.inventory[slotId] = null;
                    return itemstack;
                }
                else
                {
                    return null;
                }
        }
        
        @Override
        public void setInventorySlotContents(int slotId, ItemStack stack)
        {
                this.inventory[slotId] = stack;
        
                if (stack != null && stack.stackSize > this.getInventoryStackLimit())
                {
                    stack.stackSize = this.getInventoryStackLimit();
                }
        
                this.updateContainingBlockInfo();
        }
        
        @Override
        public String getInventoryName()
        {
        return this.hasCustomInventoryName() ? this.customName : "container.chaudron";
        }
        
        @Override
        public boolean hasCustomInventoryName() 
        {
        return this.customName != null && this.customName.length() > 0;
        }
        
        public void setCustomGuiName(String name)
        {
           this.customName = name;
            }
        
        @Override
        public int getInventoryStackLimit() {
        return 1;
        }
        
        @Override
        public boolean isUseableByPlayer(EntityPlayer player)
        {
        return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : player.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D;
        }
        
        @Override
        public void openInventory() {
        
        }
        
        @Override
        public void closeInventory() {
        
        }
        
        @Override
        public boolean isItemValidForSlot(int slot, ItemStack stack)
        {
        return true;
        }
        
        }
        
        

        Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

        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

          En fait je me demande si c’est pas aussi une question de slot custom. Le four utilise SlotFurnace, tu devrais regarder de ce côté.

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

            J’ai adapter mon code, ca marche a moitie: je ne peux plus rien mettre dedans ^^ mon code:

            
            package com.harrypotter.sosoh.common.gui.container;
            
            import com.harrypotter.sosoh.common.ModHarryPotter;
            import com.harrypotter.sosoh.common.blocks.TileEntityChaudron;
            
            import net.minecraft.entity.player.EntityPlayer;
            import net.minecraft.entity.player.InventoryPlayer;
            import net.minecraft.inventory.Container;
            import net.minecraft.inventory.Slot;
            import net.minecraft.inventory.SlotFurnace;
            import net.minecraft.item.ItemStack;
            import net.minecraft.util.ResourceLocation;
            
            public class ContainerChaudron extends Container
            {
            private TileEntityChaudron tileEntity;
            
            public ContainerChaudron(InventoryPlayer playerInventory, TileEntityChaudron teChaudron)
            {
            this.tileEntity = teChaudron;
            
            int yP = 21;
            int yS = 39;
            
            this.addSlotToContainer(new Slot(teChaudron, 1, 26, yP));
            this.addSlotToContainer(new Slot(teChaudron, 2, 62, yP));
            this.addSlotToContainer(new Slot(teChaudron, 3, 98, yP));
            this.addSlotToContainer(new Slot(teChaudron, 4, 134, yP));
            
            this.addSlotToContainer(new Slot(teChaudron, 5, 44, yS));
            this.addSlotToContainer(new Slot(teChaudron, 6, 80, yS));
            this.addSlotToContainer(new Slot(teChaudron, 7, 116, yS));
            
            //Sceau et Fiole
            
            this.addSlotToContainer(new Slot(teChaudron, 8, 8, 90));
            this.addSlotToContainer(new SlotFurnace(playerInventory.player, teChaudron, 9, 26, 90));
            
            //Potions
            
            this.addSlotToContainer(new Slot(teChaudron, 10, 80, 90));
            
            this.bindPlayerInventory(playerInventory);
            }
            
            private void bindPlayerInventory(InventoryPlayer playerInventory)
            {
            int i;
            for(i = 0; i < 3; i++)
            {
            for(int j = 0; j < 9; j++)
            {
            this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 103 + i * 18 + 37));
            }
            }
            
            for(i = 0; i < 9; i++)
            {
            this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 161 + 37));
            }
            }
            
            @Override
            public boolean canInteractWith(EntityPlayer player)
            {
            return tileEntity.isUseableByPlayer(player);
            }
            
            public ItemStack transferStackInSlot(EntityPlayer player, int slotId){
            
            ItemStack itemstack = null;
            Slot slot = (Slot)this.inventorySlots.get(slotId);
            
            if(slot != null && slot.getHasStack())
            {
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();
            
            if (slotId == 9)
                        {
            if(itemstack1 != null && (itemstack1.getItem() == ModHarryPotter.itemFiole)){
            
            if (!this.mergeItemStack(itemstack1, 3, 39, true))
                        {
                            return null;
                        }
            }
            
                            slot.onSlotChange(itemstack1, itemstack);
                        }
            
            if(slotId < 9)
            {
            if(!this.mergeItemStack(itemstack1, 9, this.inventorySlots.size(), true))
            {
            return null;
            }
            }
            else if(!this.mergeItemStack(itemstack1, 0, 9, false))
            {
            return null;
            }
            
            if(itemstack1.stackSize == 0)
            {
            slot.putStack((ItemStack)null);
            }
            else
            {
            slot.onSlotChanged();
            }
            }
            return itemstack;
            }
            
            public TileEntityChaudron getTile()
            {
              return tileEntity;
            }
            }
            
            

            Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

            1 réponse Dernière réponse Répondre Citer 0
            • DiabolicaTrixD Hors-ligne
              DiabolicaTrix Correcteurs Moddeurs confirmés
              dernière édition par

              Bizzarement, le gui est en mode double chest, mais le container en mode simple…

              Gui:

              ​package diabolicatrix.base.gui;
              
              import org.lwjgl.opengl.GL11;
              
              import diabolicatrix.base.container.ContainerTestChest;
              import diabolicatrix.base.tileentity.TileEntityBlockChest;
              import net.minecraft.client.gui.inventory.GuiContainer;
              import net.minecraft.client.resources.I18n;
              import net.minecraft.entity.player.InventoryPlayer;
              import net.minecraft.inventory.ContainerChest;
              import net.minecraft.inventory.IInventory;
              import net.minecraft.util.ResourceLocation;
              
              public class GuiTestChest extends GuiContainer {
              
                  private static final ResourceLocation textures = new ResourceLocation("t4:textures/gui/chesttest.png");
                  private TileEntityBlockChest tileChest;
                  private IInventory playerInv;
              
              public GuiTestChest(TileEntityBlockChest tile, InventoryPlayer inventory) {
              super(new ContainerTestChest(tile, inventory));
                      this.tileChest = tile;
                      this.playerInv = inventory;
                      this.allowUserInput = false;
                      this.ySize = 170;
              }
              
                  protected void drawGuiContainerForegroundLayer(int x, int y)
                  {
                      this.fontRendererObj.drawString(this.tileChest.hasCustomInventoryName() ? this.tileChest.getInventoryName() : I18n.format(this.tileChest.getInventoryName(), new Object[0]), 8, 6, 4210752);
                      this.fontRendererObj.drawString(this.playerInv.hasCustomInventoryName() ? this.playerInv.getInventoryName() : I18n.format(this.playerInv.getInventoryName(), new Object[0]), 8, this.ySize - 96 + 2, 4210752);
                  }
              
              @Override
              protected void drawGuiContainerBackgroundLayer(float partialRenderType, int x, int y)
                  {
                      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                      this.mc.getTextureManager().bindTexture(textures);
                      int k = (this.width - this.xSize) / 2;
                      int l = (this.height - this.ySize) / 2;
                      this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
                  }
              
              }
              
              

              Container:

              ​package diabolicatrix.base.container;
              
              import diabolicatrix.base.tileentity.TileEntityBlockChest;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.entity.player.InventoryPlayer;
              import net.minecraft.inventory.Container;
              import net.minecraft.inventory.Slot;
              import net.minecraft.item.ItemStack;
              
              public class ContainerTestChest extends Container {
              
              private final TileEntityBlockChest tilechest;
              public ContainerTestChest(TileEntityBlockChest tile, InventoryPlayer inventory) {
              this.tilechest = tile;
              tile.openInventory();
              for(int j = 0; j < 3; ++j)
              {
              for(int k = 0; k < 9; ++k)
              {
              this.addSlotToContainer(new Slot(tile, k + j * 9, 8 + k * 18, 18 + j * 18));
              }
              }
              this.bindPlayerInventory(inventory);
              }
              
              private void bindPlayerInventory(InventoryPlayer inventory)
              {
              int j;
                      for (j = 0; j < 3; ++j)
                      {
                          for (int k = 0; k < 9; ++k)
                          {
                              this.addSlotToContainer(new Slot(inventory, k + j * 9 + 9, 8 + k * 18, 103 + j * 18 - 18));
                          }
                      }
              
                      for (j = 0; j < 9; ++j)
                      {
                          this.addSlotToContainer(new Slot(inventory, j, 8 + j * 18, 161 - 18));
                      }
              }
              
              public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_)
                  {
                      ItemStack itemstack = null;
                      Slot slot = (Slot)this.inventorySlots.get(p_82846_2_);
              
                      if (slot != null && slot.getHasStack())
                      {
                          ItemStack itemstack1 = slot.getStack();
                          itemstack = itemstack1.copy();
              
                          if (p_82846_2_ < this.tilechest.getSizeInventory())
                          {
                              if (!this.mergeItemStack(itemstack1, this.tilechest.getSizeInventory(), this.inventorySlots.size(), true))
                              {
                                  return null;
                              }
                          }
                          else if (!this.mergeItemStack(itemstack1, 0, this.tilechest.getSizeInventory(), false))
                          {
                              return null;
                          }
              
                          if (itemstack1.stackSize == 0)
                          {
                              slot.putStack((ItemStack)null);
                          }
                          else
                          {
                              slot.onSlotChanged();
                          }
                      }
              
                      return itemstack;
                  }
              
              @Override
              public boolean canInteractWith(EntityPlayer player) {
              return this.tilechest.isUseableByPlayer(player);
              }
              
              }
              
              

              GuiHandler si jamais:

              ​package diabolicatrix.base.gui;
              
              import cpw.mods.fml.common.network.IGuiHandler;
              import diabolicatrix.base.container.ContainerTestChest;
              import diabolicatrix.base.tileentity.TileEntityBlockChest;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.tileentity.TileEntity;
              import net.minecraft.world.World;
              
              public class GuiHandler 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);
              if(tile instanceof TileEntityBlockChest)
              {
              return new ContainerTestChest((TileEntityBlockChest)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);
              if(tile instanceof TileEntityBlockChest)
              {
              return new GuiTestChest((TileEntityBlockChest)tile, player.inventory);
              }
              return null;
              }
              
              }
              
              
              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

                Tu draw l’image d’un coffre double mais dans le code du container tu n’as que mit 27 slot (3 * 9 les deux boucles for) donc c’est normal que tu obtiens ce résultat.

                1 réponse Dernière réponse Répondre Citer 0
                • DiabolicaTrixD Hors-ligne
                  DiabolicaTrix Correcteurs Moddeurs confirmés
                  dernière édition par

                  Je ne comprend pas où je draw le double coffre, mon draw est identique à celui du tutoriel.

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

                    Ici :

                    @Override
                    protected void drawGuiContainerBackgroundLayer(float partialRenderType, int x, int y)
                    {
                    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); // On remet les couleurs à 0
                    this.mc.getTextureManager().bindTexture(textures); // On indique qu'on utilise la texture
                    int k = (this.width - this.xSize) / 2; // On centre le GUI
                    int l = (this.height - this.ySize) / 2;
                    this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); // Et on le dessine
                    }
                    

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • DiabolicaTrixD Hors-ligne
                      DiabolicaTrix Correcteurs Moddeurs confirmés
                      dernière édition par

                      C’est ça le problème, il est identique au tutoriel(vidéo) et dans la vidéo, il est simple…

                      P.S: Ça fonctionne si je coupe la texture mais pas si la texture est double coffre, pourtant minecraft est supposé le couper lui même, non?

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

                        Il faut savoir que les tailles que tu mets sont en fonction de la taille de ta texture sur la base 256, donc si ta texture fait 512*512, il faudra diviser par 2.

                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                        Pas de demandes de support par MP ni par skype SVP.
                        Je n'accepte sur skype que l…

                        1 réponse Dernière réponse Répondre Citer 0
                        • DiabolicaTrixD Hors-ligne
                          DiabolicaTrix Correcteurs Moddeurs confirmés
                          dernière édition par

                          Ça ne marche pas plus en 256 :S

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

                            Minecraft ne fait rien du tout, la fonction drawTexture est une fonction basique qui utilise le tesselator. Minecraft dessine le GUI du coffre en plusieurs parties.

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            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

                              Dans la classe du coffre de base Minecraft il y a deux draw et en effet le code coupe la texture.
                              Par contre le code que j’ai donné dans le tutoriel en vidéo n’a qu’un draw et ne fait pas cette coupure. Il faut donc une texture qui ne fait que la taille d’un coffre.

                              1 réponse Dernière réponse Répondre Citer 0
                              • DiabolicaTrixD Hors-ligne
                                DiabolicaTrix Correcteurs Moddeurs confirmés
                                dernière édition par

                                Ah, d’accord merci beaucoup!

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

                                  Salut ! J’ai une erreur sur le .getBlockTileEntity que je n’arrive pas à résoudre :

                                  http://www.noelshack.com/2017-28-2-1499806075-capture.png

                                  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

                                    essaies avec getTileEntity ?

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

                                      Dans mon guihandler, il y des erreurs partout :

                                      http://www.noelshack.com/2017-28-3-1499887482-9.png

                                      Auriez-vous une solution ?

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

                                        Oui je t’invite à regarder la partie du GuiHandler du tuto car là ton GuiHandler est pas bon du tout.

                                        EDIT : en fait pas précisé dans le tuto car eclipse le fait tout seul si tu fais bien dans l’ordre mais il faut que la classe implémente IGuiHandler.

                                        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
                                        • _ Hors-ligne
                                          ___Freezer___
                                          dernière édition par

                                          Ok j’ai modifié ça mais il y a ça comme erreurs :

                                          http://www.noelshack.com/2017-28-3-1499888845-10.png

                                          http://www.noelshack.com/2017-28-3-1499888851-11.png

                                          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

                                            La version 1.7.10 du tutoriel est ici : https://www.minecraftforgefrance.fr/showthread.php?tid=2082

                                            1 réponse Dernière réponse Répondre Citer 1
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 7 / 7
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB