Hello there! We are conducting a survey to better understand the user experience in making a first edit. If you have ever made an edit on Gamepedia, please fill out the survey. Thank you!

Aide au développement/Créer un nouveau bloc avec Forge

De Minecraft Wiki
Aller à : navigation, rechercher

Déclarer et définir le bloc[modifier | modifier le wikicode]

  • Dans la partie @SidedProxy, sous "public static CommonProxy proxy;", tapez :

public static Block TutoBlock;

  • Allez ensuite dans la partie @PreInit, sous "proxy.registerRender();", et tapez :

TutoBlock = new BlockTuto(2456).setHardness(3.0F).setResistance(1.0F).setUnlocalizedName("TutoBlock");
(Quelques explications :
(2456) est l'id du bloc.
setHardness(3.0F) est la vitesse à laquelle on casse le bloc à la main (3.0F est la valeur de la roche)
setResistance(1.0F) est la résistance aux explosions du bloc. Mettez un chiffre élevé pour qu'il soit indestructible aux explosions)

  • puis dans la partie @Init, sous " public void load(FMLInitializationEvent event)|",tapez:

proxy.registerRender();

GameRegistry.registerBlock(TutoBlock,"TutoBlock");

LanguageRegistry.addName(TutoBlock, "TutoBlockName");

(encore des explications: après " LanguageRegistry.addName",vous mettez entre parenthèses qu'a le bloc dans le code et entre guillemets le nom que le bloc aura dans le jeu.)

si vous voulez, vous pouvez ensuite rajouter des lignes de code qui auront différentes fonctions, comme "MinecraftForge.setBlockHarvestLevel(TutoBlock, "axe", 0);", qui sert à ce que le bloc "TutoBlock" se détruise plus vite avec une hache.

"BlockTuto" a une erreur, pour la corriger passez votre souris dessus et faites "Create class BlockTuto".
Cela vous ouvre une fenêtre ; appuyez directement sur "Finish".
Vous arrivez sur un nouveau .java : TutoBlock.java.

La class du bloc[modifier | modifier le wikicode]

  • Vous arrivez sur un fichier qui contient ce code :

package votremod;

import net.minecraft.block.Block;

public class BlockTuto extends Block
^

}


Si ce n'est pas le cas, copiez puis collez-le.
Vous avez une erreur sur "BlockTuto", passez votre souris dessus et choisissez "Add constructor..." et supprimez le commentaire "TODO auto generated...".
Supprimez aussi, après "public BlockTuto(int par1" le ",Material par2Material" et après le "super(par1" remplacez par2 par Material.votremateriel (rock, sand...).
Normalement le .java devrait ressembler à ça :

package votremod;

import net.minecraft.block.Block;

public class BlockTuto extends Block
{

public BlockAdamanthium(int par1)
{
super(par1, Material.rock);
}
}

  • Rajoutez, une ligne après le super, this.setCreativeTab(CreativeTabs.tabBlock);.

Ce code a pour effet de mettre votre bloc dans l'onglet créatif des blocks.

La texture[modifier | modifier le wikicode]

La texture est l'image que votre bloc aura dans le jeu. C'est une image de 16 pixels sur 16 au format png.

  • Sous this.setCreativeTab(CreativeTabs.tabBlock);

rajoutez:
@SideOnly(Side.CLIENT)

public void registerIcons(IconRegister ir)

{

this.blockIcon = ir.registerIcon( "votremod:votreimage");

}
(En remplaçant bien sur votremod par le nom de votre mod et votreimage par le nom de l'image qui vous servira de texture.).

Cela sert à déclarer la texture du bloc.

  • Faites un clic droit sur src puis new, package et appelez le "asset.votremod.textures.blocks"(toujours en remplaçant votremod par le nom de votre mod).
  • Copiez dans ce package la texture de votre bloc.