Erreur de variable l



  • Ayant créer un mod en version 1.5.1, j'ai décider de reprendre tout en version 1.6.4. et de faire des Metadat.
    Voila mon problème, j'ai une erreur sur la variable "petit L" qui est en rouge pour vous la cituée et je ne vois pas ou cela peut venir, je galler depuis plusieurs heures.

    
    package bountycraft.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 BlockCrepiMetadata extends Block
    {
    public static String[] type = new String[]{"blockcrepinoir, blockcrepirouge, blockcrepivertfonce, blockcrepiocre, blockcrepibleufonce, blockcrepiparme, blockcrepicyan, "
    "blockcrepigris, blockcrepigrisfonce, blockcrepirose, blockcrepivert, blockcrepijaune, blockcrepibleu, blockcrepimagenta, blockcrepiorange, blockcrepiblanc"};
    
    private Icon[] IconArray;
    
    public BlockCrepiMetadata(int id)
    {
    super(id, Material.rock);
    this.setCreativeTab(ModBountyCraft.BlockBountyCraftCreativeTabs);
    }
    
    public void registerIcons(IconRegister iconregister)
    {
    IconArray = new Icon[type.length];
    for(int i = 0; i < type.length; i++)
    {
    IconArray* = iconregister.registerIcon("modbountycraft:" + 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, l, metadata)); // j'ai une erreur variable l
    }
    }
    
    @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;
    }
    
    }
    
    

    Image de l'erreur:
    ![](http://bountycraft.power-heberg.com/Images perso/variable_l.png)

    Merci pour l'aide que vous pouvez m'apporter.



  • @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));
    }
    }
    

    source : http://www.minecraftforgefrance.fr/showthread.php?tid=66

    C'est '1' pas 'l'. De plus il râle parce que ta variable 'l' n'est pas déclarer.



  • Merci Patatoufet,

    J'ai rectifier ma variable et maintenant c'est la texture qui ne s'affiche pas normalement:

    ![](http://bountycraft.power-heberg.com/Images perso/metadata1.png)

    
    package bountycraft.common;
    
    import net.minecraft.block.Block;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraftforge.common.Configuration;
    import bountycraft.proxy.BountyCommonProxy;
    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.SidedProxy;
    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;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    @Mod(modid = "ModBountyCraft", name = "Mod BountyCraft", version = "1.0.0", acceptedMinecraftVersions = "[1.6.4,)")
    @NetworkMod(clientSideRequired = true, serverSideRequired = false)
    
    public class ModBountyCraft
    {
    @SidedProxy(clientSide = "bountycraft.proxy.BountyClientProxy", serverSide = "bountycraft.proxy.BountyCommonProxy")
    public static BountyCommonProxy proxy;
    
    @Instance("ModBountyCraft")
    public static ModBountyCraft instance;
    
    // Declaration_des_Blocks //
    
    // - LeCrepi&Calcaire - //
    public static Block blockcrepinoir, blockcrepimetadata;
    public static Block crepibleuecrasestone, ton_pierre;
    public static Block calcairebrut, calcaire, calcaireoolithique, calcairetailler, carrelagecalcaire, pierrecalcaire, granulats, blockplatre, blockplatretailler;
    
    // - Declaration Onglet0 Tab - //
    public static CreativeTabs BlockBountyCraftCreativeTabs = new BlockBountyCraftCreativeTabs("BlockBountyCraftCreativeTabs");
    
    @EventHandler
    public void PreInit(FMLPreInitializationEvent event)
    {
    //Configuration
    
    //Blocks_de_601_a_4095//
    
    // - BlockCrepiCouleur - NbSerie 2900 - //
    blockcrepimetadata = new BlockCrepiMetadata(2849).setHardness(1.5f).setResistance(5.0f).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("blockcrepimetadata").setTextureName("modbountycraft:blockcrepimetadata");
    
    crepibleuecrasestone = new BlockCrepibleuecraseStone(2860).setHardness(1.5f).setResistance(5.0f).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("crepibleuecrasestone").setTextureName("modbountycraft:crepibleuecrasestone");
    ton_pierre = new BlockTon_Pierre(2861).setHardness(1.5f).setResistance(5.0f).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ton_pierre").setTextureName("modbountycraft:ton_pierre");
    //Items
    
    //Achievements
    }
    
    @EventHandler
    public void Init(FMLInitializationEvent event)
    {
    
    //- Registry Blocks Items - //
    
    //LesCrepis//
    GameRegistry.registerBlock(blockcrepimetadata, ItemBlockCrepiMetadata.class, "blockcrepimetadata", "ModBountyCraft");
    
    GameRegistry.registerBlock(crepibleuecrasestone, "crepibleuecrasestone");
    GameRegistry.registerBlock(ton_pierre, "ton_pierre");
    
    //GameRegistry.registerBlock(, "");
    
    //Mobs
    
    //Render
    proxy.registerRender();
    //NetWork
    
    //Recipe
    
    }
    
    @EventHandler
    public void PostInit(FMLPostInitializationEvent event)
    {
    //Integration_avec_les_autres_mods
    }
    }
    
    

    puis mon ItemBlock

    
    package bountycraft.common;
    
    import net.minecraft.item.ItemBlock;
    import net.minecraft.item.ItemStack;
    
    public class ItemBlockCrepiMetadata extends ItemBlock
    {
    
    public ItemBlockCrepiMetadata(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 > BlockCrepiMetadata.type.length || metadata <= 0)
    {
    metadata = 0;
    }
    return super.getUnlocalizedName() + "." + BlockCrepiMetadata.type[metadata];
    
    }
    }
    
    
    
    #Blocks
    tile.crepibleuecrasestone.name=CrepiBleuEcrase
    tile.ton_pierre.name=TonPierre
    
    #BlocksMetadata
    tile.blockcrepimetadata.blockcrepinoir.name=CrepiNoir
    tile.blockcrepimetadata.blockcrepirouge.name=CrepiRouge
    tile.blockcrepimetadata.blockcrepivertfonce.name=CrepiVertfonce
    tile.blockcrepimetadata.blockcrepiocre.name=CrepiOcre
    tile.blockcrepimetadata.blockcrepibleufonce.name=CrepiBleufonce
    tile.blockcrepimetadata.blockcrepiparme.name=CrepiParme
    tile.blockcrepimetadata.blockcrepicyan.name=CrepiCyan
    tile.blockcrepimetadata.blockcrepigris.name=CrepiGris
    tile.blockcrepimetadata.blockcrepigrisfonce.name=CrepiGrisfonce
    tile.blockcrepimetadata.blockcrepirose.name=CrepiRose
    tile.blockcrepimetadata.blockcrepivert.name=CrepiVert
    tile.blockcrepimetadata.blockcrepijaune.name=CrepiJaune
    tile.blockcrepimetadata.blockcrepibleu.name=CrepiBleu
    tile.blockcrepimetadata.blockcrepimagenta.name=CrepiMagenta
    tile.blockcrepimetadata.blockcrepiorange.name=CrepiOrange
    tile.blockcrepimetadata.blockcrepiblanc.name=CrepiBlanc
    
    #Items
    
    #CreativeTabs
    itemGroup.BlockBountyCraftCreativeTabs=Blocks BountyCraft
    
    

    Merci d'avance.

    Bounty…



  • Ton problème vient de là :

    public static String[] type = new String[]{"crepiocrstone, crepibleustone, crepiblancstone, crepicyanstone, crepigristone, crepijaunestone, " +
    "crepiorangestone, crepiparmestone, crepirosestone, crepivertstone"};
    
    

    tu dois faire comme ça :

    public static String[] type = new String[]{"block1", "block2", "block3", "block4", "block5", "block6", "block7", "block8"};
    

    et en théorie cela doit donner (si je me suis pas trompé en cc) :

    
    public static String[] type = new String[]{"crepiocrstone", "crepibleustone", "crepiblancstone", "crepicyanstone", "crepigristone", "crepijaunestone","crepiorangestone","crepiparmestone", "crepirosestone", "crepivertstone"};
    
    


  • re,

    Non cela change rien toujours la même chose.

    Bounty…

    
    public static String[] type = new String[]{"blockcrepinoir, blockcrepirouge, blockcrepivertfonce, blockcrepiocre, blockcrepibleufonce, blockcrepiparme, blockcrepicyan, " +
    "blockcrepigris, blockcrepigrisfonce, blockcrepirose, blockcrepivert, blockcrepijaune, blockcrepibleu, blockcrepimagenta, blockcrepiorange, blockcrepiblanc"};
    
    

    j'ai ça actuellement.


  • Administrateurs

    Pourtant c'est ça, ton tableau type est mal déclaré. Tu as quoi actuellement ?



  • re Bonjour robin4002,
    j'ai ça actuellement:

    
    package bountycraft.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 BlockCrepiMetadata extends Block
    {
    public static String[] type = new String[]{"blockcrepinoir, blockcrepirouge, blockcrepivertfonce, blockcrepiocre, blockcrepibleufonce, blockcrepiparme, blockcrepicyan, "
    "blockcrepigris, blockcrepigrisfonce, blockcrepirose, blockcrepivert, blockcrepijaune, blockcrepibleu, blockcrepimagenta, blockcrepiorange, blockcrepiblanc"};
    
    private Icon[] IconArray;
    
    public BlockCrepiMetadata(int id)
    {
    super(id, Material.rock);
    this.setCreativeTab(ModBountyCraft.BlockBountyCraftCreativeTabs);
    }
    
    public void registerIcons(IconRegister iconregister)
    {
    IconArray = new Icon[type.length];
    for(int i = 0; i < type.length; i++)
    {
    IconArray* = iconregister.registerIcon("modbountycraft:" + 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, l, 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;
    }
    
    }
    
    

    désolé pour le doublon de script dans le post.

    Bounty…


  • Administrateurs

    public static String[] type = new String[]{"blockcrepinoir, blockcrepirouge, blockcrepivertfonce, blockcrepiocre, blockcrepibleufonce, blockcrepiparme, blockcrepicyan, "
    "blockcrepigris, blockcrepigrisfonce, blockcrepirose, blockcrepivert, blockcrepijaune, blockcrepibleu, blockcrepimagenta, blockcrepiorange, blockcrepiblanc"};
    

    ->

    public static String[] type = new String[]{"blockcrepinoir", "blockcrepirouge", "blockcrepivertfonce", "blockcrepiocre", "blockcrepibleufonce", "blockcrepiparme", "blockcrepicyan", "blockcrepigris", "blockcrepigrisfonce", "blockcrepirose", "blockcrepivert", "blockcrepijaune", "blockcrepibleu", "blockcrepimagenta", "blockcrepiorange", "blockcrepiblanc"};
    

    C'est ce que Patatoufet t'as dit de faire.



  • re voila ce que j'ai en rectifiant ce que tu a mis ci-dessus.:

    ![](http://bountycraft.power-heberg.com/Images perso/metadata2.png)

    pourtant j'ai bien mis mes textures au bon endroit.



  • Ton emplacement est bien modbountycraft/textures/blocks/ ?
    Dans ta console tu dois avoir une alerte du style

    [Grave] [Minecraft-Client] Using missing texture, unable to load: chemin de la texture indiqué
    

    Cela peut t'aider à résoudre le problème.



  • re oui mon emplacement est bien microbouturage/textures/blocks/
    et voila ce que j'ai dans la console:

    2013-11-20 18:10:42 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: modbountycraft:textures/blocks/blockcrepimagenta, blockcrepiorange, blockcrepiblanc.png
    2013-11-20 18:10:42 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: modbountycraft:textures/blocks/blockcrepiocre, blockcrepibleufonce, blockcrepiparme, blockcrepicyan, blockcrepigris.png
    2013-11-20 18:10:42 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: modbountycraft:textures/blocks/blockcrepinoir, blockcrepirouge, blockcrepivertfonce.png
    2013-11-20 18:10:42 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: modbountycraft:textures/blocks/blockcrepigrisfonce, blockcrepirose, blockcrepivert, blockcrepijaune, blockcrepibleu.png


  • Administrateurs

    Toujours pas bon ..
    Tu dois mettre des guillemets avant et après chaque nous, il ne doit avoir aucunes virgules dans les String, car elles sont là pour séparer les String
    C'est pourtant pas compliqué …



  • c'est bon ça marche, je suis désolé pour les guillemets avant et après, c'était devant mes yeux et je ne le voyais pas,
    j'ai tellement manger de code depuis ce matin pour refaire mon mod, et comme je n'avait pas encore fait de Metadat donc voila.

    Encore merci et désolé pour mon problème.

    Bounty…


Log in to reply