MFF

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

    Probléme machine

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    105 Messages 12 Publieurs 15.9k 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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      Quel est le problème ? Montre ton code.
      Et si tu veux te suicider, pour éviter de le faire, tu peux faire un pause (mais assez longue), après tu reprends la tête reposée et tu peux mieux regarder ce qui ne va pas.

      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
        Un Ancien Utilisateur
        dernière édition par

        Mon probléme genre je veux créer une deuxiéme machine mais j’en ai déja une je peux ouvrire le premiére mais pas le deuxieme voici les class de la deuxiéme :

        http://download1594.mediafire.com/5mgct6nps2fg/2llw3daw4vsae1l/Src+deuxiéme+machine.rar

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

          “player.openGui(AdamiteMod.instance, 0, world, x, y, z);” dans le onBlockActivated de ton MachineCraft, tu mets 0 en id, et dans ton GuiHandler, tu veux que l’id soit 2 (“if(ID == 2 && […])” donc si tu ne veux pas de mélanger, retire juste tous les “ID == quelquechose” de ton GuiHandler pour appliquer la méthode de leo avec les “instanceof”, ça suffit largement comme vérification.

          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
            Un Ancien Utilisateur
            dernière édition par

            conversion noob stp -_-

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

              Dans ton GuiHandler, retire tous “les ID == unchiffre” et ça marchera. Le pb que t’a c’est que l’id que tu as mis ne correspond pas à ce que tu as mis dans ton Block.

              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
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                Attention aux doubles posts. Et c’est 24h avant de up …
                Il y en a qui dorment la nuit …

                1 réponse Dernière réponse Répondre Citer 0
                • ? Hors-ligne
                  Un Ancien Utilisateur
                  dernière édition par

                  merci je t’aime [size=smallAymericRed ❤ :p]___Ah ba non pk mon gui est en bas de mon écran ?

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

                    1. De rien ^^ 2) En bas de l’écran ? Et attention aux double-post.

                    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
                      Un Ancien Utilisateur
                      dernière édition par

                      oui genre comme sa

                      http://www.mediafire.com/view/v0g9ure5f89yj35/2016-05-06.png

                      ne dites pas ses ton image qui est mal placer car si je centre avec le font l’in n’est plus dans le case du font

                      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 peux envoyer le code de ton gui ?

                        1 réponse Dernière réponse Répondre Citer 0
                        • ? Hors-ligne
                          Un Ancien Utilisateur
                          dernière édition par

                          j’ai essayer mais j’ai pas trouver ^^

                          
                          package com.adamitemod.mod;
                          
                          import net.minecraft.client.gui.inventory.GuiContainer;
                          import net.minecraft.client.resources.I18n;
                          import net.minecraft.entity.player.InventoryPlayer;
                          import net.minecraft.inventory.IInventory;
                          import net.minecraft.util.ResourceLocation;
                          
                          import org.lwjgl.opengl.GL11;
                          
                          public class GuiMachineCraft extends GuiContainer {
                          
                            private static final ResourceLocation GuiAdamiteCraft = new ResourceLocation("adamitemod","textures/gui/craft.png");
                             @SuppressWarnings("unused")
                          private TileEntityMachineCraft tileCompressor;
                             private IInventory playerInv;
                          
                          public GuiMachineCraft(TileEntityMachineCraft tile, InventoryPlayer inventory) 
                          {
                          super(new ContainerMachineCraft(tile, inventory));
                                 this.tileCompressor = tile;
                                 this.playerInv = inventory;
                                 this.allowUserInput = false;
                                 this.ySize = 256;
                                 this.xSize = 256;
                          }
                          
                          @Override
                          protected void drawGuiContainerBackgroundLayer(float partialRenderTick, int x, int y) 
                          {
                          
                          GL11.glColor4f(1.0F, 1.5F, 1.0F, 1.0F);
                                 mc.getTextureManager().bindTexture(GuiAdamiteCraft);
                                 int k = (width - xSize) / 2;
                                 int l = (height - ySize) / 2;
                                 drawTexturedModalRect(k, 3, 0, 0, xSize, ySize);
                                 if(tileCompressor.isBurning());
                          
                          }
                          
                          protected void drawGuiContainerForegroundLayer(int x, int y)
                             {
                                 this.fontRendererObj.drawString(this.playerInv.hasCustomInventoryName() ? this.playerInv.getInventoryName() : I18n.format(this.playerInv.getInventoryName()), 10, this.ySize - 98, 4210752);
                             }
                          
                          }
                          
                          

                          je me suis pencher sur sa moi

                          GL11.glColor4f(1.0F, 1.5F, 1.0F, 1.0F);
                                 mc.getTextureManager().bindTexture(GuiAdamiteCraft);
                                 int k = (width - xSize) / 2;
                                 int l = (height - ySize) / 2;
                                 drawTexturedModalRect(k, 3, 0, 0, xSize, ySize);
                                 if(tileCompressor.isBurning());

                          1 réponse Dernière réponse Répondre Citer 0
                          • ? Hors-ligne
                            Un Ancien Utilisateur
                            dernière édition par

                            J’ai trouver merci quand meme

                            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

                              this.ySize = 256;
                                    this.xSize = 256;
                              Il faut changer ces deux variables.
                              Dans le fichier de ta texture la partie visible ne remplit pas toutes la grille de 256x256 (tu as normalement une partie transparente).
                              Tu dois indiquer ici la taille de la partie visible de la texture.

                              1 réponse Dernière réponse Répondre Citer 0
                              • Superloup10S Hors-ligne
                                Superloup10 Modérateurs
                                dernière édition par

                                Résolu?

                                Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                                1 réponse Dernière réponse Répondre Citer 0
                                • ? Hors-ligne
                                  Un Ancien Utilisateur
                                  dernière édition par

                                  nan car j’ai encore plein de pb avec mes machines

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

                                    @‘amigo127’:

                                    nan car j’ai encore plein de pb avec mes machines

                                    Comme?

                                    Voila ma signature

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • ? Hors-ligne
                                      Un Ancien Utilisateur
                                      dernière édition par

                                      j’ai 1 input 9 résultats de crafts mais mes crafts ne fonctionne pas j’ai déjà vue se problème mosca l’avait eu il avait créer un sujet mais il avait donner un code de TileEntity qui ne fonctionne pas pour moi car j’ai pas le même nombres d’oput en d’input

                                      voici ma Class TileEntityMachineCraft ( le nom que je lui est donner ) ;

                                      
                                      package com.adamitemod.mod;
                                      
                                      import cpw.mods.fml.relauncher.Side;
                                      import cpw.mods.fml.relauncher.SideOnly;
                                      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.tileentity.TileEntity;
                                      
                                      public class TileEntityMachineCraft extends TileEntity implements IInventory {
                                      
                                      private ItemStack[] contents = new ItemStack[4]; //0, 1 et 2 sont les inputs et 3 est l'output
                                      private int workingTime = 0; //Temps de cuisson actuel
                                      private int workingTimeNeeded = 60; //Temps de cuisson nécessaire
                                      
                                      @SideOnly(Side.CLIENT)
                                      public int getCookProgress()
                                      {
                                      return this.workingTime * 17 / this.workingTimeNeeded; //41 correspond à la hauteur de la barre de progression car notre barre de progression se déroule de haut en bas
                                      }
                                      
                                      @Override 
                                          public void writeToNBT(NBTTagCompound compound)
                                          {
                                              super.writeToNBT(compound);
                                              NBTTagList nbttaglist = new NBTTagList();
                                      
                                              for (int i = 0; i < this.contents.length; ++i) //pour les slots
                                              {
                                                  if (this.contents* != null)
                                                  {
                                                      NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                                                      nbttagcompound1.setByte("Slot", (byte)i);
                                                      this.contents*.writeToNBT(nbttagcompound1);
                                                      nbttaglist.appendTag(nbttagcompound1);
                                                  }
                                              }
                                      
                                              compound.setTag("Items", nbttaglist);
                                              compound.setShort("workingTime",(short)this.workingTime); //On les enregistrent en short
                                              compound.setShort("workingTimeNeeded", (short)this.workingTimeNeeded);
                                          }
                                      
                                      @Override
                                          public void readFromNBT(NBTTagCompound compound)
                                          {
                                              super.readFromNBT(compound);
                                      
                                              NBTTagList nbttaglist = compound.getTagList("Items", 10);
                                              this.contents = new ItemStack[this.getSizeInventory()];
                                      
                                              for (int i = 0; i < nbttaglist.tagCount(); ++i) //Encore une fois pour les slots
                                              {
                                                  NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
                                                  int j = nbttagcompound1.getByte("Slot") & 255;
                                      
                                                  if (j >= 0 && j < this.contents.length)
                                                  {
                                                      this.contents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                                                  }
                                              }
                                      
                                              this.workingTime = compound.getShort("workingTime"); //On lit nos valeurs
                                              this.workingTimeNeeded = compound.getShort("workingTimeNeeded");
                                          }
                                      
                                      @Override
                                      public int getSizeInventory() { //Tout est dans le nom, retourne la taille de l'inventaire, pour notre bloc c'est quatre
                                      return this.contents.length;
                                      }
                                      
                                      @Override
                                      public ItemStack getStackInSlot(int slotIndex) { //Renvoie L'itemStack se trouvant dans le slot passé en argument
                                      return this.contents[slotIndex];
                                      }
                                      
                                      @Override
                                      public ItemStack decrStackSize(int slotIndex, int amount) {
                                      if (this.contents[slotIndex] != null)
                                             {
                                                 ItemStack itemstack;
                                      
                                                 if (this.contents[slotIndex].stackSize <= amount)
                                                 {
                                                     itemstack = this.contents[slotIndex];
                                                     this.contents[slotIndex] = null;
                                                     this.markDirty();
                                                     return itemstack;
                                                 }
                                                 else
                                                 {
                                                     itemstack = this.contents[slotIndex].splitStack(amount);
                                      
                                                     if (this.contents[slotIndex].stackSize == 0)
                                                     {
                                                         this.contents[slotIndex] = null;
                                                     }
                                      
                                                     this.markDirty();
                                                     return itemstack;
                                                 }
                                             }
                                             else
                                             {
                                                 return null;
                                             }
                                      }
                                      
                                      @Override
                                      public ItemStack getStackInSlotOnClosing(int slotIndex) {
                                      if (this.contents[slotIndex] != null)
                                              {
                                                  ItemStack itemstack = this.contents[slotIndex];
                                                  this.contents[slotIndex] = null;
                                                  return itemstack;
                                              }
                                              else
                                              {
                                                  return null;
                                              }
                                      }
                                      
                                      @Override
                                      public void setInventorySlotContents(int slotIndex, ItemStack stack) {
                                      this.contents[slotIndex] = stack;
                                      
                                              if (stack != null && stack.stackSize > this.getInventoryStackLimit())
                                              {
                                                  stack.stackSize = this.getInventoryStackLimit();
                                              }
                                      
                                              this.markDirty();
                                      }
                                      
                                      @Override
                                      public String getInventoryName() { 
                                      return "tile.machineTuto";
                                      }
                                      
                                      @Override
                                      public boolean hasCustomInventoryName() {
                                      return false;
                                      }
                                      
                                      @Override
                                      public int getInventoryStackLimit() {
                                      return 64;
                                      }
                                      
                                      @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 slot == 3 ? false : true;
                                      }
                                      
                                      public boolean isBurning()
                                          {
                                      return this.workingTime > 0;
                                      }
                                      
                                      private boolean canSmelt()
                                          {
                                              if (this.contents[0] == null || this.contents[1] == null || this.contents[2] == null) //Si les trois premiers slots sont vides
                                              {
                                                  return false; //On ne peut pas lancer le processus
                                              }
                                              else
                                              {
                                                  ItemStack itemstack = MachineRecipesCraft.smelting().getSmeltingResult(new ItemStack[]{this.contents[0], this.contents[1], this.contents[2]}); //Il y a une erreur ici, c'est normal, on y vient après (c'est pour les recettes)
                                                  if (itemstack == null) return false; //rapport avec les recettes
                                                  if (this.contents[3] == null) return true; //vérifications du slot d'output
                                                  if (!this.contents[3].isItemEqual(itemstack)) return false; //ici aussi
                                                  int result = contents[3].stackSize + itemstack.stackSize;
                                                  return result <= getInventoryStackLimit() && result <= this.contents[3].getMaxStackSize(); //Et là aussi décidément
                                              }
                                          }
                                      
                                      public void updateEntity() //Méthode exécutée à chaque tick
                                          {
                                          if(this.isBurning() && this.canSmelt()) //Si on "cuit" et que notre recette et toujours bonne, on continue
                                          {
                                          ++this.workingTime; //incrémentation
                                          }
                                          if(this.canSmelt() && !this.isBurning()) //Si la recette est bonne mais qu'elle n'est toujours pas lancée, on la lance
                                          {
                                          this.workingTime = 1; //La méthode isBurning() renverra true maintenant (1>0)
                                          }
                                          if(this.canSmelt() && this.workingTime == this.workingTimeNeeded) //Si on est arrivé au bout du temps de cuisson et que la recette est toujours bonne
                                          {
                                          this.smeltItem(); //on "cuit" les items
                                          this.workingTime = 0; //et on réinitialise le temps de cuisson
                                          }
                                              if(!this.canSmelt()) //Si la recette la recette n'est plus bonne
                                              {
                                                     this.workingTime= 0; //le temps de cuisson est de 0
                                              }
                                          }
                                      
                                      public void smeltItem()
                                          {
                                              if (this.canSmelt())
                                              {
                                                  ItemStack itemstack = MachineRecipesCraft.smelting().getSmeltingResult(new ItemStack[]{this.contents[0], this.contents[1], this.contents[2]}); //On récupère l'output de la recette
                                                   if (this.contents[3] == null) //Si il y a rien dans le slot d'output
                                                   {
                                                        this.contents[3] = itemstack.copy(); //On met directement l'ItemStack
                                                   }
                                                   else if (this.contents[3].getItem() == itemstack.getItem()) //Et si l'item que l'on veut est le même que celui qu'il y a déjà
                                                   {
                                                        this.contents[3].stackSize += itemstack.stackSize; // Alors ont incrémente l'ItemStack
                                                   }
                                      
                                                   –this.contents[0].stackSize; //On décrémente les slots d'input
                                                   –this.contents[1].stackSize;
                                                   –this.contents[2].stackSize;
                                      
                                                   if (this.contents[0].stackSize <= 0) //Si les slots sont vides, on remet à null le slot
                                                   {
                                                       this.contents[0] = null;
                                                   }
                                                   if (this.contents[1].stackSize <= 0)
                                                   {
                                                       this.contents[1] = null;
                                                   }
                                                   if (this.contents[2].stackSize <= 0)
                                                   {
                                                       this.contents[2] = null;
                                                   }
                                              }
                                          }
                                      }
                                      
                                      
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • ? Hors-ligne
                                        Un Ancien Utilisateur
                                        dernière édition par

                                        comme je veux créer un uncrafting table il y a que 1 input donc j’ai sa :

                                        this.addRecipe(BlocksMod.adamiteBlock, BlocksMod.FissionBlock, BlocksMod.adamiteBlock, new ItemStack(ItemsMod.Adasceptre));
                                        

                                        je veux le remplacer par ca :

                                        this.addRecipe(BlocksMod.adamiteBlock, new ItemStack(ItemsMod.Adasceptre));
                                        

                                        mais sa ne marche pas voici mes Class de la machine : http://download950.mediafire.com/m1levwdmjiag/3mmftjgju5i3u15/src+adamite+machine+2.rar___Up sa fait 13h

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

                                          1- 13h ne suffisent pas entre 2 messages, de plus ton message a été envoyé à un moment où beaucoup de personnes dorment (entre minuit et 13h moi je dors !)
                                          2- J’ai été gentil et j’ai modifié 2 classes, tu aurais pu tout à fait le faire toi-même si tu avais suivis un minimum le tutoriel
                                          3- Il y aura très certainement des erreurs lorsque tu vas faire un bête copier-coller de ce que je t’ai donné, c’est normal, je ne vais pas faire tout le travail à ta place alors que tu n’as même pas pris la peine d’enlever les commentaires

                                          Voici les classes modifiées :

                                          package com.adamitemod.mod;
                                          
                                          import java.util.HashMap;
                                          import java.util.Iterator;
                                          import java.util.Map;
                                          import java.util.Map.Entry;
                                          
                                          import com.adamitemod.mod.init.BlocksMod;
                                          import com.adamitemod.mod.init.ItemsMod;
                                          
                                          import net.minecraft.block.Block;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.init.Items;
                                          import net.minecraft.item.Item;
                                          import net.minecraft.item.ItemStack;
                                          
                                          public class MachineRecipesCraft {
                                          
                                          private static final MachineRecipesCraft smeltingBase = new MachineRecipesCraft();
                                          private HashMap <itemstack, itemstack="">smeltingList = new HashMap(); // #SCAREX : c'est mieux d'indiquer ce que l'on met dans la HashMap
                                          
                                          public MachineRecipesCraft()
                                          {
                                          
                                          this.addRecipe(BlocksMod.adamiteBlock, new ItemStack(ItemsMod.Adasceptre)); // #SCAREX : tu changes ta recette
                                          }
                                          
                                          public void addRecipe(ItemStack input, ItemStack output)
                                          {
                                          this.smeltingList.put(input, output);
                                          }
                                          
                                          public void addRecipe(Item input, ItemStack output)
                                          {
                                          this.addRecipe(new ItemStack(input), output);
                                          }
                                          
                                          public void addRecipe(Block input, ItemStack output)
                                          {
                                          this.addRecipe(Item.getItemFromBlock(block1), item2, item3, stack);
                                          }
                                          
                                          public ItemStack getSmeltingResult(ItemStack stack)
                                          {
                                          Iterator iterator = this.smeltingList.entrySet().iterator();
                                          Entry entry;
                                          
                                          do
                                          {
                                          if (!iterator.hasNext())
                                          {
                                          return null;
                                          }
                                          entry = (Entry)iterator.next();
                                          }
                                          while (!this.isSameKey(stack, (ItemStack)entry.getKey()));
                                          
                                          return (ItemStack)entry.getValue();
                                          }
                                          
                                          private boolean isSameKey(ItemStack machinesStack, ItemStack key) // #SCAREX : vu que tu n'as qu'un seul item, ça ne sert à rien de faire une boucle
                                          {
                                          return machinesStack.getItem() == key.getItem();
                                          }
                                          
                                          public HashMap <itemstack, itemstack="">getSmeltingList()
                                          {
                                          return this.smeltingList;
                                          }
                                          
                                          public static MachineRecipesCraft smelting()
                                          {
                                          return smeltingBase;
                                          }
                                          }
                                          
                                          package com.adamitemod.mod;
                                          
                                          import cpw.mods.fml.relauncher.Side;
                                          import cpw.mods.fml.relauncher.SideOnly;
                                          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.tileentity.TileEntity;
                                          
                                          public class TileEntityMachineCraft extends TileEntity implements IInventory {
                                          
                                          private ItemStack[] contents = new ItemStack[2]; // #SCAREX : tu n'as que 2 slots
                                          private int workingTime = 0;
                                          private int workingTimeNeeded = 60;
                                          
                                          @SideOnly(Side.CLIENT)
                                          public int getCookProgress()
                                          {
                                          return this.workingTime * 17 / this.workingTimeNeeded;
                                          }
                                          
                                          @Override
                                          public void writeToNBT(NBTTagCompound compound)
                                          {
                                          super.writeToNBT(compound);
                                          NBTTagList nbttaglist = new NBTTagList();
                                          
                                          for (int i = 0; i < this.contents.length; ++i)
                                          {
                                          if (this.contents* != null)
                                          {
                                          NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                                          nbttagcompound1.setByte("Slot", (byte)i);
                                          this.contents*.writeToNBT(nbttagcompound1);
                                          nbttaglist.appendTag(nbttagcompound1);
                                          }
                                          }
                                          
                                          compound.setTag("Items", nbttaglist);
                                          compound.setShort("workingTime",(short)this.workingTime);
                                          compound.setShort("workingTimeNeeded", (short)this.workingTimeNeeded);
                                          }
                                          
                                          @Override
                                          public void readFromNBT(NBTTagCompound compound)
                                          {
                                          super.readFromNBT(compound);
                                          
                                          NBTTagList nbttaglist = compound.getTagList("Items", 10);
                                          this.contents = new ItemStack[this.getSizeInventory()];
                                          
                                          for (int i = 0; i < nbttaglist.tagCount(); ++i)
                                          {
                                          NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
                                          int j = nbttagcompound1.getByte("Slot") & 255;
                                          
                                          if (j >= 0 && j < this.contents.length)
                                          {
                                          this.contents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                                          }
                                          }
                                          
                                          this.workingTime = compound.getShort("workingTime");
                                          this.workingTimeNeeded = compound.getShort("workingTimeNeeded");
                                          }
                                          
                                          @Override
                                          public int getSizeInventory() {
                                          return this.contents.length;
                                          }
                                          
                                          @Override
                                          public ItemStack getStackInSlot(int slotIndex) {
                                          return this.contents[slotIndex];
                                          }
                                          
                                          @Override
                                          public ItemStack decrStackSize(int slotIndex, int amount) {
                                          if (this.contents[slotIndex] != null)
                                          {
                                          ItemStack itemstack;
                                          
                                          if (this.contents[slotIndex].stackSize <= amount)
                                          {
                                          itemstack = this.contents[slotIndex];
                                          this.contents[slotIndex] = null;
                                          this.markDirty();
                                          return itemstack;
                                          }
                                          else
                                          {
                                          itemstack = this.contents[slotIndex].splitStack(amount);
                                          
                                          if (this.contents[slotIndex].stackSize == 0)
                                          {
                                          this.contents[slotIndex] = null;
                                          }
                                          
                                          this.markDirty();
                                          return itemstack;
                                          }
                                          }
                                          else
                                          {
                                          return null;
                                          }
                                          }
                                          
                                          @Override
                                          public ItemStack getStackInSlotOnClosing(int slotIndex) {
                                          if (this.contents[slotIndex] != null)
                                          {
                                          ItemStack itemstack = this.contents[slotIndex];
                                          this.contents[slotIndex] = null;
                                          return itemstack;
                                          }
                                          else
                                          {
                                          return null;
                                          }
                                          }
                                          
                                          @Override
                                          public void setInventorySlotContents(int slotIndex, ItemStack stack) {
                                          this.contents[slotIndex] = stack;
                                          
                                          if (stack != null && stack.stackSize > this.getInventoryStackLimit())
                                          {
                                          stack.stackSize = this.getInventoryStackLimit();
                                          }
                                          
                                          this.markDirty();
                                          }
                                          
                                          @Override
                                          public String getInventoryName() {
                                          return "tile.machineTuto";
                                          }
                                          
                                          @Override
                                          public boolean hasCustomInventoryName() {
                                          return false;
                                          }
                                          
                                          @Override
                                          public int getInventoryStackLimit() {
                                          return 64;
                                          }
                                          
                                          @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 slot == 3 ? false : true;
                                          }
                                          
                                          public boolean isBurning()
                                          {
                                          return this.workingTime > 0;
                                          }
                                          
                                          private boolean canSmelt()
                                          {
                                          if (this.contents[0] == null) // #SCAREX : tu n'as qu'un seul slot ici
                                          {
                                          return false;
                                          }
                                          else
                                          {
                                          ItemStack itemstack = MachineRecipesCraft.smelting().getSmeltingResult(this.contents[0]); // #SCAREX : un seul slot
                                          if (itemstack == null) return false;
                                          if (this.contents[3] == null) return true;
                                          if (!this.contents[3].isItemEqual(itemstack)) return false;
                                          int result = contents[3].stackSize + itemstack.stackSize;
                                          return result <= getInventoryStackLimit() && result <= this.contents[3].getMaxStackSize();
                                          }
                                          }
                                          
                                          public void updateEntity()
                                          {
                                          if(this.isBurning() && this.canSmelt())
                                          {
                                          ++this.workingTime;
                                          }
                                          if(this.canSmelt() && !this.isBurning())
                                          {
                                          this.workingTime = 1;
                                          }
                                          if(this.canSmelt() && this.workingTime == this.workingTimeNeeded)
                                          {
                                          this.smeltItem();
                                          this.workingTime = 0;
                                          }
                                          if(!this.canSmelt())
                                          {
                                          this.workingTime= 0;
                                          }
                                          }
                                          
                                          public void smeltItem()
                                          {
                                          if (this.canSmelt())
                                          {
                                          ItemStack itemstack = MachineRecipesCraft.smelting().getSmeltingResult(this.contents[0]); // #SCAREX : tu n'as qu'un seul input
                                          if (this.contents[1] == null) // #SCAREX : ton slot d'output devient 1
                                          {
                                          this.contents[1] = itemstack.copy();
                                          }
                                          else if (this.contents[1].getItem() == itemstack.getItem())
                                          {
                                          this.contents[1].stackSize += itemstack.stackSize;
                                          }
                                          
                                          –this.contents[0].stackSize;
                                          
                                          if (this.contents[0].stackSize <= 0)
                                          {
                                          this.contents[0] = null;
                                          }
                                          }
                                          }
                                          }
                                          ```</itemstack,></itemstack,>

                                          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
                                          • ? Hors-ligne
                                            Un Ancien Utilisateur
                                            dernière édition par

                                            public void addRecipe(Block input, ItemStack output)
                                            {
                                            this.addRecipe(Item.getItemFromBlock(block1), item2, item3, stack);
                                            }
                                            
                                            

                                            probléme ici : (block1), item2, item3, stack)

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB