Modding FR

nostre

Aventurier
13 Novembre 2010
424
5
0
30
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

J'ai finalement "reussi" mais lorsque je pose le block le jeu plante, que se soit avec mon mob ou un zombie.

Code:
public void onBlockAdded(World world, int i, int j, int k)
{
        EntityLiving entityliving = (EntityLiving)EntityList.createEntityInWorld("Steve", worldObj);
        entityliving.setLocationAndAngles(i+1, j, k, 0F, 0F); //x, y, z, yaw, pitch
        worldObj.entityJoinedWorld(entityliving);
}
 
Désolé je ne peux pas t'aider je ne m'y connais a peine dans tout çela en plus je galère pour trouver comment agmenter le niveau de luminosité de mon mod ( une lanterne ... ) alors l'aide a la creation d'un mob ... Mais bon courage pour toi =)
 
Bonjour aujourd'hui j'ai créer un mod me permettant de crafter une lanterne j'aurais voulu savoir comment regler son niveau de luminosité parce que la aucune lumiere ....
Cordialement

Soit ru rajoute ceci dans la déclaration de ton block :
.setLightValue(0.925F);

Soit tu rajoute ceci dans le fichier de ton block
setLightValue(0.925F);

Ça marche pas!!!


Euh du code stp
C'est bizarre chez moi ça marche très bien.
T'a bien mis la recette dans public mod_monMod{ } ?


J'ai finalement "reussi" mais lorsque je pose le block le jeu plante, que se soit avec mon mob ou un zombie.

Tu as mis worldObj et non world 2 fois dans ton code
==> va voir à la fin de la page
 
Salut a toi (et a vous ^^')!
J'ai un problème lors de la compilation.
C'est au niveau d'un bloc avec une texture externe a terrain.png. Il a deux textures (disposés comme sur le tronc d'arbre).
J'ai utillisé:
Texture1 = ModLoader.addOverride("/terrain.png", "/Graphs/dessus.png");
Texture2 = ModLoader.addOverride("/terrain.png", "/Graphs/cote.png");
et déclaré mes variables juste après:
public int Texture1;
public int Texture2;
Le compilateur me trouve une erreur sur chaque déclaration:
'Illegal start of expression'

Qui peut m'aider?
(Ah OK le noob en Java ><')
 
Je pense que tu as déclaré tes textures à l'intérieur d'une fonction.

Non pas :

Code:
// Faux
public int machin(int bidule) 
{
     public static final Texture1 = blabla;
     public static final Texture2 = blabla;
}
Code:
// Vrai
public int machin(int bidule) 
{
}    
public static final Texture1 = blabla;
public static final Texture2 = blabla;
 
Exact!

Merci!
J'avais pas vu les parenthèses...
Je viens de regarder block.java en décompilé et ça corresponds. J'essaie de suite. encore merci!


EDIT: Bien vu, j'ai déclaré mes variables a la fin du code, après la dernière... 'fonction'? (je sais pas comment on appelles ça en java ><'...) Enfin, après la dernière accolade, quoi.
Maintenant; j'ai droit a:
'Class, interface or enum expected.'
'Classe, interface ou énum' attendue'? Késako?
(ah OK le galérien :P))
 
On veux du code :)


Ah non rien, en Java, si ma mémoire est bonne, il est très rare de mettre de code en dehors d'une classe.

La dernière accolade correspond à la classe, et dans les classe il y a des fonctions.
Il faut que tu déclares en dehors d'une fonction, mais DANS une classe ^^

Code:
public class Machin
{
     fonction()
     {
     }

     public static final Texture1 = blabla
     public static final Texture2 = blabla
}
 
Ah.
Désolé, passer de Python a Java est très dur pour moi.
Encore merci, je teste ça de suite.


EDIT:
Bon, l'erreur a changé, maintenant j'en ai 11.
Code:
package net.minecraft.src;

public class mod_Mine78 extends BaseMod
{
public static final Block redstoneblock = new block_red(125, 0).setHardness(2.0F).setResistance(10.0F).setBlockName("redstoneblock").setStepSound(Block.soundStoneFootstep);

public mod_Mine78()
{
Texture1 = ModLoader.addOverride("/terrain.png", "/Mine78/dessus_redblock.png");
Texture2 = ModLoader.addOverride("/terrain.png", "/Mine78/cote_redblock.png");
//public int getBlockTextureFromSide(int i)
{
if(i == 0)
{
return Texture1;
}
if(i == 2)
{
return Texture1;
}
else
{
return Texture2;
}
}
ModLoader.RegisterBlock(redstoneblock);
ModLoader.AddRecipe(new ItemStack(redstoneblock, 0), new Object[] {"##","##",Character.valueOf('#'), Item.redstone});
//redstoneblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Mine78/cote_redblock.png");
ModLoader.AddName(redstoneblock, "Redstone block");
}
public int Texture1;
public int Texture2;

public String Version()
{
return "MC:1.7_03 MOD:0.1_03";
}
}


Que faire? Ou mettre ces déclarations de variables?


PS: Faites pas gaffe au commentaires, c'était pour les ancienne textures.
 
A qui le dit-tu je passe du C++ au Java ^^
Mais ça va, c'est pas insurmontable lol


Pour revenir à ton problème, ulko10, essaye ça :

Code:
	public void onBlockAdded(World world, int i, int j, int k)
	{
		EntityLiving entityliving = new EntityZombie(world);
        entityliving.setLocationAndAngles((double)i-0.5, (double)j+1.1F, (double)k-0.5F, 0F, 0F); 
		entityliving.posX = i;
		entityliving.posY = j;
		entityliving.posZ = k;
        world.entityJoinedWorld(entityliving);
	}

Le code n'est pas très précis.
Et je crois que ce code les fait apparaître à chaque fois que tu re-lance la map, opte plutôt pour la fonction onBlockPlaced ( mais bon je pense que tu a de bonnes raisons d'utiliser cette fonction ^^ )
 
Salut !

J'ai un problème au niveau des variables systèmes : pouvez-vous me dire quel est la valeur que je dois mettre à la variable PATH ? Je pense que c'est ça qui empêche le decompile.bat de décompiler les ressources du jeu...

Merci par avance !