Résolu 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
-
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
-
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"); } }
-
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) { } }
-
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
-
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 !