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

    Résolu CD et Metadata

    1.7.x
    1.7.x
    2
    4
    1107
    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.
    • N
      Namilowarus dernière édition par

      Salut,
      J’ai créer des items en metadata, ce sont des disques. Mais ils jouent tous la même musique, j’aimerais leurs assigner une musique chacun.
      J’ai bien enregistrer toutes les musiques dans le Json, il est valide.

      La classe des disques:

      package com.namilowarus.phase.item;
      
      import java.util.List;
      
      import javax.swing.Icon;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.block.Block;
      import net.minecraft.client.renderer.texture.IIconRegister;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemRecord;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.IIcon;
      import net.minecraft.util.ResourceLocation;
      import net.minecraft.util.StatCollector;
      
      public class ItemCDMetadata extends ItemRecord{
      
      private final static String[] type = new String[]{"cd1", "cd2", "cd3", "cd4", "cd5", "cd6", "cd7", "cd8", "cd9", "cd10", "cd11", "cd12", "cd13", "cd14", "cd15"};
      private IIcon[] IconArray;
      
      public ItemCDMetadata(int id, String name)
      {
      super(name);
      this.setHasSubtypes(true);
      }
      
      public int getMetadata(int metadata)
      {
      return metadata;
      }
      
      public String getUnlocalizedName(ItemStack stack)
         {
             int metadata = stack.getItemDamage();
             if(metadata > type.length || metadata < 0)
             {
                 metadata = 0;
             }
             return super.getUnlocalizedName() + "." + type[metadata];
         }
      
      public void registerIcons(IIconRegister iconregister)
         {
             IconArray = new IIcon[type.length];
             for(int i = 0; i < type.length; i++)
             {
                 IconArray* = iconregister.registerIcon("pm:cds/" + type*);
             }
         }
      
      @SideOnly(Side.CLIENT)
      public void getSubItems(Item Item, CreativeTabs creativeTabs, List list)
      {
      for(int metadata = 0; metadata < type.length; metadata++)
      list.add(new ItemStack(Item, 1, metadata));
      }
      
         @SideOnly(Side.CLIENT)
         public IIcon getIconFromDamage(int metadata)
         {
             return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
         }
      
         @Override
         @SideOnly(Side.CLIENT)
         public String getRecordNameLocal()
         {
      return StatCollector.translateToLocal("item.record." + this.recordName);
         }
      
         public ResourceLocation getRecordResource(String name)
         {
             return new ResourceLocation("pm:cd1");
         }
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Ce n’est pas possible car la fonction getRecordResource n’a pas ItemStack en paramètre. Il faudrait modifier la façon dont Minecraft gère les disques pour le faire.

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

          Ha, mince.
          Je suis donc obligé de faire plein de cd séparement si je comprends bien ?

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

            Oui.

            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