• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Le son ne se joue pas

    1.7.x
    1.7.10
    4
    6
    1495
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • NicoKing60
      NicoKing60 dernière édition par

      Bonjour/Bonsoir, après avoir abandonné le projet d’un mod beaucoup trop complexe j’ai décider d’en recommencer un nouveau plus simple en 1.7.10 mais voilà que je commence à peine et que je rencontre un gros problème, je souhaite créer un item (Pacte avec le démon) qui, quand le joueur fait clic droit avec, se fait retirer une très grosse partie de sa vie (il ne lui restera plus qu’un demi cœur et si il le fait alors que sa vie n’est pas full il meurt), consomme l’item et donne un nouvel item en échange.

      Je voudrais en plus qu’un son se joue lors de l’utilisation de l’item mais il ne se joue pas et ça marque dans la console “Unable to play unknown soundEvent: cwm:other.pact”
      J’ai essayer plusieurs chose, regarder tout les recoins du forum, visiter plusieurs site, avant d’en arriver à vous demander de l’aide.

      Sachant que j’ai mis le fichier son dans un dossier appelé “other” qui est dans le dossier sounds.

      Voilà les codes :

      La class de l’item

      
      package com.nicoking60.cwm.common;
      
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.DamageSource;
      import net.minecraft.world.World;
      
      public class DevilPact extends Item {
      
      public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entity){
      float var4 = 1.0F;
      int i = (int)(entity.prevPosX + (entity.posX - entity.prevPosX) * (double)var4);
      int j = (int)(entity.prevPosY + (entity.posY - entity.prevPosY) * (double)var4 + 1.62D - (double)entity.yOffset);
      int k = (int)(entity.prevPosZ + (entity.posZ - entity.prevPosZ) * (double)var4);
      
      if(true){
      if(entity instanceof EntityPlayer)((EntityPlayer)entity).inventory.addItemStackToInventory(new ItemStack(MainCWM.bloodGem, 1));
      }
      
      if(true){
      entity.attackEntityFrom(DamageSource.generic, 19);
      }
      
      if(true){
      if(entity instanceof EntityPlayer)((EntityPlayer)entity).inventory.consumeInventoryItem(MainCWM.devilPact);
      }
      
      if(true){
      world.playSoundEffect((double)i + 0.5D, (double)j + 0.5D, (double)k + 0.5D, "cwm:other.pact", 1.0F, 1.0F);
      }
      
      return itemstack;
      }
      }
      

      Le fichier sounds.json

      
      {
      
        "other.pact": {
          "category": "player",
          "sounds": [
            {
              "other/pact",
            }
          ]
        }
      

      Merci d’avance.

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Ton fichier sounds.json est erroné, il manque une fermeture d’accolade à la fin.

        1 réponse Dernière réponse Répondre Citer 0
        • Deleted
          Deleted dernière édition par

          Pour mettre la vie du joueur à un demie coeur voici le code, il te suffit juste de mettre ceci dans ta méthode du clic droit (bref je pense que tu sais) :

          
          entity.setHealth(1);
          
          1 réponse Dernière réponse Répondre Citer 0
          • NicoKing60
            NicoKing60 dernière édition par

            Merci Robin effectivement j’avais oublier une accolade  :s

            Mais malgré avoir réparer cette erreur la son ne se jouais toujours pas alors j’ai modifié encore une fois le .json pour donner ceci :

            
            {
            
              "other.pact": {
                "category": "player",
                "sounds": [
                  {
                    "name": "other/pact",
                    "stream": false
                  }
                ]
              }
            }
            
            

            Et après ça a marcher !

            Désoler de t’avoir déranger pour ça, la prochaine fois je nettoierai mes lunettes pour vérifier les bugs 🆒

            Julot je ne connaissais pas ce code merci de m’en faire part mais ce n’est pas ça que je veux, sinon le joueur pourrai spamer les pactes sans danger de mort.

            1 réponse Dernière réponse Répondre Citer 0
            • JustPingo
              JustPingo dernière édition par

              player.setHealth(player.getHealth() - 19);
              

              (en supposant que setHealth supporte les valeurs négatives, si ce n’est pas le cas, calcule la valeur avant et fait un test par rapport à 0)


              Über Networking Antennas

              1 réponse Dernière réponse Répondre Citer 0
              • Deleted
                Deleted dernière édition par

                @‘NicoKing60’:

                Merci Robin effectivement j’avais oublier une accolade  :s

                Mais malgré avoir réparer cette erreur la son ne se jouais toujours pas alors j’ai modifié encore une fois le .json pour donner ceci :

                
                {
                
                  "other.pact": {
                    "category": "player",
                    "sounds": [
                      {
                        "name": "other/pact",
                        "stream": false
                      }
                    ]
                  }
                }
                

                Et après ça a marcher !

                Désoler de t’avoir déranger pour ça, la prochaine fois je nettoierai mes lunettes pour vérifier les bugs 🆒

                Julot je ne connaissais pas ce code merci de m’en faire part mais ce n’est pas ça que je veux, sinon le joueur pourrai spamer les pactes sans danger de mort.

                Oui autant pour moi je n’avais pas réfléchi

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB