MFF

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

    Les metadata de bloc

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.6.x
    56 Messages 11 Publieurs 19.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.
    • P Hors-ligne
      PoLePanda
      dernière édition par

      Les fonctions qui n’ont pas metadata en paramètre (ou world, x, y, z ou iblockaccess, x, y, z) sont appliquer à tout les metadata.

      Sa veux dire que ça s’est déjà dans les metadatas ?

      
      public int quantityDropped(Random par1Random)
      {
      return 0;
      }
      
      public int getRenderBlockPass()
      {
      return 0;
      }
      
      public boolean isOpaqueCube()
      {
      return false;
      }
      
      

      Alors pour quoi mes vitres son pas transparentes… ??

      
      package mods.block;
      
      import java.util.ArrayList;
      import java.util.List;
      import java.util.Random;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.material.Material;
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.Icon;
      import net.minecraft.world.World;
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      
      public class BlockVitreColorer extends Block{
      
      public BlockVitreColorer(int id, Material Materials) {
      super(id, Materials);
      this.setCreativeTab(CreativeTabs.tabDecorations);
      }
      
      public static String[] type = new String[]{"Glass-White", "Glass-Orange", "Glass-Magenta", "Glass-LightBlue", "Glass-Yellow", "Glass-Lime", "Glass-Pink", "Glass-Gray","Glass-LightGrey","Glass-Cyan","Glass-Purple","Glass-Blue","Glass-Brown","Glass-Green","Glass-Red","Glass-Black"};
      private Icon[] IconArray;
      
      public void registerIcons(IconRegister iconregister)
      {
      IconArray = new Icon[type.length];
      for(int i = 0; i < type.length; i++)
      {
      IconArray* = iconregister.registerIcon("mods:" + type*);
      }
      }
      
      @SideOnly(Side.CLIENT)
      public void getSubBlocks(int id, CreativeTabs creativeTabs, List list)
      {
      for(int metadata = 0; metadata < type.length; metadata++)
      {
      list.add(new ItemStack(id, 1, metadata));
      }
      }
      
      @SideOnly(Side.CLIENT)
      public Icon getIcon(int side, int metadata)
      {
      return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
      }
      
      public ArrayList <itemstack>getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)
      {
      ArrayList <itemstack>ret = new ArrayList<itemstack>();
      
      int count = quantityDropped(metadata, fortune, world.rand);
      for(int i = 0; i < count; i++)
      {
      int id = idDropped(metadata, world.rand, fortune);
      if (id > 0)
      {
      ret.add(new ItemStack(id, 0, damageDropped(metadata)));
      }
      }
      return ret;
      }
      
      }
      
      

      J’ai repris les textures de la 1.7 donc il son belle et bien transparente !
      dsl mais j’arrive vraiment pas a comprendre…Merci</itemstack></itemstack></itemstack>

      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

        Remplace l’extends Block par extends BlockGlass
        Le constructeur sera comme ça :

        public BlockVitreColorer(int id, Material Materials, boolean b) {
        super(id, Materials, b);
        this.setCreativeTab(CreativeTabs.tabDecorations);
        }
        

        Dans ta classe principale, remplace le new BlockVitreColorer(id, Material.glass) par new BlockVitreColorer(id, Material.glass, false)
        Normalement ça devrait être bon.

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

          Je suis dsl… mais ça fonctionne pas 😞 😞 mes vitre son toujours opaque

          d’âpres moi le soucie vien d’ici quand on déclare les texture non ?

          avec le iconregister?

          
          public static String[] type = new String[]{"Glass-White", "Glass-Orange", "Glass-Magenta", "Glass-LightBlue", "Glass-Yellow", "Glass-Lime", "Glass-Pink", "Glass-Gray","Glass-LightGrey","Glass-Cyan","Glass-Purple","Glass-Blue","Glass-Brown","Glass-Green","Glass-Red","Glass-Black"};
          private Icon[] IconArray;
          
          public void registerIcons(IconRegister iconregister)
          {
          IconArray = new Icon[type.length];
          for(int i = 0; i < type.length; i++)
          {
          IconArray* = iconregister.registerIcon("mods:" + type*);
          }
          }
          
          
          1 réponse Dernière réponse Répondre Citer 0
          • utyboU Hors-ligne
            utybo
            dernière édition par

            Du coup, soit tes textures ne sont pas transparentes, soit y’a un gros problème…

            Moddeur à la retraite et développeur de trucs en Java.

            J'aide les gens comme je peux, alors si mon message v…

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

              Bien test le code tu verra bien … et oui mes textures son bien transparente 😞

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

                up ! merci 😞

                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

                  public int getRenderBlockPass()
                  {
                  return 1;
                  }
                  

                  À mettre dans la classe du bloc, si tu l’as déjà remplace juste le 0 par 1.
                  Normalement les rendus avec transparences sont sur 1, je sais pas pourquoi le verre de minecraft est sur 0 (mystère ?)
                  Parcontre ça fait que le rendu sur le monde, en main il est toujours non transparent, j’ai pas trouvé ce que gère ça.

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

                    @‘robin4002’:

                    public int getRenderBlockPass()
                    {
                    return 1;
                    }
                    

                    À mettre dans la classe du bloc, si tu l’as déjà remplace juste le 0 par 1.
                    Normalement les rendus avec transparences sont sur 1, je sais pas pourquoi le verre de minecraft est sur 0 (mystère ?)
                    Parcontre ça fait que le rendu sur le monde, en main il est toujours non transparent, j’ai pas trouvé ce que gère ça.

                    Merci beaucoup ca fonctione :shy::rolleyes:

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

                      Bonjour à tous,

                      Je me permets de poster un message car je rencontre des soucis avec mon mod.

                      Le premier est qu’il me manque 4 blocks Ingame. ( id: 2000:6 2000:7 2000:8 2000:9 )
                      Le deuxième est qu’il n’y a pas de textures Ingame.

                      J’ai essayé de résoudre mon problème seul mais je n’y arrive pas ( je suis en 1er année de programmation :s, il me manque encore pas mal de matière pour tout comprendre) alors ne soyez pas trop vache pour mes conneries. 😛

                      package gGbis.common;
                      
                      import net.minecraft.block.Block;
                      import cpw.mods.fml.common.Mod;
                      import cpw.mods.fml.common.Mod.EventHandler;
                      import cpw.mods.fml.common.Mod.Instance;
                      import cpw.mods.fml.common.event.FMLInitializationEvent;
                      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                      import cpw.mods.fml.common.network.NetworkMod;
                      import cpw.mods.fml.common.registry.GameRegistry;
                      
                      @Mod(modid = "GG-Minerais", name = "GG-Minerais", version = "1.0.0")
                      @NetworkMod(clientSideRequired = true, serverSideRequired = false)
                      
                      public class BlockMinerais
                      {
                      public static Block Minerais, MineraisMetadata;
                      
                      @Instance("BlockMinerais")
                      public static BlockMinerais instance;
                      //declaration des blocks
                      
                      @EventHandler
                      public void PreInit(FMLPreInitializationEvent event)
                      {
                      //–---blocks----
                      MineraisMetadata = new BlockMineraisMetadata (2000).setHardness(2.0F).setResistance(10.0F)
                      .setStepSound(Block.soundStoneFootstep).setUnlocalizedName("MineraisMetadata");
                      //----Enregistrement des blocks----
                      GameRegistry.registerBlock(MineraisMetadata, ItemBlockMineraisMetadata.class, "MineraisMetadata", "GG-Minerais");
                      }
                      
                      @EventHandler
                      public void Init(FMLInitializationEvent event)
                      {
                      
                      }
                      
                      @EventHandler
                      public void PostInit(FMLPostInitializationEvent event)
                      {
                      
                      }
                      }
                      
                      package gGbis.common;
                      
                      import java.util.List;
                      
                      import net.minecraft.block.Block;
                      import net.minecraft.block.material.Material;
                      import net.minecraft.client.renderer.texture.IconRegister;
                      import net.minecraft.creativetab.CreativeTabs;
                      import net.minecraft.item.ItemStack;
                      import net.minecraft.util.Icon;
                      import cpw.mods.fml.relauncher.Side;
                      import cpw.mods.fml.relauncher.SideOnly;
                      
                      public class BlockMineraisMetadata extends Block
                      {
                      public static String[] type = new String[]{"block0","minerai0",
                      "block1","minerai1",
                      "block2","minerai2",
                      "block3", "minerai3",
                      "block4","minerai4",
                      "block5","minerai5",
                      "block6", "minerai6",
                      "block7","minerai7"};
                      private Icon[] IconArray;
                      
                      public BlockMineraisMetadata(int id)
                      {
                      super(id, Material.rock);
                      this.setCreativeTab(CreativeTabs.tabBlock);
                      }
                      public void registerIcons(IconRegister iconregister)
                      {
                      IconArray = new Icon[type.length];
                      for(int i = 0; i < type.length; i++)
                      {
                      IconArray* = iconregister.registerIcon("gg-minerais:" + type*);
                      }
                      }
                      @SideOnly(Side.CLIENT)
                      public void getSubBlocks(int id, CreativeTabs creativeTabs, List list)
                      {
                      for(int metadata = 0; metadata < type.length; metadata++)
                      {
                      list.add(new ItemStack(id, 1, metadata));
                      }
                      }
                      @SideOnly(Side.CLIENT)
                      public Icon getIcon(int side, int metadata)
                      {
                      return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
                      }
                      public int damageDropped(int metadata)
                      {
                      return metadata;
                      }
                      }
                      
                      
                      package gGbis.common;
                      
                      import net.minecraft.item.ItemBlock;
                      import net.minecraft.item.ItemStack;
                      
                      public class ItemBlockMineraisMetadata extends ItemBlock {
                      
                      public ItemBlockMineraisMetadata(int id) {
                      super(id);
                      this.setHasSubtypes(true);
                      }
                      public int getMetadata(int metadata)
                      {
                      return metadata;
                      }
                      public String getUnlocalizedName(ItemStack stack)
                      {
                      int metadata = stack.getItemDamage();
                      if(metadata > BlockMineraisMetadata.type.length || metadata < 0)
                      {
                      metadata = 0;
                      }
                      return super.getUnlocalizedName() + "." + BlockMineraisMetadata.type[metadata];
                      }
                      
                      }
                      
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • jglrxavpokJ Hors-ligne
                        jglrxavpok Modérateurs
                        dernière édition par

                        1. Ton modid dans @Mod et dans @Instance n’est pas le même.
                        2. Vérifie que tes textures sont bien dans:
                        /assets/gg-minerais/textures/blocks/block0.png
                        /assets/gg-minerais/textures/blocks/minerai0.png
                        /assets/gg-minerais/textures/blocks/block1.png
                        /assets/gg-minerais/textures/blocks/minerai1.png

                        etc.

                        Modérateur sur MFF. 
                        Mon Github: http://github.com/jglrxavpok
                        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                        1 réponse Dernière réponse Répondre Citer 0
                        • Phenix246P Hors-ligne
                          Phenix246 Rédacteurs
                          dernière édition par

                          Pour tes texture vérifie leurs noms : “assets\gg-minerais\textures\blocks\block0.png”.

                          Pour ton autres problème il n’y a aucune raison que ça ne marche pas, mais j’ai peut être loupé quelque chose, fournis nous des screens de ton problème c’est toujours plus parlant.

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

                            Et bien merci à vous, ces deux erreurs étaient bien à l’origine de mon manque de texture :

                            • La première était le soucis du modid
                            • la seconde un oubli de “s” dans le /assets/blockS ^^"

                            Pour les ids manquantes le souci reste inchangé. Je déclare dans mon tableau 16 positions.

                            
                            public static String[] type = new String[]{"block0","minerai0",
                            "block1","minerai1",
                            "block2","minerai2",
                            "block3", "minerai3",
                            "block4","minerai4",
                            "block5","minerai5",
                            "block6", "minerai6",
                            "block7","minerai7"};
                            
                            

                            Et Ingame je n’en ai que 12 :s

                            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

                              Essaye de te les give avec /give <ton nom=“”>id quantité metadata</ton>

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

                                Salut, j’ai dernièrement essayer de créer une plantation. Tout marche à merveille, sur le jeux rien ne bug etc.Le seul problème est que la texture du block ( exemple le blé quand il pousse, quand tu plante ta graine jusqu’à temps qu’elle soit prête ) S’affiche comme si il n’aurait pas de texture en rose et noir. J’ai mis mes 3 textures de développements dans le src/modid(pour moi rm)/textures/blocks et dans la ligne de code j’ai renommé c’est trois noms de textures pareil. Je ne suis pas trop clair mais je vais poster les images mercredi puisque je n’ai pas accès à mon ordi. J’aimerais juste avoir une petite réponse pour l’instant…

                                Si vous voulez plus à se sujet ou juste plus de détail me le dire 🙂 !

                                Cordialement, infectiion21 🆒

                                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

                                  Tu as sûrement mit le mauvais chemin pour la texture. Il faudrait les codes pour en être sûr.

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

                                    Il me semble que les textures doivent être dans src/main/resources/assets/modid/…

                                    Moddeur à la retraite et développeur de trucs en Java.

                                    J'aide les gens comme je peux, alors si mon message v…

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

                                      Voila mon code de mon problème, comme je vous l’ai dit, les textures ( de croissance ) de ma plantation n’apparait pas.

                                      la class de ma plantation:

                                      
                                      package codcraft;
                                      
                                      import net.minecraft.block.BlockCarrot;
                                      import net.minecraft.client.renderer.texture.IconRegister;
                                      import net.minecraft.util.Icon;
                                      
                                      public class bloodstoneculture extends BlockCarrot{
                                      
                                      public static String[] type = new String[]{"block_1, block_2, block_3"};
                                      private Icon[] IconArray;
                                      
                                      public bloodstoneculture (int id){
                                      super(id);
                                      }
                                      
                                      public Icon getIcon(int side, int metadata)
                                      {
                                      return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
                                      }
                                      
                                      public void registerIcons(IconRegister iconregister)
                                      {
                                      IconArray = new Icon[type.length];
                                      
                                      for(int i = 0; i < type.length; i++)
                                      {
                                      IconArray* = iconregister.registerIcon("rm:" + type*);
                                      }
                                      }
                                      
                                      protected int getSeedItem()
                                      {
                                      return codcraftmain.Itembloodstonegraines.itemID; // donne la graine
                                      }
                                      
                                      protected int getCropItem()
                                      {
                                      return codcraftmain.Itembloodstone.itemID; // donne la récolte
                                      }
                                      
                                      public int damageDropped(int metadata)
                                      {
                                      return metadata;
                                      }
                                      }
                                      
                                      

                                      Mon main:

                                      
                                      public static Block bloodstoneculture;
                                      public static Item Itembloodstone, Itembloodstonegraines;
                                      
                                      bloodstoneculture = new bloodstoneculture(2002).setUnlocalizedName("Culture De Blood");
                                      Itembloodstone = new Item(2003).setUnlocalizedName("Blood").setTextureName("rm:bloodstoneculture");
                                      Itembloodstonegraines = new ItemSeeds(2004, this.bloodstoneculture.blockID, Block.tilledField.blockID).setUnlocalizedName("Graines De Blood").setTextureName("rm:bloodstoneseeds");
                                      
                                      GameRegistry.registerBlock(bloodstoneculture, "culturedeblood");
                                      LanguageRegistry.addName(bloodstoneculture, "Culture De Blood");
                                      GameRegistry.registerItem(Itembloodstone, "Orge", "TT");
                                      LanguageRegistry.addName(Itembloodstone, "Blood");
                                      GameRegistry.registerItem(Itembloodstonegraines, "Graines d'orge", "TT");
                                      LanguageRegistry.addName(Itembloodstonegraines, "Graines De Blood");
                                      
                                      

                                      Et finalement le chemin d’accès:

                                      forge\mcp\src\minecraft\assets\rm\textures\blocks

                                      (le nom de mes 3 croissance est: block_1, block_2, block3)

                                      ps: Désolé, je ne c’est pas comment mettre en ‘‘code’’ alors désolé si ses moche :S
                                      Voila, j’ai tout donné ! Si vous voulez plus d’information pour trouver mon erreur dite le moi et merci de votre réponse 😄

                                      Cordialement, infectiion21

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

                                        Le dossier assets doit être dans src\main\resources. Le dossier src est dans le dossier principal.

                                        Moddeur à la retraite et développeur de trucs en Java.

                                        J'aide les gens comme je peux, alors si mon message v…

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

                                          Je ne comprends rien 0o

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

                                            J’ai rien dit! Ce que je viens de mettre est pour la 1.7 j’avais oublié que c’est différent en 1.6…

                                            Moddeur à la retraite et développeur de trucs en Java.

                                            J'aide les gens comme je peux, alors si mon message v…

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB