Minecraft Wiki
Ligne 47 : Ligne 47 :
   
 
Dans le code '''(new Block(250, 169, Material.rock))''', remplacez 169 par votre numéro de texture.
 
Dans le code '''(new Block(250, 169, Material.rock))''', remplacez 169 par votre numéro de texture.
  +
  +
== Ajouter une texture à son bloc en 1.5.2 ==
  +
  +
Pour ajouter une texture, vous devez allez dans votre minecraft.jar, ouvrir le dossier textures.
  +
Glisser votre texture dans block si c'est un bloc ou dans item si c'est un item
   
 
== Le nom du bloc en jeu ==
 
== Le nom du bloc en jeu ==

Version du 16 juillet 2013 à 18:01

Un bloc normal (cube)

Pour créer un bloc basique (exemple : bois, pierre, terre ...), vous devez vous rendre dans : Client --> src --> net.minecraft.src --> Block.java.

Ensuite, allez à la ligne 191 (environ), vous devriez voir cela : public static final Block stairsWoodJungle[...]

Faites alors un retour à la ligne et mettez ceci :

public static final Block NOMDUBLOC = (new Block(250, 169, Material.rock)).setHardness(3F).setResistance(5F).setStepSound(soundStoneFootstep).setBlockName("magnesium");

Voici la définition de ce code :

  • NOMDUBLOC = Le nom de votre bloc. (Ce n'est pas le nom qui s'affichera dans le jeu, c'est juste le nom du bloc qu'on utilise dans le code!)
  • (new Block(250, 169, Material.rock)) définit que le type de bloc pris ici est un bloc simple, il existe plusieurs autres types, qu'on découvrira plus tard. 250 est l'ID du bloc que nous allons créer (La liste des ID du jeu est disponible ici). 169 est le numéro de la texture de votre bloc, cela sera expliqué plus bas. Material.rock est la matière de votre bloc. Pour le bois c'est Material.wood, ou Material.cloth pour la laine...
  • .setHardness définit la durée de temps nécessaire pour casser le bloc.
  • .setResistance définit la résistance du bloc au TNT.
  • .setStepSound définit le son produit lorsqu'on marche sur votre bloc. (Pour les autres, c'est simple, allez-y avec votre logique.)
  • .setBlockName définit la clé de traduction du nom du bloc (vous allez comprendre plus bas, c'est pour définir le nom en jeu de votre bloc (Note : ce n'est pas encore le nom affiché, mais il va servir pour traduire ce nom affiché en plusieurs langues !)

Mettre le bloc dans l'inventaire du mode créatif

Pour mettre un bloc en mode créatif, il faut rajouter la fonction .setCreativeTabs() dans la variable de création de l'objet :

[...] .setBlockName("magnesium").setCreativeTabs(CreativeTabs.Onglet);

Voici la liste officielle des onglets que vous pouvez utiliser. Les noms sont à mettre à la place de CreativeTabs.Onglet. Exemple : [...].setCreativeTabs(CreativeTabs.tabBlock);

  • Building Blocks (Blocs de construction) : CreativeTabs.tabBlock
  • Decoration Blocks (Blocs décoratifs) : CreativeTabs.tabDeco
  • Redstone (Redstone) : CreativeTabs.tabRedstone
  • Transportation (Moyens de transport) : CreativeTabs.tabTransport
  • Miscellaneous (Divers) : CreativeTabs.tabMisc
  • Foodstuffs (Nourriture) : CreativeTabs.tabFood
  • Tools (Outils) : CreativeTabs.tabTools
  • Combat (Combat) : CreativeTabs.tabCombat
  • Brewing (Potions) : CreativeTabs.tabBrewing
  • Material (Matériaux) : CreativeTabs.tabMaterials

Ajouter une texture à son bloc

Pour ajouter une texture, rien de plus simple. Il suffit d'ouvrir minecraft.jar (1.4.2) avec votre logiciel d'extraction préféré.
Ensuite, trouvez le terrain.png et glissez le dans un dossier quelconque.
Ouvrez le avec un logiciel de graphisme supportant la transparence. (Ne pas utiliser Paint, choisir plutôt Paint.NET ou Photoshop.)
Ensuite, dans une case violette et rose (C'est une case de texture libre), créez votre texture.
Maintenant, comptez les cases jusqu’à la texture que vous avez dessinée. Exemple: la pierre a la texture numéro 2.

Dans le code (new Block(250, 169, Material.rock)), remplacez 169 par votre numéro de texture.

Ajouter une texture à son bloc en 1.5.2

Pour ajouter une texture, vous devez allez dans votre minecraft.jar, ouvrir le dossier textures. Glisser votre texture dans block si c'est un bloc ou dans item si c'est un item

Le nom du bloc en jeu

Maintenant, il s'agit du nom qui s'affichera dans l'inventaire. Il faut ouvrir votre minecraft.jar avec votre logiciel d'extraction et aller dans
le dossier lang. Prenez les fichiers en_US.lang, fr_FR.lang et fr_CA.lang et mettez les sur votre bureau.
en_US est l'anglais, fr_FR le français, et fr_CA le français canadien.
Ouvrez les avec Bloc-notes ou Notepad++ (recommandé) et allez vers la ligne 470.
Vous verrez:
tile.potatoes.name=Potatoes.
Il faut ajouter:
tile.NOM_DU_BLOC_DANS_LE_CODE.name=NOM_DUBLOC_EN_JEU
(Veuillez noter que le fichier anglais ne supporte pas les accents.)

Un bloc de type escalier

Pour créer un escalier, il suffit de remplacer (new Block(250, 169, Material.rock)) par: (new BlockStairs(201, glowStone, 0)) et d'ajouter la fonction .setRequiresSelfNotify().

Explications :

  • 201 est l'ID de vote bloc
  • glowStone est la matière de votre bloc. vous pouvez la changer par ce que vous voulez. Cela correspond au nom (dans le code) du bloc.
  • 0 est la métadonnée (metadata) du bloc. Prenons pour exemple les planches de bois. Il en existe quatre types. Mais si vous regardez bien, elles ont toutes le même identifiant. Par contre, elles ont aussi un sous-ID qui correspond à leur couleur. Il s'agit de la métadonnée. Et si vous faites un escalier avec un bloc ayant des métadonnées, vous mettez celui-ci à la place du 0.

Un bloc de type barrière

Il suffit de remplacer (new Block(250, 169, Material.rock)) par (new BlockFence(202, 105)) et de rajouter la fonction .setRequiresSelfNotify().
(202, 105) représente la même chose que pour un bloc normal.

Un bloc de type portillon

Il faut remplacer (new BlockFence(250, 169, Material.rock)) par (new BlockFenceGate(202, 105)) et rajouter la fonction .setRequiresSelfNotify().

Ensuite, trouvez la classe BlockFence.java et vous trouverez ceci vers la ligne 125:

if (var5 != this.blockID && var5 != Block.fenceGate.blockID)

Il suffit de rajouter && var5 != Block.NOM_DE_LA_PORTE_BARRIERE.blockID après && var5 != Block.fenceGate.blockID.