PadreDeLaCuarto

[WIP][1.7.10] Créer des Armures 2.0

15 messages dans ce sujet

 

Créer une nouvelle Armure !

 

-[iNTRODUCTION]-

 

Dans ce tutoriel nous allons voir comment créé de nouvelles armures !

 

-[PR-REQUIS]-

 

Un MCP décompilé en 1.7 !

Un Spigot en 1.7 !

 

 

-[sOMMAIRE]-

 

1]Côté MCP -Client-
2]Côté Spigot -Serveur-

 

1]MCP -Client-

 


Pour commencer, nous allons ouvrir la class Item.java ( elle se trouve dans net.minecraft.item ) !

 

Allez à la ligne 268 qui dois ressembler à sa !

itemRegistry.addObject(2267, "record_wait", (new ItemRecord("wait")).setUnlocalizedName("record").setTextureName("record_wait"));

On vas décomposer un peu les informations !

2267 est l'ID de l'Item

"record_wait" est le nom de que l'on donne à l'item ( pas dans le jeu seulement dans Eclipse )

.setUnlocalizedName("record") est le nom de l'item en jeu ! ( Il s'appelleras en vérité name.record.item ) !

.setTextureName("record_wait") est le nom que vous avez donnez à la textures !

 

Voilà ! A présent allez à la ligne et déclarons nos pièce d'armure en utilisant se format là :

        itemRegistry.addObject(ID, "a_helmet", (new ItemArmor(ItemArmor.ArmorMaterial.NOMDEVOTREMATERIAL, 5, 0)).setUnlocalizedName("a_helmet").setTextureName("a_helmet"));

Nous allons nous pencher sur cette partie là !

(new ItemArmor(ItemArmor.ArmorMaterial.NOMDEVOTREMATERIAL, 5, 0))

On peut la décomposer ainsi !

NOMDEVOTREMATERIAL est le nom du material utilisé !

5 est l'ID de votre Materiaux !

0 correspond à la pièce d'armure qu'esr votre item ( 0=casque, 1=plastron, 2=jambière, 3=bottes ) !

 

Donc comme vous le savez il faut 4 pièces d'armures dans Minecraft ! Il vas encore falloir créé 3 items en adaptant les valeurs que l'ont viens de voir :D

 

Vous aurez automatiquement une erreur sur le "NOMDEVOTREMATERIAL" c'est normal nous n'avons pas encore déclarer de matériaux nous y viendrons !

 

Maintenant que nous avons déclarer nos petites pièces d'armures nous pouvons ouvrir la class Items.java ( net.minecraft.init ) !

 

Nous allons redéclarer nos belles pièces d'armures dedans !

    public static final ItemArmor a_helmet = (ItemArmor)Item.itemRegistry.getObject("a_helmet");
    public static final ItemArmor a_chestplate = (ItemArmor)Item.itemRegistry.getObject("a_chestplate");
    public static final ItemArmor a_leggings = (ItemArmor)Item.itemRegistry.getObject("a_leggings");
    public static final ItemArmor a_boots = (ItemArmor)Item.itemRegistry.getObject("a_boots");

Là on déclare nos armures pour pouvoir les utiliser partout dans Eclipse ( grâce au "public" qui nous permet de les rappellez partout ) !

 

Maintenant nous allons déclarer la résistance, l'enchantabilité, ect.. De l'armure ! Ouvrez la class ItemArmor.java !

 

Cherchez la partie qui ressemble à sa ! ( Elle se trouve vers la fin ) !

 

C'est se qui permet de gérer toutes les caractéristiques de l'armure !

        CLOTH("CLOTH", 0, 5, new int[]{1, 3, 2, 1}, 15),
        CHAIN("CHAIN", 1, 15, new int[]{2, 5, 4, 1}, 12),
        IRON("IRON", 2, 15, new int[]{2, 6, 5, 2}, 9),
        GOLD("GOLD", 3, 7, new int[]{2, 5, 3, 1}, 25),
        DIAMOND("DIAMOND", 4, 33, new int[]{3, 8, 6, 3}, 10);

On peut le décomposer ainsi :
0 est L'ID du materiaux donc je parler plus tôt !

5 la durabilité de l'amure !

{1, 3, 2, 1} correspond au nombre de demi armures que sa vous ajouterais (1=Casque, 3=Plastron, 2=Jambière, 1=Bottes) !

15 est le niveau d'enchantabilité ( plus il est haut plus on auras de chance d'avoir de bon enchantement !

 

Maintenant nous allons créé notre propre matériaux en utilisant les données vu juste au dessus ;)

 

Un exemple !

A("A", 5, 50, new int[] {3, 8, 6, 3}, 10); // A=Nom, A=Nom, 5=ID du Material, {3, 8, 6, 3}=Protection, 10=Enchantabilité

On le place sous DIAMOND ! Et on ramplace le ;de DIAMOND par une, !!

 

Voilà notre matérial est créé !

 

N'oubliez pas d'allez mettre le nom de votre material dans vos Item créé dans la class Item.java

 

Astuce ( merci a Riikog pour les valeurs ) :

Il peut vous arriver d'avoir un bugg que votre armure vous rend invinsible !

 

Voici des valeurs optimiser qui outre passe se bugg :

        A("A", 5, 50, new int[] { 3, 8, 6, 3 }, 10), 
        B("B", 6, 55, new int[] { 4, 8, 6, 3 }, 10), 
        C("C", 7, 60, new int[] { 4, 9, 6, 3 }, 10),
        D("D", 8, 65, new int[] { 4, 9, 7, 3 }, 10);

Vous pouvez tester votre armure mais elle n'auras pas de texture quand vous l'aurez enfilez !

 

Pour sa rien de plus simple !

 

Prennez vos textures de models d'armures et vous les renommez ainsi : nomduminerais_layer_1 pour celui avec le casque, plastron, bottes et nomduminerais_layer_2 pour celui avec les jambières !

 

Ensuite ouvrez la class RenderBiped.java ! ( Dans net.minecraft.client.renderer.entity )

 

A la ligne :

private static final String[] bipedArmorFilenamePrefix = new String[] {"leather", "chainmail", "iron", "diamond", "gold"};

Ajoutez un virgule après "gold" et mettez y le nom de vos layer ( a_layer_1 je met "a" )

 

En gros ce morceaux de code marche en regardant la valeur donnée et en cherchant des les textures dans le dossier assets/minecraft/textures/models/armor/x_layer_1/

 

Maintenant vous allez me demander pour mettre vos textures dans le projet Eclipse !

 

Vous allez dans votre dossier qui contient le mcp, allez dans le dossiers "jars", puis "versions", la vous ouvrez votre version.jar avec WinRaR et suivez les routes ci-dessous pour les différentes textures !

 

Ajoutez dans textures d'items ( dans l'inventaire ) c'est assets/minecraft/textures/item

 

Ajoutez des textures pour un model ( rendu en F5 ) c'estassets/minecraft/textures/models/armor/x_layer_1/

 

Voila pour la partie MCP !

 

1]Spigot -Serveur-

 

[En cours d'écriture]

1

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est un peu trop « mettez ça là, collez ceci ici » à mon goût, pourrais-tu essayer d'expliquer un peu plus comment marchent les systèmes que tu utilises, même si ce n'est qu'en quelque phrases. ;)

Par exemple : comment et où est utilisé bipedArmorFilenamePrefix, etc

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Le tutoriel date de plusieurs mois donc à mon avis, jamais.

1

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 16/03/2016 à 18:49, Litarvan a dit :

Le tutoriel date de plusieurs mois donc à mon avis, jamais.

Nous avons besoin de tutoriel spigot, de type création d'items, blocks, ou encore d'armures, d'informations ect..

Moi je dis à ceux qui ont un savoir qu'il le fasse partager s'il vous plaît c'est l'un des seul moyen pour nous d'y arriver.

-3

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 8 heures, FluKon_ a dit :

Nous avons besoin de tutoriel spigot, de type création d'items, blocks, ou encore d'armures, d'informations ect..

Moi je dis à ceux qui ont un savoir qu'il le fasse partager s'il vous plaît c'est l'un des seul moyen pour nous d'y arriver.

Evite de relancer des sujets qui date de presque 1 an ^^

0

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 10 heures, FluKon_ a dit :

Nous avons besoin de tutoriel spigot, de type création d'items, blocks, ou encore d'armures, d'informations ect..

Moi je dis à ceux qui ont un savoir qu'il le fasse partager s'il vous plaît c'est l'un des seul moyen pour nous d'y arriver.

Non tu peux apprendre le java au lieu de recopier du code.

Modifié par Hypnozz
0

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, Hypnozz a dit :

Non tu peux apprendre le java au lieu de recopier du code.

Recopié ? d'ou j'ai recopié ?, je veux des informations c'est pas la même chose si tu crois que tu mon client et recopié tu risque d'être étonné si tu y jette un coups, donc au lieu de dire que je recopie regarde mon message au dessus ... Nous avons besoin d'informations pas des opens sources, Nous donnez pas des codes mais juste des indices ou des repères c'est tous se que je demande ( c'est pas méchant ou critiquant, mais je vous jure que quand on se lance sur du spigot et qu'on débute c'est très dur ).

Il y a 4 heures, ItsKinie a dit :

Evite de relancer des sujets qui date de presque 1 an ^^

Sa peux dater de même 5 ans le problème n'est pas la, les armures sont toujours utilisé donc même si l'auteur ne le fini pas se tutoriel quelqu'un peux avoir l'amabilité de transmettre sont savoir non ? si il s'y connais dans cette partie non existante. Merci pour la réputation sa fait toujours du bien de se prendre des malus pour un rien.

Modifié par FluKon_
0

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 43 minutes, FluKon_ a dit :

Recopié ? d'ou j'ai recopié ?, je veux des informations c'est pas la même chose si tu crois que tu mon client et recopié tu risque d'être étonné si tu y jette un coups, donc au lieu de dire que je recopie regarde mon message au dessus ... Nous avons besoin d'informations pas des opens sources, Nous donnez pas des codes mais juste des indices ou des repères c'est tous se que je demande ( c'est pas méchant ou critiquant, mais je vous jure que quand on se lance sur du spigot et qu'on débute c'est très dur ).

Sa peux dater de même 5 ans le problème n'est pas la, les armures sont toujours utilisé donc même si l'auteur ne le fini pas se tutoriel quelqu'un peux avoir l'amabilité de transmettre sont savoir non ? si il s'y connais dans cette partie non existante. Merci pour la réputation sa fait toujours du bien de se prendre des malus pour un rien.

Ba c'est le fonctionnement du forum. Il est interdit de déterrer les sujets... (règlement). Tu peux toujours faire une demande de tutoriels spigot. Et pour te répondre, le spigot c'est exactement comme le client mais avec des noms différents donc en cherchant un peu si tu as réussi sur le client tu vas réussir sur le spigot ^^.

0

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 6 minutes, Hypnozz a dit :

Ba c'est le fonctionnement du forum. Il est interdit de déterrer les sujets... (règlement). Tu peux toujours faire une demande de tutoriels spigot. Et pour te répondre, le spigot c'est exactement comme le client mais avec des noms différents donc en cherchant un peu si tu as réussi sur le client tu vas réussir sur le spigot ^^.

D'accord mais j'ai des problèmes pas très difficile a résoudre genre de type l'enum dans material pour mon item en rubis et ajouté pour temps quand j'inscris cette phrase         REGISTRY.a(425, "rubis_sword", (new ItemSword(EnumToolMaterial.RUBIS)).c("swordRubis").f("rubis_sword")); Le .RUBIS n'est pas présent donc erreur.

Une fois que j'aurais fini je ferais un tutoriel avec grand pleasir 

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Ba justement réfléchis si il n'est pas présent il faut peut être le déclarer dans l'enumToolMaterial..

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce code n'as pas l'air de fonctionner, avec une armure oui mais quand j'en rajoute 2 ou 3  les texture (f5) se mélangent alors je créé un nouveau ItemArmor pour chaque armure au final...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Normal, c'est parceque il faut que tu modifie le 5 dans ce code : 

itemRegistry.addObject(ID, "a_helmet", (new ItemArmor(ItemArmor.ArmorMaterial.NOMDEVOTREMATERIAL, 5, 0)).setUnlocalizedName("a_helmet").setTextureName("a_helmet"));
Et que tu ajoutes ton nouveau minerais dans renderbiped.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) (modifié)

Ha oui exact, merci pour l'info. Il faudrait d'après moi le préciser dans cette astuce. :smile:

Modifié par Dreepye
0

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant