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

XFight

Ak4w
18 Novembre 2013
35
0
1
27
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**​