• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Bug NBTTag pour Item avec craft

Sans suite
1.7.10
3
42
9.6k
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.
  • Deleted
    Deleted dernière édition par 30 juin 2015, 19:51

    Bonsoir tout le monde
    Je recrée le même sujet que l’autre tout à l’heure qui a subi un bug entraînant sa suppression. Bref je redis tout pour les nouveaux. Je souhaite qu’en craftant un item celui-ci ait un de ses NBT qui change de valeur (un boolean, de false à true) . J’avoue ne pas avoir compris les NBT et autres valeurs assignés aux items malgré le fait d’avoir regardé de nombreux tutoriels. Voici mes classes

    package fr.mrplaigon.dyingcraft.common.handler;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import cpw.mods.fml.common.registry.GameRegistry;
    import fr.mrplaigon.dyingcraft.common.item.DyingCraftItemSword;
    public class CraftingHandler 
    {
    public static void initRecipes()
    {
    GameRegistry.addRecipe(new ItemStack(ItemHandler.bandage), new Object[]{"   ", "XXX", "   ", 'X', ItemHandler.tissu});
    GameRegistry.addRecipe(new ItemStack(ItemHandler.kitSoin), new Object[]{"   ", "XYX", "   ", 'X', ItemHandler.bandage, 'Y', ItemHandler.alcool});
    GameRegistry.addRecipe(new ItemStack(ItemHandler.kitSecours), new Object[]{"   ", "XYX", "   ", 'X', ItemHandler.bandage, 'Y', ItemHandler.desinfectant});
    Item batteBaseballClouee1 = ItemHandler.batteBaseball;
    ((DyingCraftItemSword)batteBaseballClouee1).setWasImprovedInClouMode(true);
    ItemStack batteBaseballClouee2 = new ItemStack(batteBaseballClouee1, 1);
    GameRegistry.addRecipe(batteBaseballClouee2, new Object[]{" X ", "XYX", " X ", 'X', ItemHandler.boiteClous, 'Y', ItemHandler.batteBaseball});
    Item batteBaseballPoison1 = ItemHandler.batteBaseball;
    ((DyingCraftItemSword)batteBaseballPoison1).setWasImprovedInPoisonMode(true);
    ItemStack batteBaseballPoison2 = new ItemStack(batteBaseballPoison1, 1);
    GameRegistry.addRecipe(batteBaseballPoison2, new Object[]{" X ", "XYX", " X ", 'X', ItemHandler.fiolePoison, 'Y', ItemHandler.batteBaseball});
    }
    }
    package fr.mrplaigon.dyingcraft.common.item;
    import java.util.List;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.ItemSword;
    import net.minecraft.nbt.NBTTagCompound;
    import net.minecraft.world.World;
    import fr.mrplaigon.dyingcraft.common.core.DyingCraftMod;
    public class DyingCraftItemSword extends ItemSword 
    {
    private boolean isImprovableInClouMode;
    private boolean isImprovableInPoisonMode;
    private boolean wasImprovedInClouMode;
    private boolean wasImprovedInPoisonMode;
    public DyingCraftItemSword(ToolMaterial toolmaterial) 
    {
    super(toolmaterial);
    }
    public DyingCraftItemSword(ToolMaterial toolmaterial, boolean isImprovableInClouMode, boolean isImprovableInPoisonMode)
    {
    super(toolmaterial);
    this.setCreativeTab(DyingCraftMod.newCreativeTab);
    this.isImprovableInClouMode = isImprovableInClouMode;
    this.isImprovableInPoisonMode = isImprovableInPoisonMode;
    }
    public boolean isImprovableInClouMode() 
    {
    return isImprovableInClouMode;
    }
    public void setImprovableInClouMode(boolean isImprovableInClouMode) 
    {
    this.isImprovableInClouMode = isImprovableInClouMode;
    }
    public boolean isImprovableInPoisonMode() 
    {
    return isImprovableInPoisonMode;
    }
    public void setImprovableInPoisonMode(boolean isImprovableInPoisonMode) 
    {
    this.isImprovableInPoisonMode = isImprovableInPoisonMode;
    }
        public boolean isWasImprovedInClouMode() 
        {
    return wasImprovedInClouMode; 
    }
    public void setWasImprovedInClouMode(boolean wasImprovedInClouMode) 
    {
    this.wasImprovedInClouMode = wasImprovedInClouMode;
    }
    public boolean isWasImprovedInPoisonMode() 
    {
    return wasImprovedInPoisonMode;
    }
    public void setWasImprovedInPoisonMode(boolean wasImprovedInPoisonMode) 
    {
    this.wasImprovedInPoisonMode = wasImprovedInPoisonMode;
    }
    /**public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity)
        {
        stack.stackTagCompound = new NBTTagCompound();
        if(this.isImprovableInClouMode)
        {
        stack.stackTagCompound.setBoolean("isImprovableInClouMode", this.isImprovableInClouMode);
        }
        if(this.isImprovableInPoisonMode && player.isSneaking())
        {
        stack.stackTagCompound.setBoolean("isImprovableInPoisonMode", this.isImprovableInPoisonMode);
        }
            return false;
        }*/
        public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) 
        {
        if(stack.stackTagCompound != null)
        {
        if(this.isImprovableInClouMode && stack.stackTagCompound.hasKey("wasImprovedInClouMode"))
        {
        String information = "Mode clou activé";
        list.add(information);
        System.out.println("clou mode activé ?");
        }
        if(this.isImprovableInPoisonMode && stack.stackTagCompound.hasKey("wasImprovedInPoisonMode"))
        {
        String information = "Mode poison activé";
        list.add(information);
        System.out.println("Poison mode activé ?");
        }
        }
        }
        public void onCreated(ItemStack stack, World world, EntityPlayer player) 
        {
        stack.stackTagCompound = new NBTTagCompound();
        if(this.isImprovableInClouMode)
        {
        stack.stackTagCompound.setBoolean("wasImprovedInClouMode", this.wasImprovedInClouMode);
        }
        if(this.isImprovableInPoisonMode)
        {
        stack.stackTagCompound.setBoolean("wasImprovedInPoisonMode", this.wasImprovedInPoisonMode);
        }
        }
    }

    Je voudrai juste vous expliquer les variables isImprovableIn…Mode sont là pour le constructeur car certaines armes sont améliorables en certains modes, d’autres non. Les variables wasImprovedIn…Mode sont là pour dire si l’arme vient d’être amélioré et surtout là pour l’enregistrement des 2 NBTTagCompound.

    Merci d’avance 🙂

    1 réponse Dernière réponse Répondre Citer 0
    • SCAREX
      SCAREX dernière édition par 30 juin 2015, 20:12

      Je remets le même post : Pourquoi ne pas utiliser les metadatas ?

      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
      • Deleted
        Deleted dernière édition par 30 juin 2015, 20:14

        Je ne sais pas trop j’avais une préférence pour les tag étant donné qu’on aura sûrement + de 16 items différents au final

        1 réponse Dernière réponse Répondre Citer 0
        • SCAREX
          SCAREX dernière édition par 30 juin 2015, 20:16

          Les items n’ont pas de limite pour les metadatas : seul les blocks en ont. Regarde les potions et les oeufs pour faire apparaître les mobs.

          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
          • Deleted
            Deleted dernière édition par 30 juin 2015, 20:21

            A oui je croyais mais j’avais gardé l’utilisation des métadatas pour d’autres blocks de mon mod. Peut-on m’expliquer mes erreurs dans mon code svp ?

            1 réponse Dernière réponse Répondre Citer 0
            • SCAREX
              SCAREX dernière édition par 30 juin 2015, 20:46

              “L’utilisation des métadatas pour d’autres blocks” ?!

              Si tu veux vraiment utiliser les NBT, il te faut une classe implements IRecipe.

              Mais je te rappelle que les métadatas sont une bien meilleure solution.

              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
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 30 juin 2015, 21:00

                Tu me l’aurai signalé je l’aurai restauré. Depuis mybb 1.8 les posts supprimés deviennent juste invisible est peuvent être restauré. Seuls les admin peuvent supprimer définitivement les posts.

                Je répété aussi la même chose :
                Ça ne fonctionne pas du tout comme ça.
                Là tu essaye de mettre des variables sur l’item, or tu n’as qu’un seule instance par item.
                Il faut tout mettre dans le tag nbt.
                Tes variables isImprovableInClouMode, isImprovableInPoisonMode, wasImprovedInClouMode , wasImprovedInPoisonMode ne devraient pas exister.

                1 réponse Dernière réponse Répondre Citer 0
                • Deleted
                  Deleted dernière édition par 30 juin 2015, 21:01

                  @‘SCAREX’:

                  “L’utilisation des métadatas pour d’autres blocks”  ?!

                  Si tu veux vraiment utiliser les NBT, il te faut une classe implements IRecipe.

                  Mais je te rappelle que les métadatas sont une bien meilleure solution.

                  J’ai une regardé un peu l’interface IRecipe et je n’arrive pas vraiment à voir ce qu’elle va me faire gagner de + ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREX
                    SCAREX dernière édition par 30 juin 2015, 21:05

                    Grâce à cette interface, tu peux spécifier l’output et donc y ajouter des NBT en plus selon le craft ou autre.

                    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
                    • Deleted
                      Deleted dernière édition par 30 juin 2015, 21:12

                      Robin -> Pour mes valeurs isImprovableIn…Mode je suis convaincu qu’elles doivent rester puisqu’elle font partie de mon constructeur. Et pour les valeurs wasImprovedIn…Mode tu veux qu’elles soient locale à la méthode onCreated c’est ça ? Mais j’ai en ai besoin pour mes getter…

                      SCAREX -> Merci de ta réponse détaillée je vais me pencher là dessus

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 30 juin 2015, 21:18

                        Je crois que j’ai pas suivis quelque chose alors …
                        Tu utilises cette classe pour plusieurs items ?

                        Si tu veux un exemple d’utilisation des tags d’item :
                        https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/main/items/ItemLightSaber.java
                        https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/main/items/ItemNanomiteArrowGun.java#L50

                        1 réponse Dernière réponse Répondre Citer 0
                        • Deleted
                          Deleted dernière édition par 30 juin 2015, 21:19

                          Oui tiens une partie de mon ItemHandler pour te situer la chose 🙂

                          batteBaseball = new DyingCraftItemSword(batteBaseballToolMaterial, true, true).setUnlocalizedName("batteBaseball").setTextureName(DyingCraftMod.MODID + ":batteBaseball");
                          GameRegistry.registerItem(batteBaseball, "batteBaseball");
                          batteCricket = new DyingCraftItemSword(batteCricketToolMaterial, true, true).setUnlocalizedName("batteCricket").setTextureName(DyingCraftMod.MODID + ":batteCricket");
                          GameRegistry.registerItem(batteCricket, "batteCricket");
                          grosseHache = new DyingCraftItemSword(grosseHacheToolMaterial, false, true).setUnlocalizedName("grosseHache").setTextureName(DyingCraftMod.MODID + ":grosseHache");
                          GameRegistry.registerItem(grosseHache, "grosseHache");
                          petitCouteau = new DyingCraftItemSword(petitCouteauToolMaterial, false, true).setUnlocalizedName("petitCouteau").setTextureName(DyingCraftMod.MODID + ":petitCouteau");
                          GameRegistry.registerItem(petitCouteau, "petitCouteau");

                          J’ai pas forcément de difficultés avec les Tags même si je n’y compris rien je me débrouille avec les méthodes, c’est juste pour relier le tout aux craft. Mais pour l’instant je découvre l’interface IRecipe, j’espère qu’elle me conduira à la solution =D

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 30 juin 2015, 21:22

                            Mais pourquoi vouloir utiliser les tag nbt de l’itemstack alors  :huh:

                            1 réponse Dernière réponse Répondre Citer 0
                            • Deleted
                              Deleted dernière édition par 30 juin 2015, 21:26

                              @‘robin4002’:

                              Mais pourquoi vouloir utiliser les tag nbt de l’itemstack alors  :huh:

                              En fait mes armes seront améliorables (certaines aux clous, d’autres au poison, d’autres pas du tout, d’autres les deux à la fois) c’est à ça que servent les 2 boolean supplémentaires dans le constructeur. Mais de base tous mes nouveaux items sont normaux, je veux juste me servir des NBTTag pour enregistrer si certaines de ces armes ont subi une des 2 améliorations. Tu comprends ou pas ? :huh:

                              1 réponse Dernière réponse Répondre Citer 0
                              • Deleted
                                Deleted dernière édition par 30 juin 2015, 21:27

                                En fait mes armes seront améliorables (certaines aux clous, d’autres au poison, d’autres pas du tout, d’autres les deux à la fois) c’est à ça que servent les 2 boolean supplémentaires dans le constructeur. Mais de base tous mes nouveaux items sont normaux, je veux juste me servir des NBTTag pour enregistrer si certaines de ces armes ont subi une des 2 améliorations. Tu comprends ou pas ? :huh:

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 30 juin 2015, 21:30

                                  Dans ce cas pourquoi avoir fait plusieurs items ? Un seul suffit non ?

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • SCAREX
                                    SCAREX dernière édition par 30 juin 2015, 21:31

                                    Alors il faut passer par une classe implements IRecipe, voici un code qui devrait t’aider (Dans ce code je me suis fait une API un peu difficile à comprendre, demande si tu as besoin d’aide sur ce code) :

                                    package fr.scarex.ascalonmod.recipe;
                                    import java.util.Random;
                                    import net.minecraft.block.Block;
                                    import net.minecraft.init.Blocks;
                                    import net.minecraft.init.Items;
                                    import net.minecraft.inventory.InventoryCrafting;
                                    import net.minecraft.item.Item;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.item.crafting.IRecipe;
                                    import net.minecraft.nbt.NBTTagCompound;
                                    import net.minecraft.world.World;
                                    import fr.scarex.ascalonmod.block.AscalonModBlocks;
                                    import fr.scarex.ascalonmod.item.AscalonModItems;
                                    /**
                                    * @author SCAREX
                                    *
                                    */
                                    public class KeyRecipe implements IRecipe
                                    {
                                    private static final Random RNG = new Random();
                                    protected ItemStack result;
                                    protected ExtendedItem[][] matrix;
                                    protected byte slotIndex;
                                    public KeyRecipe(ItemStack result, byte slotIndex, ExtendedItem[][] matrix) {
                                    this.result = result;
                                    this.matrix = matrix;
                                    this.slotIndex = slotIndex;
                                    }
                                    public KeyRecipe(CraftMatrix c) {
                                    this.result = c.result;
                                    this.slotIndex = c.slot;
                                    this.matrix = c.matrix;
                                    }
                                    @Override
                                    public boolean matches(InventoryCrafting inv, World world) {
                                    for (int i = 0; i < 3; i++) {
                                    for (int j = 0; j < 3; j++) {
                                    if (!ExtendedItem.corresponds(this.matrix*[j], inv.getStackInSlot(i * 3 + j))) return false;
                                    }
                                    }
                                    return true;
                                    }
                                    @Override
                                    public ItemStack getCraftingResult(InventoryCrafting inv) {
                                    NBTTagCompound comp = new NBTTagCompound();
                                    if (slotIndex > 0)
                                    comp.setInteger("key", inv.getStackInSlot(slotIndex).getTagCompound().getInteger("key"));
                                    else
                                    comp.setInteger("key", RNG.nextInt());
                                    ItemStack stack = result.copy();
                                    stack.setTagCompound(comp);
                                    return stack;
                                    }
                                    @Override
                                    public int getRecipeSize() {
                                    return 9;
                                    }
                                    @Override
                                    public ItemStack getRecipeOutput() {
                                    return result.copy();
                                    }
                                    public static enum CraftMatrix
                                    {
                                    KEY(
                                    new ItemStack(AscalonModItems.ITEM_KEY),
                                    -1,
                                    new Item[][] {
                                    new Item[] {
                                    Items.iron_ingot,
                                    Items.iron_ingot,
                                    null },
                                    new Item[] {
                                    null,
                                    Items.iron_ingot,
                                    null },
                                    new Item[] {
                                    null,
                                    Items.iron_ingot,
                                    null } }),
                                    COPY_KEY(
                                    new ItemStack(AscalonModItems.ITEM_KEY),
                                    6,
                                    new Item[][] {
                                    new Item[] {
                                    Items.iron_ingot,
                                    Items.iron_ingot,
                                    null },
                                    new Item[] {
                                    null,
                                    Items.iron_ingot,
                                    null },
                                    new Item[] {
                                    AscalonModItems.ITEM_KEY,
                                    Items.iron_ingot,
                                    null } }),
                                    LOCKED_CHEST(
                                    new ItemStack(AscalonModBlocks.BLOCK_LOCKED_CHEST),
                                    5,
                                    new Item[][] {
                                    new Item[] {
                                    Items.iron_ingot,
                                    Items.iron_ingot,
                                    Items.iron_ingot },
                                    new Item[] {
                                    AscalonModItems.ITEM_LOCK,
                                    Item.getItemFromBlock(Blocks.chest),
                                    AscalonModItems.ITEM_KEY },
                                    new Item[] {
                                    Items.iron_ingot,
                                    Items.iron_ingot,
                                    Items.iron_ingot } }),
                                    LOCKED_DOOR(
                                    new ItemStack(AscalonModItems.ITEM_SPRUCE_DOOR),
                                    5,
                                    new ExtendedItem[][] {
                                    new ExtendedItem[] {
                                    new ExtendedItem(Blocks.planks, 1),
                                    new ExtendedItem(Blocks.planks, 1),
                                    null },
                                    new ExtendedItem[] {
                                    new ExtendedItem(Blocks.planks, 1),
                                    new ExtendedItem(Blocks.planks, 1),
                                    new ExtendedItem(AscalonModItems.ITEM_KEY) },
                                    new ExtendedItem[] {
                                    new ExtendedItem(Blocks.planks, 1),
                                    new ExtendedItem(Blocks.planks, 1),
                                    null } });
                                    public ItemStack result;
                                    public byte slot;
                                    public ExtendedItem[][] matrix;
                                    private CraftMatrix(ItemStack stack, int slotIndex, Item[][] matrix) {
                                    this.result = stack;
                                    this.slot = (byte) slotIndex;
                                    this.matrix = ExtendedItem.convertMatrix(matrix);
                                    }
                                    private CraftMatrix(ItemStack result, int slot, ExtendedItem[][] matrix) {
                                    this.result = result;
                                    this.slot = (byte) slot;
                                    this.matrix = matrix;
                                    }
                                    }
                                    public static class ExtendedItem
                                    {
                                    private Item item;
                                    private int metadata;
                                    public ExtendedItem(Item item, int meta) {
                                    this.item = item;
                                    this.metadata = meta;
                                    }
                                    public ExtendedItem(Block block, int metadata) {
                                    this.item = Item.getItemFromBlock(block);
                                    this.metadata = metadata;
                                    }
                                    public ExtendedItem(Item item) {
                                    this.item = item;
                                    this.metadata = 0;
                                    }
                                    public ExtendedItem(Block block) {
                                    this.item = Item.getItemFromBlock(block);
                                    this.metadata = 0;
                                    }
                                    /**
                                    * @return the item
                                    */
                                    public Item getItem() {
                                    return item;
                                    }
                                    /**
                                    * @return the metadata
                                    */
                                    public int getMetadata() {
                                    return metadata;
                                    }
                                    public static ExtendedItem[][] convertMatrix(Item[][] items) {
                                    ExtendedItem[][] xItems = new ExtendedItem[3][3];
                                    for (int i = 0; i < xItems.length; i++) {
                                    for (int j = 0; j < xItems*.length; j++) {
                                    xItems*[j] = new ExtendedItem(items*[j]);
                                    }
                                    }
                                    return xItems;
                                    }
                                    public static boolean corresponds(ExtendedItem item, ItemStack stack) {
                                    if (stack == null && item != null && item.getItem() != null) return false;
                                    if (stack != null && (item == null || item.getItem() == null)) return false;
                                    if (stack != null && item.getItem() != null && (stack.getItem() != item.getItem() || stack.getItemDamage() != item.getMetadata())) return false;
                                    return true;
                                    }
                                    }
                                    }

                                    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
                                    • Deleted
                                      Deleted dernière édition par 30 juin 2015, 21:33

                                      Non les item que je t’ai montré dans mon message 12 sont différents. Ils subiront tous des améliorations. Exemple la grosse hâche qui pourra être amélioré en mode poison, la batte de baseball en mode clou, etc…

                                      SCAREX, si tu lis ce message j’ai trouvé ces 2 lien pour l’interface mais j’ai du mal à comprendre
                                      http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2181203-how-to-use-the-irecipe-interface
                                      http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2230695-irecipe-help
                                      http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2268796-help-me-use-nbt

                                      Au niveau de l’enregistrement ça va.
                                      Pour l méthode matches() c’est juste la méthode où on doit spécifier quels items se trouvent dans quels slots, je pense

                                      Ok je viens de voir ton message ><

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • SCAREX
                                        SCAREX dernière édition par 30 juin 2015, 21:51

                                        matches -> regarde si les slots correspondent
                                        getCraftingResult -> retourne un ItemStack correspondant à l’output du craft
                                        getRecipeSize -> retourne le nombre de slots à utiliser ( 9 = toute la table je crois)
                                        getRecipeOutput -> l’ItemStack sans modifications, je ne sais pas à quoi çà sert

                                        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 1
                                        • Deleted
                                          Deleted dernière édition par 30 juin 2015, 22:09

                                          Ok je me suis dépatouillé et j’ai enfin réussi. Merci SCAREX au fait ton code a l’air super, dommage que je ne le comprenne pas dans son intégralité 😞

                                          J’ai juste une dernière question à quoi sert cette ligne :

                                          for (int k1 = 0; k1 < craftingTable.getSizeInventory(); ++k1)

                                          Je sais que c’est une boucle et tout…qu’elle est répétée 9 fois puisqu’il y a 9 slot dans l’inventaire mais elle permet de vérifier chaque slot, si c’est bien ça pourquoi la méthode ne s’en charge pas toute seule étant donné que la méthode matches () est une méthode tickée ?

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • 1
                                          • 2
                                          • 3
                                          • 1 / 3
                                          18 sur 42
                                          • Premier message
                                            18/42
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB