Help ! FurnaceRecipes ne fonctionne pas !



  • Bonjour tout le monde je vous expose mon problème, j'ai recopié le code de craft de mon mod en 1.6 et tout marche à la perfection, mais lorsque je copie le code pour faire cuire les items, ça ne veut pas fonctionner ! Aidez moi s'il vous plaît ! J'ai tout essayé 😢
    Recherche effectuées : Google, MFF, MF, IC et pleins d'autres
    Codes :

    Code de la fonction pour faire cuire :

    
    public static void addSmeltings() {
    GameRegistry.addSmelting(BlockHandler.nephrite_ore, new ItemStack(
    ItemHandler.nephrite_ingot), 1f);
    GameRegistry.addSmelting(BlockHandler.flagite_ore, new ItemStack(
    ItemHandler.flagite_ingot), 1f);
    GameRegistry.addSmelting(BlockHandler.oxyte_ore, new ItemStack(
    ItemHandler.oxyte_ingot), 1f);
    }
    
    

    Merci d'avance 🙂


  • Moddeurs confirmés Rédacteurs Administrateurs

    Ba je ne vois pas d'erreur ?



  • Il n'y a pas d'erreurs en fait mais lorsque je lance le jeu le bloc ne veut pas se cuire 😞


  • Moddeurs confirmés

    Je peux voir la classe BlockHandler ?



  • Ok tout de suite :

    BlockHandler :

    
    package project.nexus.core;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import project.nexus.block.FlagiteOre;
    import project.nexus.block.NephriteOre;
    import project.nexus.block.OxyteOre;
    import cpw.mods.fml.common.registry.GameRegistry;
    
    public class BlockHandler {
    
    public static Block nephrite_ore;
    public static Block flagite_ore;
    public static Block oxyte_ore;
    
    public static void addBlocks() {
    nephrite_ore = new NephriteOre(Material.rock).setParameters(
    "nephriteOre", 5, 5, Block.soundTypeStone, TabHandler.nexusTab);
    flagite_ore = new FlagiteOre(Material.rock).setParameters("flagiteOre",
    5, 5, Block.soundTypeStone, TabHandler.nexusTab);
    oxyte_ore = new OxyteOre(Material.rock).setParameters("oxyteOre", 5, 5,
    Block.soundTypeStone, TabHandler.nexusTab);
    }
    
    public static void registerBlocks() {
    GameRegistry.registerBlock(nephrite_ore, "nephriteOre");
    GameRegistry.registerBlock(flagite_ore, "flagiteOre");
    GameRegistry.registerBlock(oxyte_ore, "oxyteOre");
    }
    }
    

  • Moddeurs confirmés

    Ok, les blocs ne sont pas null alors.
    Dans quel ordre tu appelle les méthodes? (addBlocks(), …)



  • Je t'envoie la classe ou je les appelle :

    MainClass :

    package project.nexus;
    
    import project.nexus.core.BlockHandler;
    import project.nexus.core.CraftingHandler;
    import project.nexus.core.ItemHandler;
    import project.nexus.core.ToolHandler;
    import project.nexus.gen.WorldGenHandler;
    import project.nexus.integrated.api.registry.APIRegistry;
    import project.nexus.proxy.CommonProxy;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.registry.GameRegistry;
    
    @Mod(modid = MainClass.MODID, name = MainClass.NAME, version = MainClass.VERSION)
    public class MainClass {
    public static final String MODID = "nexus";
    public static final String TEXTURES_PATH = "nexus:";
    public static final String NAME = "Nexus Mod";
    public static final String VERSION = "1.0";
    public static final String CLIENT_PROXY_PATH = "project.nexus.proxy.ClientProxy";
    public static final String SERVER_PROXY_PATH = "project.nexus.proxy.CommonProxy";
    @Instance("nexus")
    public MainClass instance;
    @SidedProxy(clientSide = MainClass.CLIENT_PROXY_PATH, serverSide = MainClass.SERVER_PROXY_PATH)
    public static CommonProxy proxy;
    public static WorldGenHandler genHandler = new WorldGenHandler();
    
    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
    APIRegistry registry = APIRegistry.load();
    registry.texturePath.setTexturesPath(TEXTURES_PATH);
    GameRegistry.registerWorldGenerator(genHandler, 0);
    BlockHandler.addBlocks();
    ItemHandler.addItems();
    ToolHandler.addTools();
    CraftingHandler.addRecipes();
    CraftingHandler.addSmeltings();
    BlockHandler.registerBlocks();
    ItemHandler.registerItems();
    ToolHandler.registerTools();
    }
    
    @EventHandler
    public void init(FMLInitializationEvent event) {
    
    }
    
    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {
    
    }
    }
    
    

  • Moddeurs confirmés

    Essaie de mettre le "BlockHandler.registerBlocks();" juste après le "BlockHandler.addBlocks();".



  • Je pense à quelque chose : ne faudrait-il pas mettre le registerBlocks() avant addSmeltings() ?


    Oui voila ! Je vais essayer et je te dis ! Je n'ai pas accès là, je te prévient dans 1 ou 2h 🙂


  • Moddeurs confirmés Rédacteurs Administrateurs

    BlockHandler.registerBlocks();
    à mettre juste après le BlockHandler.addBlocks();
    Idem pour les items.

    Les items et blocs doivent être enregistrés avant de faire les recettes. D'ailleurs les recettes sont plutôt à mettre dans init.



  • Oui c'est bon ça marche merci à tous les deux !


Log in to reply