1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Modding #2 Créer un Achievement

Discussion dans 'Tutoriels' créé par _Tryall_, 23 Fev 2013.

  1. _Tryall_

    _Tryall_ Mineur de Fer

    Inscrit:
    30 Jan 2012
    Messages:
    501
    Points:
    109
    Sexe:
    Homme
    Encore un petit tutoriel pour créer un Achievement sur Minecraft ! Go !

    Ouvrez la class "AchievementList.java" qui se trouve dans les premières class.

    Vous avez normalement ceci :

    [​IMG]


    Sautez simplement une Ligne entre deux Achievements, je vous conseille de mettre "//Mes Achievements Début" et "//Mes Achievements Fin" entre vos Achievements si vous en mettez plusieurs, c'est juste pour vous y retrouver. :)

    Puis mettez ce code :

    Code (java):
    public static Achievement EnderChest = (new Achievement(30, "EnderChest", -4, 7, Block.enderChest, mineWood)).registerAchievement();
    EnderChest = Le nom de votre Achievement
    30, = L'id de votre Achievement (normalement vous pouvez mettre 27, 28 et 29, mais c'est toujours mieux de mettre un nombre rond)
    "EnderChest" = Le nom de votre Achievement (encore)
    -4, 7 = L'emplacement de votre Achievement. A vous de chercher où il est le mieux !
    Block.enderChest = C'est l'image de votre Achievement (Item. pour les items + le nom, Block. pour les blocs + le nom)
    mineWood = L'achievement qui a besoin d'être débloqué avant votre achievement


    Normalement vous avez cela :
    [​IMG]



    Maintenant allez dans la class "SlotCrafting.java" si vous voulez faire un Achievement avec un craft, et mettez ce code de la même façon que plus haut avec les "//" :
    Code (java):
    else if (par1ItemStack.itemID == Block.enderChest.blockID)
            {
                this.thePlayer.addStat(AchievementList.EnderChest, 1);
            }
    Block.enderChest.blockID = Le bloc ou l'item à crafter (Mettez Item.[lenomdel'item].itemID) pour mettre un item.
    AchievementList.EnderChest = Le nom de votre Achievement



    Maintenant allez dans la class "SlotFurnace.java" si vous voulez faire un Achievement avec une cuisson. et mettez ce code de la même façon que plus haut avec les "//" :
    Code (java):
    if (par1ItemStack.itemID == Item.ingotIron.itemID)
            {
                this.thePlayer.addStat(AchievementList.acquireIron, 1);
            }
    item.ingotIron.itemID = L'item cuit qui va valider votre Achievement (Pas l'item à cuire)
    AchievementList.acquireiron = Le nom de votre Achievement



    Maintenant dans le fichier lang.txt (pas une class) mettez simplement :

    Pour le titre de votre achievement :
    Code (java):
    Achievement.enderchest=EnderChest
    Pour la description de votre Achievement :
    Code (java):
    Achievement.enderchest.desc=Le coffre du néant


    Voilà. :)
     
    • Utile Utile x 3
  2. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    A la ligne pour le code à ajouter tu as ecrit
    public static Achievement EnderChest = (new Achievement(30, "EnderCh...
    Mais normalement tu devrais écrire
    public static Achievement craftEnderChest = (new Achievement(30, "EnderCh...

    Sinon merci je me demandai comment faire.
     
  3. _Tryall_

    _Tryall_ Mineur de Fer

    Inscrit:
    30 Jan 2012
    Messages:
    501
    Points:
    109
    Sexe:
    Homme
    A la base c'est le nom de ton Achivement, Tu peux donc mettre "ifujlisfjsij" c'est la même chose (je pense, je peux toujours dire une connerie), mais pour moi tout marchait bien.
     
  4. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Tu as mal compris, ton code est juste mais dans l'explication ces faux

    Code java
    public static Achievement EnderChest = (new Achievement(30, "EnderChest", -4, 7, Block.enderChest, mineWood)).registerAchievement();


    craftEnderChest = Le nom de votre Achivement
    30, = L'id de votre Achivement (normalement vous pouvez mettre 27, 28 et 29, mais c'est toujours mieux de mettre un nombre rond)
    "EnderChest" = Le nom de votre Achivement (encore)
    -4, 7 = L'emplacem ...

    en rouge
     
  5. _Tryall_

    _Tryall_ Mineur de Fer

    Inscrit:
    30 Jan 2012
    Messages:
    501
    Points:
    109
    Sexe:
    Homme
    Ah oui désoler, comme j'ai modifier pas mal de trucs j'ai oublier d'Editer certaines choses... C'est corrigé merci.
     
  6. StCoP

    StCoP Nouveau

    Inscrit:
    4 Nov 2013
    Messages:
    1
    Points:
    30
    Sexe:
    Homme
    Bonjour.

    Vous dites qu'il est possible de choisir la façon d'obtenir l'achievement créé :
    - soit en craftant un objet (Grâce à la classe SlotCrafting.java)
    - soit en faisant cuire un objet (Grâce à la classe SlotFurnace.java)

    Mais j'aurai aimé savoir si il était possible d'obtenir un achievement créé, en buvant un liquide ?

    En vous remerciant, désolé de remonter ainsi la discussion.
     
  7. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Oui, dans le code oú ça effectue l'action,
    Je suis sur mon téléphone mais je te donnerais une réponse plus précise quand j'arrive chez moi.
    EDIT : Voilà :
    Pour les nourritures c'est souvent à ajouter dans :
    Code (java):
    public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
        {
            //ici
        }
    Ajoutez :
    Code (java):
    this.par3EntityPlayer.addStat(AchievementList.MyAchievement, 1);
    Je suis pas sur pour les potions mais pour la soupe ou le lait ça marche.
     
    • J'aime J'aime x 1
  8. Euryane

    Euryane Nouveau

    Inscrit:
    26 Oct 2014
    Messages:
    1
    Points:
    10
    Sexe:
    Homme
    Juste une question, ou se trouve "AchievementList.java" Je ne c'est vraiment pas comment faire aidez moi s'il vous plait :'(.
     
  9. Fallen'

    Fallen' Mineur

    Inscrit:
    28 Fev 2014
    Messages:
    338
    Points:
    69
    Sexe:
    Homme
    Merci de ne pas remonter les anciens topics !
     
  10. Nolan-XX

    Nolan-XX Modérateur
    Staff

    Inscrit:
    29 Déc 2012
    Messages:
    10 234
    Points:
    304
    Sexe:
    Homme
    Le bouton signaler ... Car la ça peut être considéré comme du flood.
     
  11. Fallen'

    Fallen' Mineur

    Inscrit:
    28 Fev 2014
    Messages:
    338
    Points:
    69
    Sexe:
    Homme
    Scuse moi, je cherchais juste à apporter un peu de soutien au staff du forum en prenant cette initiative ^^
     
  12. Nolan-XX

    Nolan-XX Modérateur
    Staff

    Inscrit:
    29 Déc 2012
    Messages:
    10 234
    Points:
    304
    Sexe:
    Homme
    Bah justement, tu aides plus le staff en reportant un message, on a une petite case en haut qui indique qu'un message est reporté.
     
  13. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Il se trouve dans net.minecraft.stats
     

Partager cette page