Mod Tutoriel Forge 1.5.2 | Notre fichier de base + Nouveau bloc simple !

XFight

Ak4w
18 Novembre 2013
35
0
1
29
Dans ce premier tutoriel de minecraft forge 1.5.2, je vais vous montrez comment créer la classe principal de son mod et créer un bloc simple !​
​
​
- WorkSpace -​
​
Assurer d'avoir décompiler minecraft avec forge correctement, ensuite lancer éclipse et ouvrer le dans le workspace de forge/mcp/eclipse​
​
- Package -​
​
​
Ensuite vous allez créer votre classe principal dans votre package souhaitez !​
​
Pour créer votre package, click droit sur le **src** et new/package​
​
1384798288-package.png
​
Ensuite, vous allez nommez votre package comme vous le désirer ;)​
​
​
- Class -​
​
Maintenant Click droit sur votre PACKAGE , news , Class​
*Appelez la Main ou le nom de votre mods, ce sera votre class principal*​
​
Et c'est maintenant que tout se passe !​
​
Ouvrez votre class, et la , que dois-je faire ? :O​
​
Restez tranquille​
​
​
- Code -​
​
​
Pour l'instant vous vous retrouvez avec cela​
Code:
package ca.ak4w.tutoriel;
 
public class Main {
 
}


Vous allez ajouter les informations de votre mods afin que forge le détecte et qu'il le charge.​
​
En haut de public class Main​
​
ajoutez une ligne, qui va donnez ceci.​
Code:
package ca.ak4w.tutoriel
 
@Mod(modid = "Le nom de votre mod", name = "Nom du mod", version = "Votre version")
public class Tutoriel {
 
}

Erreur sur le @Mod , Laissez votre souris au déçu et faite importer​
​
cpw.mods.fml.common.Mod​
​
Création de la première méthod de load !​
​
Code:
    @Mod.Init
    public void onInit(FMLInitializationEvent ev) {
       
    }

| Le résultat du fichier de base |​
Code:
package ca.ak4w.tutoriel;
 
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
 
@Mod(modid= "test", name = "test", version = "1.0")
public class Main {
   
    @Mod.Init
    public void onInit(FMLInitializationEvent ev) {
       
    }
}


Partie #2 Creation d'un bloc simple !​
​
- Déclarons le bloc -​
Toujours dans la class principal , déclaré votre bloc de cette façon.​
​
Code:
package ca.ak4w.tutoriel;
 
import net.minecraft.block.Block;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
 
@Mod(modid= "test", name = "test", version = "1.0")
 
 
public class Main {
   
    public static Block BlockRubis;
   
    @Mod.Init
    public void onInit(FMLInitializationEvent ev) {
       
    }
}

Importez la class Block​
​
- Propriété de notre bloc -​
​
Dans la fonction que nous avons créer au début, ( onInit )​
​
nous allons définir les propriétés de notre bloc de cette façon​
​
Code:
BlockRubis = new BlockOreStorage(2000).setCreativeTab(CreativeTabs.tabBlock).setUnlocalizedName("GodOfAk4w:RubisBlock").setHardness(10.0F);(2000);
​
2000 = ID du bloc​
.setCreativeTab = On déclare dans quel tab du monde créatif le bloc sera , ici dans tabBlock​
.setUnlocalizedName = Chemin de la texture du blocs​
.setHardness = La difficulté de miner le bloc​
​
Comment mettre une texture ?​
​
Ici ses GodOfAk4w:RubisBlock​
​
Cela veux dire que la texture se nomme RubisBlock.png et elle se situe dans mods/''' Votre MODID ''/textures/block/​
​
- Enregistrons notre bloc -​
​
Créer une nouvelle méthod dans votre class principal encore une fois comme ceci​
​
Code:
    @Mod.PostInit
    public void onPostInit(FMLPostInitializationEvent ev)
    {
       
       
       
    }

​
Dans cette méthode nous allons y ajouté​
- Sont enregistrement​
-Le nom du bloc( En jeu )​
- Sa recette​
​
Enregistrons le !​
​
​
Pour cela vous aurez besoin de 1 ligne de code !​
​
Code:
GameRegistry.registerBlock(BlockRubis, "RubisBlock");
​
Le premier BlockRubis est le même que celui qu'on a déclaré au début,​
et le deuxième est comment il sera enregistré dans le jeu.​
​
Le nom du bloc dans le jeu​
​
Une ligne encore une fois​
​
Code:
LanguageRegistry.addName(BlockRubis, "Rubis Block");
​
Premier BlockRubis = Comme celui du haut et entre les guillemets c'est le nom affiché en jeu !​
​
Son Craft ​
​
Code:
GameRegistry.addRecipe(new ItemStack(BlockRubis), new Object[] { "XXX", "XXX", "XXX", Character.valueOf('X'), Item.stick});
​
Fonctionnement​
new ItemStack(BlockRubis)​
ici on dit que le résultat sera un bloc de rubis​
​
"XXX", "XXX", "XXX"​
​
Imaginez la table de craft !​
​
Si on les place comme ça,​
"XXX"​
"XXX"​
"XXX"​
​
Sa ressemble a une table de craft alors voila le fonctionnement pour ça :P​
​
Character.valueOf('X'), Item.stick​
​
Ici on dit , le X déclaré dans la table de craft signifie quoi?​
Alors ici il signifie , on Stick​
Alors le Stick On va le chercher dans sa class ,​
Alors on fait Item.stick et on import Item​
​
​
​
Code final!​
​
Code:
package ca.ak4w.tutoriel;
 
import net.minecraft.block.Block;
import net.minecraft.block.BlockOreStorage;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
 
@Mod(modid= "test", name = "test", version = "1.0")
 
 
public class Main {
   
    public static Block BlockRubis;
   
    @Mod.Init
    public void onInit(FMLInitializationEvent ev) {
       
        BlockRubis = new BlockOreStorage(2000).setCreativeTab(CreativeTabs.tabBlock).setUnlocalizedName("GodOfAk4w:RubisBlock").setHardness(10.0F);
       
    }
   
    @Mod.PostInit
    public void onPostInit(FMLPostInitializationEvent ev)
    {
       
       
        GameRegistry.registerBlock(BlockRubis, "RubisBlock");
       
        LanguageRegistry.addName(BlockRubis, "Rubis Block");
       
        GameRegistry.addRecipe(new ItemStack(BlockRubis), new Object[] { "XXX", "XXX", "XXX", Character.valueOf('X'), Item.stick });    }
}


Merci de m'avoir lu , en espérant que je vous aurez aider :p​
​
​
**Désolé pour les fautes je coule mon français**​
​
​
​
​
​
​
​
​
​
​