MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Problème texture bloc four

    Planifier Épinglé Verrouillé Déplacé Résolu 1.11.x
    1.11.x
    10 Messages 3 Publieurs 1.8k Vues 1 Watching
    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.
    • A Hors-ligne
      aypristyle
      dernière édition par

      Bonjour j’essaye depuis quelques heures de créer un bloc avec les textures comme un four (c’est à dire orientable et avec des texture différentes sur le dessus le devant et les cotés) voici mes essais

      {
          "variants": {
              "facing=north": { "model": "furnace" },
              "facing=south": { "model": "furnace", "y": 180 },
              "facing=west":  { "model": "furnace", "y": 270 },
              "facing=east":  { "model": "furnace", "y": 90 }
          }
      }
      
      

      avec celui-ci j’ai réussi a obtenir ma texture d’inventaire mais pas celle du bloc posé

      {
          "multipart": [{
              "when": {
      "orientation": "north"
              },
              "apply": {
                  "model": "simpleores:custom_furnace"
              }
          }]
      }
      

      avec celle-ci et ses dérivés mon jeu crash voici ce que me dis mes logs

      ConditionPropertyValue{key=orientation, value=north}: Definition: BlockStateContainer{block=simpleores:custom_furnace, properties=[]} has no property: orientation
      
      

      en espérant avoir été suffisament claire dans mes explications

      **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

      1 réponse Dernière réponse Répondre Citer 0
      • LeBossMax2L Hors-ligne
        LeBossMax2
        dernière édition par

        Premièrement, tu as un problème au niveau du nom de la property : dans le premier essai du met facing alors que dans le deuxième tu met orientation. Il va donc falloir se décider pour le nom.
        Deuxièmement, tu block n’as pas de property. Dans le code du block, tu devrais avoir ça :

        
        @Override
        protected BlockStateContainer createBlockState()
        {
            return new BlockStateContainer(this, new IProperty[] {TA_PROPERTY});
        }
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par

          Salut,
          Il faut rajouter une propriété orientation dans ton bloc.

          1 réponse Dernière réponse Répondre Citer 0
          • A Hors-ligne
            aypristyle
            dernière édition par

            Donc si j’ai bien compris ce que tu m’as dit je nomme ma propriété orientation et j’aimerais quelle est quatres valeurs possible south, north, west et east comment puis-je initialiserr cette propriété ?

            **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

            1 réponse Dernière réponse Répondre Citer 0
            • LeBossMax2L Hors-ligne
              LeBossMax2
              dernière édition par

              Il existe déja des propriétés dans les classes de mc, que tu peux utiliser. Par Exemple dans BlockHorizontal, il y as ce que tu cherche. Par contre la propriété s’appelle facing, donc il faudra adapter le json .

              1 réponse Dernière réponse Répondre Citer 0
              • A Hors-ligne
                aypristyle
                dernière édition par

                Bonjour j’ai utiliser la propriété facing dont tu m’as parler et j’ai réessayer avec les deux json que j’ai mis au-dessus en remplaçant orientation par facing sans succès par contre les logs ont changé voici ce que j’ai maintenant

                Don't know how to convert simpleores:custom_furnace[facing=north] back into data…
                

                Je met ma classe au cas où

                package fr.priya.simpleores.blocks;
                
                import fr.priya.simpleores.ModSimpleores;
                import fr.priya.simpleores.gui.TileEntityCustomFurnace;
                import net.minecraft.block.Block;
                import net.minecraft.block.BlockHorizontal;
                import net.minecraft.block.material.Material;
                import net.minecraft.block.properties.IProperty;
                import net.minecraft.block.properties.PropertyDirection;
                import net.minecraft.block.state.BlockStateContainer;
                import net.minecraft.tileentity.TileEntity;
                import net.minecraft.world.World;
                
                public class CustomFurnace extends Block{
                public static final String NAME = "custom_furnace";
                     public static final PropertyDirection FACING = BlockHorizontal.FACING;
                
                public CustomFurnace(Material material)
                {
                    super(material);
                
                    SimpleoresBlocks.setBlockName(this, NAME);
                    setResistance(5.0F);
                    setHardness(3.0F);
                    setCreativeTab(ModSimpleores.blocksTab);
                
                }
                public TileEntity createTileEntity(World world, int metadata)
                {
                return new TileEntityCustomFurnace();
                }
                public boolean hasTileEntity(int metadata)
                {
                return true;
                }
                @Override
                protected BlockStateContainer createBlockState()
                   {
                       return new BlockStateContainer(this, new IProperty[] {FACING});
                   }
                }
                
                

                je pense que mon problème se situe dans ma classe car j’ai essaye sans le json et le bug persiste

                **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

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

                  Il faut ajouter les fonctions getStateFromMeta et getMetaFromState

                  1 réponse Dernière réponse Répondre Citer 0
                  • A Hors-ligne
                    aypristyle
                    dernière édition par

                    J’ai bien rajouté les fonctions manquantes comme tu m’as indiqué maintenant j’arrive a avoir le rendu de mon four in-game quand je le pose mais il ne s’oriente pas voici mes rajouts

                      public IBlockState getStateFromMeta(int meta)
                       {
                           EnumFacing enumfacing = EnumFacing.getFront(meta);
                    
                           if (enumfacing.getAxis() == EnumFacing.Axis.Y)
                           {
                               enumfacing = EnumFacing.NORTH;
                           }
                    
                           return this.getDefaultState().withProperty(FACING, enumfacing);
                       }
                    }
                    
                    

                    (je me suis inspirée de la classe four)
                    et voici mon json aussi inspiré de celui du four

                    {
                       "variants": {
                           "facing=north": { "model": "simpleores:custom_furnace" },
                           "facing=south": { "model": "simpleores:custom_furnace", "y": 180 },
                           "facing=west":  { "model": "simpleores:custom_furnace", "y": 270 },
                           "facing=east":  { "model": "simpleores:custom_furnace", "y": 90 }
                       }
                    }
                    
                    

                    **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

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

                      Normal, il manque encore la fonction changeant l’état du bloc en fonction de la direction du joueur lorsque tu poses le bloc.

                      Regardes le code la citrouille / autres blocs avec orientation.

                      1 réponse Dernière réponse Répondre Citer 0
                      • A Hors-ligne
                        aypristyle
                        dernière édition par

                        Merci beaucoup problème résolu je met le code complet pour ceux qui veulent

                         @Override
                        protected BlockStateContainer createBlockState()
                           {
                               return new BlockStateContainer(this, new IProperty[] {FACING});
                           }
                           public IBlockState getStateFromMeta(int meta)
                           {
                               EnumFacing enumfacing = EnumFacing.getFront(meta);
                        
                               if (enumfacing.getAxis() == EnumFacing.Axis.Y)
                               {
                                   enumfacing = EnumFacing.NORTH;
                               }
                        
                               return this.getDefaultState().withProperty(FACING, enumfacing);
                           }
                        
                           public IBlockState withMirror(IBlockState state, Mirror mirrorIn)
                           {
                               return state.withRotation(mirrorIn.toRotation((EnumFacing)state.getValue(FACING)));
                           }
                        
                           public int getMetaFromState(IBlockState state)
                           {
                               return ((EnumFacing)state.getValue(FACING)).getIndex();
                           }
                        
                           public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
                           {
                               return this.getDefaultState().withProperty(FACING, placer.getHorizontalFacing().getOpposite());
                           }
                        

                        **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB