Modding FR

nostre

Aventurier
13 Novembre 2010
424
5
0
31
subject_mods_32.png

Minecraft est un jeu en plein développement,aussi bien du coté de chez Mojang que de celui de la communauté, qui ne cesse de développer toujours plus de mods et de extures packs.

Cependant, pour toute personne voulant tenter le modding de Minecraft,il faudra passer par les tutoriaux du forum officiel,où le français n'est pas vraiment courant.
De plus,si la personne en question ne connait pas un minimum certaines bases de code,sa devient vite un enfer de se lancer dans le domaines...

C'est pourquoi,devant l'absence total de tutoriel français sur le sujet,et afin d'encourager de nouveaux modder français,j'ai décidé de créer le 1er Tutoriel de Modding Minecraft FR.

Le but n'est pas seulement de créer un tutoriel en français,j'esseye de faire en sorte qu'il sois le plus accessible possible pour toutes personnes, compréhensible même pour des non initiés a toutes formes de codes (ou presque).

tutorial.gif


changelog.png
ChangeLog:
changelog.png

*27-02-11: Mise a jour des tutos I et III pour MCP 29a et ModLoader Beta 1.3_01v4.
*27-02-11: Correction d'une erreur dans le tuto II,merci a Woreck de me l'avoir fait remarquer !
*11-04-11: Mise a jour complète pour Minecraft Beta 1.4_01,MCP211 et ModLoader B1.4_01 v1.
*27-04-2011: Mise a jour pour Minecraft B1.5_01,MCP v2.12 et ModLoader v3 B1.5_01.
*30-04-2011: Correction d'une erreur avec les recettes,et mise a disposition des fichiers mod_MyMod.java et BlockMyBloc.java.
exclamation.gif
*29-05-11: Mise a jour pour Minecraft B1.6.5,MCP v3.3 et ModLoader v1 B1.6.5.


! Les liens suivants sont morts !

tuto.png

green-download-arrow-grey-line.png
Tutorial Modding FR - Téléchargement:
green-download-arrow-grey-line.png

asus_download_arrow004.gif
Tuto I - Téléchargement et installation
asus_download_arrow004.gif
Tuto II - Création d'un mod simple,ajout de nouveaux blocs
asus_download_arrow004.gif
Tuto III - Compilation et tests
asus_download_arrow004.gif
Tuto IV - Quelques petits trucs a savoir avant de continuer
asus_download_arrow004.gif
Tuto - Création de nouveaux objets
asus_download_arrow004.gif
Tuto - Ajouter des blocs et objets pour le four
asus_download_arrow004.gif
Tuto - Blocs – Autres possibilités
asus_download_arrow004.gif
Tuto - Autres possibilités - objets
asus_download_arrow004.gif
Sources du mod du Tuto II

Nouveaux fichiers ajoutés suite aux liens morts à la fin du message.
Il manque juste les "Sources du mod du Tuto II".
Je précise que ce sont les fichiers d'origine, le code est parfois obsolète !
 

Fichiers joints

Très bon tuto, je te félicite et te dis merci.
Mais personnellement(comme d'autre personne que j'ai pu voir demander sur le forum), si tu pouvais consacré un tutoriel,si tu sais comment faire, pour pouvoir intégrer la génération d'un bloc dans la map(comme l'or, diamant, etc...).

Si tu n'as plus d'idée pour les prochains tuto, je te fais une petite liste de ce qui serait pas mal:
-Intégration de mob(modeling,intégration,spawn)
-Création de flèches, balles, fusils et autres.
-Tuto détaillé sur la création d'objet spécifique(armes, outils, objet de régénération, armures, etc)

Cette liste est de loin une obligation ou un ordre de ma part, je rassemble seulement, les questions qui sont les plus fréquemment posées, ainsi que les tutos les plus demandé.

Encore un grand bravo et merci.
Et bonne continuation pour la suite, nostre !
 
Je peut déjà t'aider sur certain points :

Intégration de mob : création et spawn

Code:
package net.minecraft.src;

import java.util.*;
import java.util.Map;

public class mod_MyMod extends BaseMod {

    public mod_MyMod() {
        ModLoader.RegisterEntityID(EntityNOMDUMOB.class, "NOMDUMOB", ModLoader.getUniqueEntityId());
        ModLoader.AddSpawn(EntityNOMDUMOB.class, 75, EnumCreatureType.monster, (new BiomeGenBase[]{BiomeGenBase.hell}));
    }

    public void AddARenderer(Map map) {
        map.put(EntityNOMDUMOB.class, new RenderBiped(new ModelBiped(), 0.5F));
    }
}

Code:
package net.minecraft.src;

import java.util.List;
import java.util.Random;

public class EntityNOMDUMOB extends EntityZombie {

    public EntityWarrior(World world) {
        super(world);
        texture = "/chemin/vers/image.png";
        moveSpeed = 1.4F;
        isImmuneToFire = true;
        attackStrength = 15;
	health = 40;
    }

    public int getMaxSpawnedInChunk() {
		return 3;
    }

    public boolean getCanSpawnHere() {
        return worldObj.difficultySetting > 0 && worldObj.checkIfAABBIsClear(boundingBox) && worldObj.getCollidingBoundingBoxes(this, boundingBox).size() == 0 && !worldObj.getIsAnyLiquid(boundingBox);
    }
    
    public void readEntityFromNBT(NBTTagCompound nbttagcompound) {
        super.readEntityFromNBT(nbttagcompound);
    }
	
    public void onLivingUpdate() {
        super.onLivingUpdate();
    }

    protected int getDropItemId() {
        return Item.NOMITEMADROP.shiftedIndex;
    }
	
	public ItemStack getHeldItem() {
        return defaultHeldItem;
    }
	
    private static final ItemStack defaultHeldItem;

    static {
        defaultHeldItem = new ItemStack(Item.NOMDELARMEPORTER, 1);
    }
}

Voila pour la création d'un mob, je passe un peu les détail car je n'est pas le temps !

Après en ce qui concerne tous les objets, une fois ton jar décompiller tu vas dans, Items.class et tout en bas tu à la liste de tous les objets référencer dans le jeux ainsi que la méthod qui permet de les créer automatiquement avec toute les propriété nécessaire, tu pourra néanmoins modifier les valeurs, exemple pour une épée :

Code:
netherSoulSword = (new ItemSword(905, EnumToolMaterial.GOLD)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/soulsword.png")).setItemName("NeoSoulSword");
		ModLoader.AddName(netherSoulSword, "NeoSoulSword");
		ModLoader.AddRecipe(new ItemStack(netherSoulSword, 1), new Object[] { "#", "#", "%", Character.valueOf('#'), netherSoulIngot, Character.valueOf('%'), netherSoulStick });

ou encore pour les armures : ( de même regarde les class pour apprendre à les géré, modloader dispose aussi d'un "wiki" pour les class qu'il comporte )

Code:
ModLoader.AddName(netherHelm, "NeoHelmet");
		ModLoader.AddRecipe(new ItemStack(netherHelm, 1), new Object[] { "###", "# #", Character.valueOf('#'), netherIngot });
		
		ModLoader.AddName(netherPlate, "NeoPlate");
		ModLoader.AddRecipe(new ItemStack(netherPlate, 1), new Object[] { "# #", "###", "###", Character.valueOf('#'), netherIngot });
		
		ModLoader.AddName(netherLegs, "NeoLegs");
		ModLoader.AddRecipe(new ItemStack(netherLegs, 1), new Object[] { "###", "# #", "# #", Character.valueOf('#'), netherIngot });
		
		ModLoader.AddName(netherBoots, "NeoBoots");
		ModLoader.AddRecipe(new ItemStack(netherBoots, 1), new Object[] { "# #", "# #", Character.valueOf('#'), netherIngot });

oublie pas de déclarer les objets :

Code:
public static Item netherSoulSword;

public static Item netherHelm = (new ItemArmor(915, 2, ModLoader.AddArmor("nether"), 0).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/helmet.png")).setItemName("NeoHelmet"));
	public static Item netherPlate = (new ItemArmor(916, 2, ModLoader.AddArmor("nether"), 1).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/plate.png")).setItemName("NeoPlate"));
	public static Item netherLegs = (new ItemArmor(917, 2, ModLoader.AddArmor("nether"), 2).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/legs.png")).setItemName("NeoLegs"));
	public static Item netherBoots = (new ItemArmor(918, 2, ModLoader.AddArmor("nether"), 3).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/boots.png")).setItemName("NeoBoots"));

Voila quelque détail très bref mais qui, si tu débrouille bien te feront comprendre le reste !
 
Salut, très bon tuto !

Je voulais savoir comment faire pour qu'un item se colle au mur (comme un tableau) lorsque je fais un clique droit dessus ?


Merci !!
 
Bon,je vais faire le point sur les tutos:

En ce moment,je travaille sur la création d'une version serveur pour son mod ainsi que l'utilisation des fichiers properties.

Ensuite,je retient les idées de l'intégrations des mobs,la modification du le génération de map,et peut être quelques autres trucs encore !

@Snaxt: Pour la création d'armes a distance,je ne compte pas faire de tuto dessus,simplement parce qu’il suffit de s'inspiré de l'arc et des flèches.
Pour contre,pour les armure,les armes (épée...),la nourriture...Peut être qu'un tuto sur le sujet peut être sympa !