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

    Résolu Un tileEntity pour Deux Block

    1.7.x
    1.7.2
    3
    5
    1195
    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.
    • P
      Portuar dernière édition par

      Alors voila je ne sais pas trop comment expliquer mais j’ai un block qui a deux état activé et désactivé, quand il est activé celui ci doit s’allumer et pour sa qu’un seul moyen créer un autre block et remplacer le premier a l’image du furnace j’ai trouvé sa :

      
          /**
           * Update which block the furnace is using depending on whether or not it is burning
           */
          public static void updateFurnaceBlockState(boolean p_149931_0_, World p_149931_1_, int p_149931_2_, int p_149931_3_, int p_149931_4_)
          {
              int l = p_149931_1_.getBlockMetadata(p_149931_2_, p_149931_3_, p_149931_4_);
              TileEntity tileentity = p_149931_1_.getTileEntity(p_149931_2_, p_149931_3_, p_149931_4_);
              field_149934_M = true;
      
              if (p_149931_0_)
              {
                  p_149931_1_.setBlock(p_149931_2_, p_149931_3_, p_149931_4_, Blocks.lit_furnace);
              }
              else
              {
                  p_149931_1_.setBlock(p_149931_2_, p_149931_3_, p_149931_4_, Blocks.furnace);
              }
      
              field_149934_M = false;
              p_149931_1_.setBlockMetadataWithNotify(p_149931_2_, p_149931_3_, p_149931_4_, l, 2);
      
              if (tileentity != null)
              {
                  tileentity.validate();
                  p_149931_1_.setTileEntity(p_149931_2_, p_149931_3_, p_149931_4_, tileentity);
              }
          }
      

      Mais sa ne fonctionne pas…

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

        C’est simple, dans la classe où tu déclares tes blocs, tu crées deux blocs, un pour éteint et un allumé, par exemple:

        ​public static Block lampOff;
        public static Block lampOn;
        

        puis tu adaptes la méthode que tu as mis au dessus avec tes noms de blocs.
        Autre chose, est-tu sûr d’avoir appelé cette méthode quelque part ? 😉

        Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
        Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

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

          Nan mais je l’ai adapté j’ai mis ce code dans displayrandomtick mais sa bug alors que des base tout fonctionne.

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

            Non, tu peux passer par la méthode getLightValue. Perso j’ai un four sur un seul bloc ce qui permet d’utiliser moins d’id : https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/BlockPrivate.java#L486
            Le four est le bloc de metadata 3.

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

              Ça fonctionne très bien merci ! Sujet résolut.

              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