MFF

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

    Problème de texture

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    12 Messages 5 Publieurs 2.1k 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.
    • DiabolicaTrixD Hors-ligne
      DiabolicaTrix Correcteurs Moddeurs confirmés
      dernière édition par

      Envoie ton code pour voir 😉

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

        Comme je l’ai dit, c’est principalement le code du BlockReed existant dans le jeu, j’ai juste modifié quelques trucs.

        ​package fr.scrollcraft.scmod.block;
        
        import java.util.Iterator;
        import java.util.Random;
        
        import net.minecraft.block.Block;
        import net.minecraft.block.material.Material;
        import net.minecraft.block.properties.IProperty;
        import net.minecraft.block.properties.PropertyInteger;
        import net.minecraft.block.state.BlockState;
        import net.minecraft.block.state.IBlockState;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.init.Blocks;
        import net.minecraft.init.Items;
        import net.minecraft.item.Item;
        import net.minecraft.util.AxisAlignedBB;
        import net.minecraft.util.BlockPos;
        import net.minecraft.util.EnumFacing;
        import net.minecraft.util.EnumWorldBlockLayer;
        import net.minecraft.world.IBlockAccess;
        import net.minecraft.world.World;
        import net.minecraftforge.fml.relauncher.Side;
        import net.minecraftforge.fml.relauncher.SideOnly;
        
        public class BambooPlant extends Block implements net.minecraftforge.common.IPlantable
        {
            public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15);
            private static final String __OBFID = "CL_00000300";
        
            public BambooPlant()
            {
                super(Material.plants);
                this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0)));
                float f = 0.375F;
                this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f);
                this.setTickRandomly(true);
                this.setUnlocalizedName("bamboo_plant");
                this.setHardness(0.0F);
                this.setStepSound(soundTypeGrass);
                this.setCreativeTab(CreativeTabs.tabBlock);
                this.disableStats();
            }
        
            public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
            {
                if (worldIn.getBlockState(pos.down()).getBlock() == Blocks.reeds || this.checkForDrop(worldIn, pos, state))
                {
                    if (worldIn.isAirBlock(pos.up()))
                    {
                        int i;
        
                        for (i = 1; worldIn.getBlockState(pos.down(i)).getBlock() == this; ++i)
                        {
                            ;
                        }
        
                        if (i < 3)
                        {
                            int j = ((Integer)state.getValue(AGE)).intValue();
        
                            if (j == 15)
                            {
                                worldIn.setBlockState(pos.up(), this.getDefaultState());
                                worldIn.setBlockState(pos, state.withProperty(AGE, Integer.valueOf(0)), 4);
                            }
                            else
                            {
                                worldIn.setBlockState(pos, state.withProperty(AGE, Integer.valueOf(j + 1)), 4);
                            }
                        }
                    }
                }
            }
        
            public boolean canPlaceBlockAt(World worldIn, BlockPos pos)
            {
                Block block = worldIn.getBlockState(pos.down()).getBlock();
                if (block.canSustainPlant(worldIn, pos.down(), EnumFacing.UP, this)) return true;
        
                if (block == this)
                {
                    return true;
                }
                else if (block != Blocks.grass && block != Blocks.dirt && block != Blocks.sand)
                {
                    return false;
                }
                else
                {
                    Iterator iterator = EnumFacing.Plane.HORIZONTAL.iterator();
                    EnumFacing enumfacing;
        
                    if (!iterator.hasNext())
                    {
                        return false;
                    }
        
                    enumfacing = (EnumFacing)iterator.next();
        
                    return true;
                }
            }
        
            /**
             * Called when a neighboring block changes.
             */
            public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock)
            {
                this.checkForDrop(worldIn, pos, state);
            }
        
            protected final boolean checkForDrop(World worldIn, BlockPos p_176353_2_, IBlockState state)
            {
                if (this.canBlockStay(worldIn, p_176353_2_))
                {
                    return true;
                }
                else
                {
                    this.dropBlockAsItem(worldIn, p_176353_2_, state, 0);
                    worldIn.setBlockToAir(p_176353_2_);
                    return false;
                }
            }
        
            public boolean canBlockStay(World worldIn, BlockPos pos)
            {
                return this.canPlaceBlockAt(worldIn, pos);
            }
        
            public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state)
            {
                return null;
            }
        
            /**
             * Get the Item that this Block should drop when harvested.
             *  
             * @param fortune the level of the Fortune enchantment on the player's tool
             */
            public Item getItemDropped(IBlockState state, Random rand, int fortune)
            {
                return Items.reeds;
            }
        
            public boolean isOpaqueCube()
            {
                return false;
            }
        
            public boolean isFullCube()
            {
                return false;
            }
        
            @SideOnly(Side.CLIENT)
            public Item getItem(World worldIn, BlockPos pos)
            {
                return Items.reeds;
            }
        
            @SideOnly(Side.CLIENT)
            public int colorMultiplier(IBlockAccess worldIn, BlockPos pos, int renderPass)
            {
                return worldIn.getBiomeGenForCoords(pos).getGrassColorAtPos(pos);
            }
        
            /**
             * Convert the given metadata into a BlockState for this Block
             */
            public IBlockState getStateFromMeta(int meta)
            {
                return this.getDefaultState().withProperty(AGE, Integer.valueOf(meta));
            }
        
            @SideOnly(Side.CLIENT)
            public EnumWorldBlockLayer getBlockLayer()
            {
                return EnumWorldBlockLayer.CUTOUT;
            }
        
            /**
             * Convert the BlockState into the correct metadata value
             */
            public int getMetaFromState(IBlockState state)
            {
                return ((Integer)state.getValue(AGE)).intValue();
            }
        
            protected BlockState createBlockState()
            {
                return new BlockState(this, new IProperty[] {AGE});
            }
        
            @Override
            public net.minecraftforge.common.EnumPlantType getPlantType(IBlockAccess world, BlockPos pos)
            {
                return net.minecraftforge.common.EnumPlantType.Beach;
            }
            @Override
            public IBlockState getPlant(IBlockAccess world, BlockPos pos)
            {
                return this.getDefaultState();
            }
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          Envoi les blockstate surtout.

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

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

            Déjà, enlève le OBFID_, il ne sert à rien ^^

            Et le bug vient des fichiers de models qui ne sont pas trouvés, donne nous le code où tu enregistres les textures.

            PS: Je n’ai pas vu ton message SCAREX.

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

              Le blockstate :

              {
                "variants": {
                    "normal": { "model": "scmod:bamboo_plant" }
                }
              }
              

              L’enregistrement des textures :

              ​proxy.registerBlockTexture(bambooPlant, "bamboo_plant");
              

              Je précise que j’utilise forge depuis 1 semaine donc il se peut que l’erreur soit très conne… 😄

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

                dans les variantes, il me semble qu’il faut mettre chaque métadata.

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

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

                  Une idée du nom qu’elles devraient avoir ?

                  J’ai testé avec age=0 , age=1, etc… à la place de “normal”, j’ai également testé avec 0, 1, 2, etc…

                  Aucun ne marche pour le moment…

                  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

                    {
                    "variants": {
                    "age=0": { "model": "scmod:bamboo_plant" },
                    "age=1": { "model": "scmod:bamboo_plant" },
                    "age=2": { "model": "scmod:bamboo_plant" }
                    }
                    }
                    

                    Pourtant c’est bien comme ça qu’il faut faire.

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

                      J’ai réessayé comme ça :

                      {
                       "variants": {
                           "age=0": { "model": "scmod:bamboo_plant" },
                           "age=1": { "model": "scmod:bamboo_plant" },
                           "age=2": { "model": "scmod:bamboo_plant" }
                      "age=3": { "model": "scmod:bamboo_plant" }
                           "age=4": { "model": "scmod:bamboo_plant" }
                           "age=5": { "model": "scmod:bamboo_plant" }
                           "age=6": { "model": "scmod:bamboo_plant" }
                           "age=7": { "model": "scmod:bamboo_plant" }
                           "age=8": { "model": "scmod:bamboo_plant" }
                           "age=9": { "model": "scmod:bamboo_plant" }
                           "age=10": { "model": "scmod:bamboo_plant" }
                           "age=11": { "model": "scmod:bamboo_plant" }
                           "age=12": { "model": "scmod:bamboo_plant" }
                           "age=13": { "model": "scmod:bamboo_plant" }
                           "age=14": { "model": "scmod:bamboo_plant" }
                           "age=15": { "model": "scmod:bamboo_plant" }
                       }
                      }
                      

                      La texture ne s’affiche toujours pas et j’ai quelques erreurs dans la console :

                      http://pastebin.com/mBFtpNN6

                      (Désolé pour le pastebin, mais le forum m’empêchait de poster un message trop long.)

                      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

                        Ton json est erroné. Il manque pleins de virgule. Toutes les lignes devrait en avoir une sauf la dernière.
                        http://jsonlint.com/

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

                          En effet, merci.

                          Tout marche bien maintenant, merci à vous !

                          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