Le modding en vidéo

  • Auteur de la discussion Auteur de la discussion Toadico
  • Date de début Date de début

Toadico

Architecte en herbe
23 Avril 2011
84
5
105
Bonjour !

Je vous présente ici une série de tutoriaux vidéos que j'ai réalisé pour débuter dans le modding :

Premier épisode : http://dai.ly/itLyeX

Il y a actuellement 7 épisodes, pour l'instant pas de 8ème au programme. Dites-moi ce que vous en pensez, et si vous avez des questions sur le modding, postez-les de préférence ici pour ne pas surcharger Dailymotion en commentaires (je sais que je n'ai pas un nombre hallucinant de vues, mais c'est surtout que vous pourrez poster de plus long message ici).

Si vous préférez un support d'apprentissage écrit je vous redirige vers le très bon tuto de nostre.

Bonnes vidéos ! :)
 
et voila :

Code:
package net.minecraft.src;

import java.util.Random;

public class mod_Saphir extends BaseMod
{
	public mod_Saphir()
	{
	        ModLoader.RegisterBlock(SaphirBrut); // Ligne d'ajout du bloc SaphirBrut
			ModLoader.AddName(SaphirBrut, "Saphir Brut"); // ici je donne un nom à mon bloc
	        ModLoader.AddRecipe(new ItemStack(SaphirBrut, 1), new Object[] {"#",Character.valueOf('#'), Block.cobblestone});
            Saphir = (new ItemSaphir(400)).setIconIndex(ModLoader.addOverride("/gui/items.png","/modSaphir/Saphir.png")).setItemName("Saphir"); // ici commence l'item Saphir
            ModLoader.AddName(Saphir, "Saphir");
			
		pioche = (new ItemCustomPickaxe(401, 2, 1000, 7F, 0))
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/pioche.png"))
		.setItemName("Pioche de Saphir");
		hache = (new ItemCustomAxe(402, 1000, 7F, 0))
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/hache.png"))
		.setItemName("Hache de Saphir");
		pelle = (new ItemCustomSpade(403, 1000, 7F, 0))
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/pelle.png"))
		.setItemName("Pelle de Saphir");
		beche = (new ItemCustomHoe(404, 1000))
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/beche.png"))
		.setItemName("Bèche de Saphir");
		epee = (new ItemCustomSword(405, 1000, 2))
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/epee.png"))
		.setItemName("Epée de Saphir");
		
		casque = (new ItemArmor(406, 0, 0, 0))
		.setMaxDamage(9 * 3 << 0)
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/casque.png"))
		.setItemName("Casque de Saphir");
		plastron = (new ItemArmor(407, 0, 0, 1))
		.setMaxDamage(9 * 3 << 0)
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/torse.png"))
		.setItemName("Plastron de Saphir");
		pantalon = (new ItemArmor(408, 0, 0 ,2))
		.setMaxDamage(9 * 3 << 0)
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/pantalon.png"))
		.setItemName("Pantalon de Saphir");
		bottes = (new ItemArmor(409, 0, 0, 3))
		.setMaxDamage(9 * 3 << 0)
		.setIconIndex(ModLoader.addOverride("/gui/items.png", "/modSaphir/bottes.png"))
		.setItemName("Bottes de Saphir");
		
		
		ModLoader.AddName(pioche, "Pioche de Saphir");
		ModLoader.AddName(hache, "Hache de Saphir");
		ModLoader.AddName(pelle, "Pelle de Saphir");
		ModLoader.AddName(beche, "Bèche de Saphir");
		ModLoader.AddName(epee, "Epée de Saphir");
		ModLoader.AddRecipe(
		new ItemStack(pioche, 1), 
		new Object[] {"XXX", " # ", " # ", Character.valueOf('#'), Item.stick, Character.valueOf('X'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(hache, 1), 
		new Object[] {"XX ", "X# ", " # ", Character.valueOf('#'), Item.stick, Character.valueOf('X'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(pelle, 1), 
		new Object[] {" X ", " # ", " # ", Character.valueOf('#'), Item.stick, Character.valueOf('X'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(beche, 1), 
		new Object[] {"XX ", " # ", " # ", Character.valueOf('#'), Item.stick, Character.valueOf('X'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(epee, 1), 
		new Object[] {" X ", " X ", " # ", Character.valueOf('#'), Item.stick, Character.valueOf('X'), Saphir}
		);
		
		ModLoader.AddName(casque, "Casque de Saphir");
		ModLoader.AddName(plastron, "Plastron de Saphir");
		ModLoader.AddName(pantalon, "Pantalon de Saphir");
		ModLoader.AddName(bottes, "Bottes de Saphir");
		ModLoader.AddRecipe(
		new ItemStack(casque, 1), 
		new Object[] {"###", "# #", Character.valueOf('#'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(plastron, 1), 
		new Object[] {"# #", "###", "###", Character.valueOf('#'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(pantalon, 1), 
		new Object[] {"###", "# #", "# #", Character.valueOf('#'), Saphir}
		);
		ModLoader.AddRecipe(
		new ItemStack(bottes, 1), 
		new Object[] {"# #", "# #", Character.valueOf('#'), Saphir}
		);
		ModLoader.AddArmor("ASaphir");
	}

	public static final Block SaphirBrut = (new BlockSaphirBrut(99,ModLoader.addOverride("/terrain.png", "/modSaphir/SaphirBrut.png"))).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundStoneFootstep).setBlockName("SaphriBrut");

    public void GenerateSurface(World world, Random rand, int chunkX, int chunkZ)
   {
    for(int i = 0; i < 2; i++) // generation du bloc SaphirBrut par chunk
    {
        int randPosX = chunkX + rand.nextInt(16);
        int randPosY = rand.nextInt(20);
        int randPosZ = chunkZ + rand.nextInt(16);
        (new WorldGenMinable(mod_Saphir.SaphirBrut.blockID, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
    }
}	
	public String Version()
	{
	        return "1.7_03";

	}
	public static Item Saphir;
    public static Item pioche;
	public static Item hache;
	public static Item pelle;
	public static Item beche;
	public static Item epee;
	
	public static Item casque;
	public static Item plastron;
	public static Item pantalon;
	public static Item bottes;
}

captur13.jpg
 
C'est bon j'ai trouvé la solution :)
En fait c'est de ma faute, je m'étais trompé dans le code source : lorsqu'on ajoute une armure, le 3ème chiffre entre parenthèses représente le skin de l'armure :

Code:
(new ItemArmor(420, 0, 5, 0))

0 = cuir
1 = maille
2 = fer
3 = diamant
4 = or
5 = 1ère armure que vous ajoutez
6 = 2ème armure que vous ajoutez
...

Donc il suffit de remplacer 0 par 5 (ou un autre chiffre si vous avez fait plusieurs armures) à chaque new ItemArmor et normalement c'est bon.

Désolé pour l'erreur :s
 
Ouah mais c'est super ça thanks champi :)
mais pour les block voilà on voit block.cobblestone mais moi je veut mettre de la redstone je mais
..... redstone, ..... ?
 
J'ai vu sur un serveur (qu'on accédé par un client spécial) des chaises et j'aimerais bien pouvoir en faire une aussi donc je crée mon bloc jusque la pas de problème mais après pour dessiné la chaise dans le texture pack je peut pas faire les détail de la chaise (genre faire un trou dans le dossier) quelqu'un sait comment faire ?


Sinon je cherche des mods ou plugin rajoutant des objet de déco pour un serveur bukkit
 
Merci pour les armures sa marche impecable :)

Pour rajouter des objet su un serveur bukkit il y a 2 solution :

- Tu code ton mod façon itemcraft

- tu attend que spout se modifie un peu plus.

Je ne te dirais pas comment faire pour ces 2 cas, rajouter des objets sur un serveur reste un privilège et je ne veux pas voir ce phénomène ce rependre trop
 
@ventrail : pour les blocs tu écris Block.nomDuBloc (où nomDuBloc est remplacé par cobblestone, dirt, sand, etc) et pour les items comme la redstone tu écris Item.nomItem (où nomItem est remplacé par le nom de l'item).

Petit rappel pour savoir comment connaître les noms de tous les blocs et items :

Toadico a dit:
Sinon pour les noms des items ils sont tous indiqués de la ligne 218 à la ligne 322 dans Item.java dans votre dossier des sources. Par exemple, la pioche en pierre se trouve à la ligne 236 :

Code :
public static Item pickaxeStone;

Vous rentrerez donc comme nom "Item.pickaxeStone".
C'est le même principe pour les blocs, sauf que les noms se trouvent dans Block.java de la ligne 598 à la ligne 693 (et vous rentrez Block.nomDuBloc).

Pour le charbon Break, tu mets coal et ça réunit le coal et le charcoal.

PS : Quelquefois, on voit écrit "steel" ou "emerald". En fait, "steel" représente le fer et "emerald" le diamant.