1.12.2 Problème craft item



  • Bonjour, Bonsoir🤗
    je développe depuis peu un mod,mais j'ai rapidement rencontré un problème sur un craft.

    je voudrais bien chercher en ligne pour y trouver ma réponse mais je ne sais pas comment formuler la question car ce bug est assez étrange...

    il y a a plusieurs partie d'un anneau craftable. Celle de haut et bas fonctionnent nickel :

    le code :

    {
      "type": "minecraft:crafting_shaped",
      "pattern": [
        "SSS",
        "   ",
        "   "
      ],
      "key": {
        "S": {
          "item": "ringer:ruby_stick"
        }
      },
      "result": {
        "item": "ringer:ruby_ring_up"
      }
    }
    
    
    {
      "type": "minecraft:crafting_shaped",
      "pattern": [
        "   ",
        "   ",
        "SSS"
      ],
      "key": {
        "S": {
          "item": "ringer:stone_stick"
        }
      },
      "result": {
        "item": "ringer:stone_ring_down"
      }
    }
    
    

    et le résultat :
    craft_up.png
    craft_down.png

    Mais lors ce qu'il s'agit de droite et gauche...

    {
      "type": "minecraft:crafting_shaped",
      "pattern": [
        "  S",
        "  S",
        "  S"
      ],
      "key": {
        "S": {
          "item": "ringer:ruby_stick"
        }
      },
      "result": {
        "item": "ringer:ruby_ring_right"
      }
    }
    
    
    {
      "type": "minecraft:crafting_shaped",
      "pattern": [
        "S  ",
        "S  ",
        "S  "
      ],
      "key": {
        "S": {
          "item": "ringer:ruby_stick"
        }
      },
      "result": {
        "item": "ringer:ruby_ring_left"
      }
    }
    
    

    craft_right.png
    craft_left.png

    je ne comprend pas... 🤨

    il y a une chose que j'ai remarqué : lors ce que j’enlève le json du craft de la partie gauche, le craft marche quand même en donnant la partie droite en jeu.

    Merci d'avance 😊



  • Peut être en changeant les key S il confond peut être les craft entre eux je suis pas super caler sur le système json des craft 😜 sinon peut être une erreur dans le register de la partie gauche genre même id sans faire exprès?



  • Tu as peut-être mis la mauvaise texture car j'ai pas l'impression qu'il y ait d'erreur dans ton json



  • @PlagueZ Je vais essayer 😉
    @Scouloune Non car le non est bien right quand je passe la souris dessus (donc c'est le mauvais item) et le left apparait dans l'onglet en créatif donc c'est pas les textures



  • @PlagueZ j'ai changé le S en K et ça ne marche pas non plus...



  • c'est bizarre on dirait minecraft décide arbitrairement de rendre ta recette shapeless parce que ca chez moi ça fonctionne parfaitement ;/

    {
        "type": "crafting_shaped",
        "pattern": [
            "#  ",
            "#  ",
            "#  "
        ],
        "key": {
            "#": {
                "item": "minecraft:redstone_block"
            }
        },
        "result": {
            "item": "minecraft:stripped_jungle_wood",
            "count": 1
        }
    
    {
        "type": "crafting_shaped",
        "pattern": [
            "  #",
            "  #",
            "  #"
        ],
        "key": {
            "#": {
                "item": "minecraft:redstone_block"
            }
        },
        "result": {
            "item": "minecraft:light_blue_shulker_box",
            "count": 1
        }
    }
    

    la seul difference c'est que je met pas minecraft:shaped_crafting juste shaped_crafting je sait pas si ca change grand choses



  • Minecraft ne la rend pas shapeless par ce que si je mets trois stick au milieu ça ne fonctionne pas...



  • J'ai enlevé la recette de lapartie droite et maintenant les trois sticks a gauche fonctionnent mais les trois a droite donnent aussi la partie gauche...
    En fait j'ai l'impression que quand je met un craft pour la partie de gauche il se duplique a droite genre quand on met ca :

            "#  ",
            "#  ",
            "#  "
    

    le craft marche aussi comme ça :

            "  #",
            "  #",
            "  #"
    

    mais du coup quand je met les deux recettes (droite et gauche), minecraft en prend une et l'applique des deux cotés...



  • Help plz


  • Moddeurs confirmés Rédacteurs Administrateurs

    Bonjour,

    Si au lieu de mettre un espace tu mets un caractère puis que dans key tu indiques minecraft:air pour ce caractère cela donne quoi ?



  • @robin4002 Désolé du retard 😐 Mais ça ne marche toujours pas même avec minecraft:air...
    voici le json au cas ou je me suis trompé

    {
      "type": "minecraft:crafting_shaped",
      "pattern": [
        "SAA",
        "SAA",
        "SAA"
      ],
      "key": {
        "S": {
          "item": "ringer:ruby_stick"
        },
        "A": {
          "item": "minecraft:air"
        }
      },
      "result": {
        "item": "ringer:ruby_ring_left"
      }
    }
    
    


  • This post is deleted!


  • J'ai trouvé! il va falloir faire autrement

    1: fais un nouveaux package dans ton dossier mod
    2: tu le nomme recipes
    3: dedans tu fais une classe nommée CraftingRecipes.java
    4:tu met le code suivant

    public class CraftingRecipes 
    {
    	public static void init()
    	{
    		
    		
    		ItemStack recStackNotch = new ItemStack(Items.GOLDEN_APPLE, 1, 1);
            GameRegistry.addShapedRecipe(new ResourceLocation(Reference.MOD_ID + ":" + "recipes/craft_notch_apple"), null, recStackNotch,
            	new Object[] 
            	{
            		"012", "345", "678", 
            		Character.valueOf('0'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('1'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('2'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('3'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('4'), Items.APPLE, 
            		Character.valueOf('5'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('6'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('7'), Blocks.GOLD_BLOCK, 
            		Character.valueOf('8'), Blocks.GOLD_BLOCK
            	});
    	}
    }
    

    Ce n'es qu'un exemple pour le craft de la pomme de notch mais tu n'as cas le changer

    Et 5: dans ton ModId.java ou dans ton RegistryHandler.java tu met dans Init: ===group

    		CraftingRecipes.init();
    

    Je prie pour que sa marche pour toi



  • c'est assez simple mais faut y penser ^^
    Pour l'item à droite et a gauche, le jeu considère que c'est le meme craft car il y a 2 rangées avec le meme contenu
    En bref, le pattern doit faire :

    _=espace

    gauche
    "S__",
    "S__",
    "s__"
    
    droite :
    
    "__S",
    "__S",
    "__S"
    


  • Bonjour a tous veuillez m’excuser de ce délai, j'ai eu un problème avec mon pc.
    Tout d’abord merci d'avoir répondu mal grès le fait que j'avais "terminé" ce sujet.

    @pazzazzo Merci pour le conseil mais cela ne fonctionne pas. Avec seulement cette recette :

    import fr.truesquirrel.ringer.utils.References;
    import net.minecraft.init.Blocks;
    import net.minecraft.init.Items;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.ResourceLocation;
    import net.minecraftforge.fml.common.registry.GameRegistry;
    
    public class CraftingRecipes {
    
        public static void init() {
    
            ItemStack recStackNotch = new ItemStack(ModItems.ruby_ring_right, 1, 0);
    
            GameRegistry.addShapedRecipe(new ResourceLocation(References.MODID + ":" + "recipes/ruby_ring_right"), null, recStackNotch,
    
                    "012", "345", "678",
    
                    '0', Items.AIR,
                    '1', Items.AIR,
                    '2', ModItems.ruby_stick,
                    '3', Items.AIR,
                    '4', Items.AIR,
                    '5', ModItems.ruby_stick,
                    '6', Items.AIR,
                    '7', Items.AIR,
                    '8', ModItems.ruby_stick);
    
        }
    }
    

    mettre trois sticks a droite ou a gauche donne le même résultat. Je pense que les recettes son symétriques a droite et a gauche. Je m'explique :
    (s=espace)

    "ss#"
    "s##"
    "s##"
    

    est considéré aussi comme :

    "#ss"
    "##s"
    "##s"
    

    ...

    @FeedBack Merci a toi aussi de ta réponse mais malheureusement cela ne fonctionne pas comme je l'ai expliqué au dessus le problème ne vient pas du fait que les recettes sont identiques mais qu'une recette est symétrique dans minecraft...

    Je pense donc que le problème ne vient pas du mod au des recettes mais de minecraft en lui même.

    Merci a vous 👍



  • Cela est géré par la fonction matches des recettes (regardes ShapedRecipes#matches, si tu modifie cette méthode dans une classe fille cela pourrait résoudre ton problème)



  • ReBonjour et veuillez m'excuser (encore une fois) du délai j'avais encore un problème avec mon pc.

    Merci @JohnProgrammer71 de ta réponse mais j'ai essayer et cela ne fonctionne pas. Je me dis que je l'ai peut être mal fait... Pourrait tu me dire comment faire ?

    Merci 😃


Log in to reply