Résolu 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.
-
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…
-
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 -
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…