MFF

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

    Faire un nouveau four

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.6.x
    70 Messages 15 Publieurs 26.3k 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.
    • GuguG Hors-ligne
      Gugu
      dernière édition par

      C’est assez étrange …

      Essaie de remettre un autre item ( Genre coal ) et de tester

      Si il faut deux items minimum, mets un item non obtenable normalement avec une valeure nulle pour palier au bug

      "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
      ― Jordan B. Peterson

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

        Ça ne fonctionne pas

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

          Je vois pas du tout d’où ça viens 😕

          "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
          ― Jordan B. Peterson

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

            Dommage 😕

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

              Bon la je comprend pas, j’ai remis mon TileEntityFour comme avant, mais mon Four ne veut pu rien faire cuir!!!

              package havre;
              
              import net.minecraft.block.Block;
              import net.minecraft.block.material.Material;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.inventory.ISidedInventory;
              import net.minecraft.item.Item;
              import net.minecraft.item.ItemBlock;
              import net.minecraft.item.ItemHoe;
              import net.minecraft.item.ItemStack;
              import net.minecraft.item.ItemSword;
              import net.minecraft.item.ItemTool;
              import net.minecraft.nbt.NBTTagCompound;
              import net.minecraft.nbt.NBTTagList;
              import net.minecraft.tileentity.TileEntity;
              import cpw.mods.fml.common.registry.GameRegistry;
              import cpw.mods.fml.relauncher.Side;
              import cpw.mods.fml.relauncher.SideOnly;
              
              public class TileEntityFour extends TileEntity implements ISidedInventory {
              private ItemStack[] furnaceItemStacks = new ItemStack[3];
              
              public int getSizeInventory() {
              return this.furnaceItemStacks.length;
              }
              
              public ItemStack getStackInSlot(int par1) {
              return this.furnaceItemStacks[par1];
              }
              
              public ItemStack decrStackSize(int par1, int par2) {
              if (this.furnaceItemStacks[par1] != null) {
              ItemStack itemstack;
              
              if (this.furnaceItemStacks[par1].stackSize <= par2) {
              itemstack = this.furnaceItemStacks[par1];
              this.furnaceItemStacks[par1] = null;
              return itemstack;
              } else {
              itemstack = this.furnaceItemStacks[par1].splitStack(par2);
              
              if (this.furnaceItemStacks[par1].stackSize == 0) {
              this.furnaceItemStacks[par1] = null;
              }
              
              return itemstack;
              }
              } else {
              return null;
              }
              }
              
              public ItemStack getStackInSlotOnClosing(int par1) {
              if (this.furnaceItemStacks[par1] != null) {
              ItemStack itemstack = this.furnaceItemStacks[par1];
              this.furnaceItemStacks[par1] = null;
              return itemstack;
              } else {
              return null;
              }
              }
              
              public void setInventorySlotContents(int par1, ItemStack par2ItemStack) {
              this.furnaceItemStacks[par1] = par2ItemStack;
              
              if (par2ItemStack != null
              && par2ItemStack.stackSize > this.getInventoryStackLimit()) {
              par2ItemStack.stackSize = this.getInventoryStackLimit();
              }
              }
              
              private String field_94130_e; // Variable a mettre au debut de votre classe
              
              public String getInvName() {
              return this.isInvNameLocalized() ? this.field_94130_e
              : "container.four"; // Ici, c'est en rapport avec le fichier
              // lang :o
              }
              
              public boolean isInvNameLocalized() {
              return this.field_94130_e != null && this.field_94130_e.length() > 0;
              }
              
              public void setGuiDisplayName(String par1Str) {
              this.field_94130_e = par1Str;
              }
              
              public void readFromNBT(NBTTagCompound par1NBTTagCompound) {
              super.readFromNBT(par1NBTTagCompound);
              NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items");
              this.furnaceItemStacks = new ItemStack[this.getSizeInventory()];
              
              for (int i = 0; i < nbttaglist.tagCount(); ++i) {
              NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist
              .tagAt(i);
              byte b0 = nbttagcompound1.getByte("Slot");
              
              if (b0 >= 0 && b0 < this.furnaceItemStacks.length) {
              this.furnaceItemStacks[b0] = ItemStack
              .loadItemStackFromNBT(nbttagcompound1);
              }
              }
              
              this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime");
              this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime");
              this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]);
              
              if (par1NBTTagCompound.hasKey("CustomName")) {
              this.field_94130_e = par1NBTTagCompound.getString("CustomName");
              }
              }
              
              public void writeToNBT(NBTTagCompound par1NBTTagCompound) {
              super.writeToNBT(par1NBTTagCompound);
              par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime);
              par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime);
              NBTTagList nbttaglist = new NBTTagList();
              
              for (int i = 0; i < this.furnaceItemStacks.length; ++i) {
              if (this.furnaceItemStacks* != null) {
              NBTTagCompound nbttagcompound1 = new NBTTagCompound();
              nbttagcompound1.setByte("Slot", (byte) i);
              this.furnaceItemStacks*.writeToNBT(nbttagcompound1);
              nbttaglist.appendTag(nbttagcompound1);
              }
              }
              
              par1NBTTagCompound.setTag("Items", nbttaglist);
              
              if (this.isInvNameLocalized()) {
              par1NBTTagCompound.setString("CustomName", this.field_94130_e);
              }
              }
              
              private static final int[] slots_top = new int[] { 0 };
              private static final int[] slots_bottom = new int[] { 2, 1 };
              private static final int[] slots_sides = new int[] { 1 };
              
              public int furnaceBurnTime;
              public int furnaceCookTime;
              
              public int currentItemBurnTime;
              
              public int getInventoryStackLimit() {
              return 64;
              }
              
              @SideOnly(Side.CLIENT)
              public int getCookProgressScaled(int par1) {
              return this.furnaceCookTime * par1 / 200;
              }
              
              @SideOnly(Side.CLIENT)
              public int getBurnTimeRemainingScaled(int par1) {
              if (this.currentItemBurnTime == 0) {
              this.currentItemBurnTime = 200;
              }
              
              return this.furnaceBurnTime * par1 / this.currentItemBurnTime;
              }
              
              public boolean isBurning() {
              return this.furnaceBurnTime > 0;
              }
              
              public void updateEntity() {
              boolean flag = this.furnaceBurnTime > 0;
              boolean flag1 = false;
              
              if (this.furnaceBurnTime > 0) {
              –this.furnaceBurnTime;
              }
              
              if (!this.worldObj.isRemote) {
              if (this.furnaceBurnTime == 0 && this.canSmelt()) {
              this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]);
              
              if (this.furnaceBurnTime > 0) {
              flag1 = true;
              
              if (this.furnaceItemStacks[1] != null) {
              –this.furnaceItemStacks[1].stackSize;
              
              if (this.furnaceItemStacks[1].stackSize == 0) {
              this.furnaceItemStacks[1] = this.furnaceItemStacks[1]
              .getItem().getContainerItemStack(
              furnaceItemStacks[1]);
              }
              }
              }
              }
              
              if (this.isBurning() && this.canSmelt()) {
              ++this.furnaceCookTime;
              
              if (this.furnaceCookTime == 200) {
              this.furnaceCookTime = 0;
              this.smeltItem();
              flag1 = true;
              }
              } else {
              this.furnaceCookTime = 0;
              }
              
              if (flag != this.furnaceBurnTime > 0) {
              flag1 = true;
              BlockFour.updateFurnaceBlockState(this.furnaceBurnTime > 0,
              this.worldObj, this.xCoord, this.yCoord, this.zCoord);
              }
              }
              
              if (flag1) {
              this.onInventoryChanged();
              }
              }
              
              private boolean canSmelt() {
              if (this.furnaceItemStacks[0] == null) {
              return false;
              } else {
              ItemStack itemstack = RecipesFour.smelting().getSmeltingResult(
              this.furnaceItemStacks[0]);
              if (itemstack == null)
              return false;
              if (this.furnaceItemStacks[2] == null)
              return true;
              if (!this.furnaceItemStacks[2].isItemEqual(itemstack))
              return false;
              int result = furnaceItemStacks[2].stackSize + itemstack.stackSize;
              return (result <= getInventoryStackLimit() && result <= itemstack
              .getMaxStackSize());
              }
              }
              
              public void smeltItem() {
              if (this.canSmelt()) {
              ItemStack itemstack = RecipesFour.smelting().getSmeltingResult(
              this.furnaceItemStacks[0]);
              
              if (this.furnaceItemStacks[2] == null) {
              this.furnaceItemStacks[2] = itemstack.copy();
              } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) {
              furnaceItemStacks[2].stackSize += itemstack.stackSize;
              }
              
              –this.furnaceItemStacks[0].stackSize;
              
              if (this.furnaceItemStacks[0].stackSize <= 0) {
              this.furnaceItemStacks[0] = null;
              }
              }
              }
              
              public static int getItemBurnTime(ItemStack par0ItemStack) {
              if (par0ItemStack == null) {
              return 0;
              } else {
              int i = par0ItemStack.getItem().itemID;
              Item item = par0ItemStack.getItem();
              
              if (par0ItemStack.getItem() instanceof ItemBlock
              && Block.blocksList* != null) {
              Block block = Block.blocksList*;
              
              if (block == Block.woodSingleSlab) {
              return 150;
              }
              
              if (block.blockMaterial == Material.wood) {
              return 300;
              }
              
              if (block == Block.field_111034_cE) {
              return 16000;
              }
              }
              
              if (item instanceof ItemTool
              && ((ItemTool) item).getToolMaterialName().equals("WOOD"))
              return 200;
              if (item instanceof ItemSword
              && ((ItemSword) item).getToolMaterialName().equals("WOOD"))
              return 200;
              if (item instanceof ItemHoe
              && ((ItemHoe) item).getMaterialName().equals("WOOD"))
              return 200;
              if (i == Item.stick.itemID)
              return 100;
              if (i == Item.coal.itemID)
              return 1600;
              if (i == Item.bucketLava.itemID)
              return 20000;
              if (i == Block.sapling.blockID)
              return 100;
              if (i == Item.blazeRod.itemID)
              return 2400;
              return GameRegistry.getFuelValue(par0ItemStack);
              }
              }
              
              public static boolean isItemFuel(ItemStack par0ItemStack) {
              return getItemBurnTime(par0ItemStack) > 0;
              }
              
              public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) {
              return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord,
              this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq(
              (double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D,
              (double) this.zCoord + 0.5D) <= 64.0D;
              }
              
              public void openChest() {
              }
              
              public void closeChest() {
              }
              
              public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) {
              return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack)
              : true);
              }
              
              public int[] getAccessibleSlotsFromSide(int par1) {
              return par1 == 0 ? slots_bottom : (par1 == 1 ? slots_top : slots_sides);
              }
              
              public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) {
              return this.isItemValidForSlot(par1, par2ItemStack);
              }
              
              public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) {
              return par3 != 0 || par1 != 1
              || par2ItemStack.itemID == Item.bucketEmpty.itemID;
              }
              }
              

              –------------------------------------------------
              Edit: Désolé c’est moi qui était con depuis le début: j’avais oublier que j’avais changer les craft possible de mon four --'. Vous pouvez rire de ma gueule j’ai bien foiré sur ce coup! xD

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

                @‘Oniro’:

                –------------------------------------------------
                Edit: Désolé c’est moi qui était con depuis le début: j’avais oublier que j’avais changer les craft possible de mon four --'. Vous pouvez rire de ma gueule j’ai bien foiré sur ce coup! xD

                T’en fais pas x), sa m’arrive quand je suis fatiguai x).

                Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

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

                  surtout qu’il était pas passer 6h am quand je cherchais la réponse(Ouais je suis québecois). xD

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

                    Bonjour, je me permets de up ce topic pour donner une solution à un problème sans doute due à une autre version, dans le GUIFour.drawGuiContainerBackgroundLayer: (Je suis en 1.6.4)

                    this.mc.func_110434_K().func_110577_a(field_110410_t);
                    doit être remplacé par:
                    this.mc.getTextureManager().bindTexture(field_110410_t);

                    et

                    I18n.func_135053_a
                    par:
                    I18n.getString

                    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 effet il y avait encore les anciennes mapping (forge < 849). Je vais éditer le poste merci.

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

                        Ah, désolé, j’utilise jamais les bonnes versions de Forge ^^

                        "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                        ― Jordan B. Peterson

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

                          très bon tuto, mais si on pourrait avoir les modifications à apporter pour avoir un slot fonctionnel de plus, ce serait parfait.
                          merci d’avance (quand j’essaye, soit c’est une copie d’un autre slot (on voit deux fois l’item…) soit il sert juste à stocker un stack comme dans un coffre)


                          d’autres codes à mettre à jour:
                          11e code java dans le block four : func_96440_m --> getScoreboard
                          modification classe principale : func_111022_d --> setTextureName
                          16e code java du TileEntity field_111034_cE --> coalBlock
                          2e Guifour field_110410_t --> furnaceGuiTextures
                          Recipes field_111032_cD --> hardenedClay

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

                            C’est un peu plus complexe, j’attend la 1.7 pour mettre a jour le tuto.

                            Mais ça reste assez simple, dans le système de craft, la ou il check si le slot X a X item, tu ajoute pour qu’il check aussi le slot Y

                            "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                            ― Jordan B. Peterson

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

                              J’aimerais qu’au lieu de “remplir” le slotFour quand je cuis quelque chose, j’invoque une entité quand je peux m’y prendre ?

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

                                Salut Gugu esque tu peut me dire comment faire pour cree un nouveau GameRegistry, genre que le block ne sois pas un four mais par exemple que l’on puisse cree de nouvelle reçette qui son propre a ce four ( genre gameRegistry.addBurnatorSmelting ( bla blabla )

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

                                  ce serait possible de faire une update pour la 1.7.10 😉 merci

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

                                    Merci de rechercher la prochaine fois : https://www.minecraftforgefrance.fr/showthread.php?tid=2017

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

                                    MINECRAFT FORGE FRANCE © 2024

                                    Powered by NodeBB