7 sept. 2013, 15:03

Bonjour à tous, nous allons voir dans ce tutoriel comment créer une nouvelle plantation de type orge 😉

La classe principale

Commençons par déclarer nos items et blocs.

public static Block BlockOrgeCulture;
public static Item ItemOrge, ItemOrgeGraines;

Ensuite dans le PreInit :

BlockOrgeCulture = new BlockOrgeCulture(2000).setUnlocalizedName("Culture d'orge");
ItemOrge = new Item(12000).setUnlocalizedName("Orge").setTextureName("modid:ItemOrge");
ItemOrgeGraines = new ItemSeeds(12001, this.BlockOrgeCulture.blockID, Block.tilledField.blockID).setUnlocalizedName("Graines d'orge").setTextureName("modid:ItemOrgeGraines");

“new ItemSeeds” et “new Item” permettent d’éviter de créer les classes de ces items qui ne serviront à rien (avec juste le constructeur), donc importez ItemSeeds ( import net.minecraft.item.ItemSeeds; ) ainsi que Item ( import net.minecraft.item.Item; ).
this.BlockOrgeCulture.blockID, Block.tilledField.blockID signifie que lorsque l’on fait un clique droit avec la graine sur un tilledfield (terre bêchée), elle se plante dedans.

Enfin enregistrer votre bloc et vos items (pour les items c’est facultatif).

GameRegistry.registerBlock(BlockOrgeCulture, "Culture d'orge");
GameRegistry.registerItem(ItemOrge, "Orge", "Modid");
GameRegistry.registerItem(ItemOrgeGraines, "Graines d'orge", "Modid");

N’oubliez pas de modifier modid par le nom de votre propre modid 😉 Maintenant créer la classe BlockOrgeCulture, la plus importante !

La classe du bloc

Maintenant rajouter ceci dans votre classe :

public class BlockOrgeCulture extends BlockCarrot
{
    public static String[] type = new String[]{"Culture d'orge_0", "Culture d'orge_1", "Culture d'orge_2", "Culture d'orge_3", "Culture d'orge_4", "Culture d'orge_5", "Culture d'orge_6", "Culture d'orge_7"};
    private Icon[] IconArray;

    public BlockOrgeCulture (int id)
    {
        super(id);
    }

    public Icon getIcon(int side, int metadata)
    {
        return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
    }

    public void registerIcons(IconRegister iconregister)
    {
        IconArray = new Icon[type.length];

        for(int i = 0; i < type.length; i++)
        {
            IconArray[i] = iconregister.registerIcon("modid:" + type[i]);
        }
    }

    protected int getSeedItem()
    {
        return ClassePrincipale.ItemOrgeGraines.itemID; // donne la graine
    }

    protected int getCropItem()
    {
        return ClassePrincipale.ItemOrge.itemID; // donne la récolte
    }

    public int damageDropped(int metadata)
    {
        return metadata;
    }
}

Pas de panique ! Je vous invite à regarder le tuto de robin sur les metadata si vous ne connaissez pas 😉 Le reste est expliqué en commentaire. N’oubliez pas les imports !

Résultat

Équipez-vous d’une houe et plantez vos graines, et voilà votre orge pousse ! Vous pouvez utiliser de la poudre d’os dessus pour accélérer le résultat, et ensuite récolter votre orge (n’oubliez pas de passer en mod survival sinon vous cassez la plantation).

J’espère que ce tutorial vous aura plu =D