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
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
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
**Désolé pour les fautes je coule mon français**