Plusieurs Blocs



  • Bonjour
    j'ai un problème que je ne comprends pas
    quand je met un bloc c'est tout a fait normal j'ai mon bloc dans le jeu avec son nom et sa texture
    mais quand je met plusieurs blocs
    ils ont le meme nom
    quelqu'un saurait pourquoi ?


  • Moddeurs confirmés Rédacteurs Modérateurs Administrateurs

    Tu peux mettre ta class principale et celle de ton bloc?



  • ?
    je comprends pas


  • Moddeurs confirmés

    Tu pourrais nous envoyer ta classe principale et celle de ton bloc?
    Nous ne somme pas devin, on ne peut pas savoir d'où vient le problème sans le voir.



  • 
    package lunarblocks;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockFence;
    import net.minecraft.item.EnumToolMaterial;
    import net.minecraft.item.Item;
    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;
    import net.minecraftforge.common.Configuration;
    import net.minecraftforge.common.EnumHelper;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.EnumToolMaterial;
    import net.minecraft.item.ItemFood;
    import net.minecraft.item.ItemSeeds;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.ItemTool;
    import net.minecraft.world.World;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.event.Event.Result;
    import net.minecraftforge.event.entity.player.UseHoeEvent;
    
    @Mod(modid="MLB", name="MoreLuneBlocks", version="1.0.0")
    @NetworkMod(clientSideRequired=true, serverSideRequired=false) // NE PAS MODIFIER CETTE LIGNE
    
    public class ModluneMain {
    
    public static Block BlockLADDERmoon;
    
    public static Item LP, LA, LS, LH, LPE, LSH;
    
    static EnumToolMaterial LUNARPICAXE = EnumHelper.addToolMaterial ("Runique", 3 ,1561 , 100F, 3F, 50);
    static EnumToolMaterial LUNAAXE = EnumHelper.addToolMaterial ("ACHE", 3, 1561, 10F, 5F, 50);
    static EnumToolMaterial LUNASWO = EnumHelper.addToolMaterial ("MSWORD", 0, 1000, 0, 10, 50);
    static EnumToolMaterial LUNAHOE = EnumHelper.addToolMaterial ("HOUEZ", 0,1561, 0, 2, 50);
    static EnumToolMaterial LPELLE = EnumHelper.addToolMaterial ("PELLEZ", 0,1561, 0, 2, 50);
    static EnumToolMaterial LSHEARS = EnumHelper.addToolMaterial ("PELLEZ", 0,1561, 0, 2, 50);
    
    public static Item DD;
    public static Item SS;
    public static Item CR;
    public static Item BR;
    public static Block BlockDirtMoon;
    
    public static Block BlockRizCulture;
    public static Item ItemRiz, ItemRizGraines;
    
    public static int LP9999, LA9998, LS9997, LH9996, LPE9995, LSH9994, DD9993, BlockRizCulture999, ItemRiz1000, ItemRizGraines10001, SS9992;
    
    @Instance("MLB")
    public static ModluneMain instance;
    
    @SidedProxy(clientSide="lunarblocks.ClientProxy", serverSide="lunarblocks.CommonProxy")
    public static CommonProxy proxy;
    
    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
    
    //Configuration
    Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
    try
    {
    cfg.load();
    
    LP9999 = cfg.getItem("pioche de la lune", 12000).getInt();
    LA9998 = cfg.getItem("hache de la lune", 12000).getInt();
    LS9997 = cfg.getItem("epee de la lune", 12000).getInt();
    LH9996 = cfg.getItem("hoe de la lune", 12000).getInt();
    LPE9995 = cfg.getItem("pelle de la lune", 12000).getInt();
    LSH9994 = cfg.getItem("shears de la lune", 12000).getInt();
    DD9993 = cfg.getItem("poussiere de terre", 12000).getInt();
    BlockRizCulture999 = cfg.getItem("RizBlock", 12000).getInt();
    ItemRiz1000 = cfg.getItem("Riz", 12000).getInt();
    ItemRizGraines10001 = cfg.getItem("Graines de riz", 12000).getInt();
    SS9992 = cfg.getItem("sushi", 12000).getInt();
    
    }
    
    catch(Exception ex)
    {
    event.getModLog().severe("Failed to load configuration");
    }
    finally
    {
    if(cfg.hasChanged())
    {
    cfg.save();
    }
    }
    
    // CULTURE DU RIZ
    BlockRizCulture = new BlockFOODCulture(999).setUnlocalizedName("Culture d'orge");
    ItemRiz = new Item(1000).setUnlocalizedName("Riz").func_111206_d("rm:riz");
    ItemRizGraines = new ItemSeeds(1001, this.BlockRizCulture.blockID, Block.tilledField.blockID).setUnlocalizedName("Graines de Riz").func_111206_d("rm:seeds_riz");
    
    GameRegistry.registerBlock(BlockRizCulture, "Culture de Riz");
    GameRegistry.registerItem(ItemRiz, "durizz", "MLB");
    GameRegistry.registerItem(ItemRizGraines, "Graines de Riz", "MLB");
    
    // SUSHI
    SS = new LSUSHI(9990, 8, 2, false).setUnlocalizedName("SUSHIPOP").func_111206_d("rm:Sushi");
    
    //CEREALES de RIZ
    
    CR = new CEREALESDERIZ(9989).setUnlocalizedName("CERIZ").func_111206_d("rm:Riz_cereales");
    
    //Bol de Riz
    
    BR = new BOLDERIZ(9988, 8, 2, false).setUnlocalizedName("BOLRIZE").func_111206_d("rm:Riz_Bowl");
    
    //mon bloc de terre
    
    Block BR = new BlockDirty(2001).func_111022_d("rm:dirt").setLightValue(0.0f);
    
    GameRegistry.registerBlock(BR, "Dirt of the Moon");
    
    LanguageRegistry.addName(BR, "Dirt of the Moon");
    
    //arbre de la lune
    
    Block BL = new BlockWoodL(2002).func_111022_d("rm:wood").setHardness(2.0F);
    
    GameRegistry.registerBlock(BL, "Lunar Wood");
    
    LanguageRegistry.addName(BL, "Lunar Wood");
    
    }
    
    @EventHandler
    public void load(FMLInitializationEvent event)
    {
    
    //LUNARPICKAXE
    
    LP =new LUNARPICAXE(9999, EnumToolMaterial.EMERALD).setUnlocalizedName("FAPFAP").func_111206_d("rm:steel_pickaxe");
    LanguageRegistry.addName(LP, "Moon Pickaxe");
    
    GameRegistry.addRecipe(new ItemStack(LP), new Object[]{"XXX", "XYX", " Y ", 'X', Block.stone,
    'Y', Item.stick});
    
    //LUNARAXE
    
    LA =new LUNAAXE(9998,EnumToolMaterial.EMERALD).setUnlocalizedName("BLOPP").func_111206_d("rm:steel_axe");
    LanguageRegistry.addName(LA, "Moon Axe");
    
    GameRegistry.addRecipe(new ItemStack(LA), new Object[]{"XX", "XY", " Y", 'X', Block.stone,
    'Y', Item.stick});
    
    //LUNARSWORD
    
    LS =new LUNASSWORD(9997,EnumToolMaterial.WOOD).setUnlocalizedName("BLOb").func_111206_d("rm:steel_sword");
    LanguageRegistry.addName(LS, "Moon Sword");
    
    GameRegistry.addRecipe(new ItemStack(LS), new Object[]{" X", " X", " Y", 'X', Block.stone,
    'Y', Item.stick});
    
    //LUNARHOE
    
    LH =new LUNARHOE(9996,EnumToolMaterial.WOOD).setUnlocalizedName("BLO").func_111206_d("rm:steel_hoe");
    LanguageRegistry.addName(LH, "Moon Hoe");
    
    GameRegistry.addRecipe(new ItemStack(LH), new Object[]{"XX", " Y", " Y", 'X', Block.stone,
    'Y', Item.stick});
    
    //LUNARPELLE
    
    LPE =new LUNARPELLE(9995,EnumToolMaterial.WOOD).setUnlocalizedName("BLOG").func_111206_d("rm:steel_shovel");
    LanguageRegistry.addName(LPE, "Moon Shovel");
    
    GameRegistry.addRecipe(new ItemStack(LPE), new Object[]{" X", " Y", " Y", 'X', Block.stone,
    'Y', Item.stick});
    
    //LUNARSHEARS
    
    LSH =new LUNARSHEARS(9994,EnumToolMaterial.WOOD).setUnlocalizedName("BLOSHEARS").func_111206_d("rm:steel_shears");
    LanguageRegistry.addName(LSH, "Moon Shears");
    
    GameRegistry.addRecipe(new ItemStack(LSH), new Object[]{"XXX", "XXX", "XXX", 'X', Block.stone});
    
    // DIRT DUST
    
    proxy.registerRenderers();
    DD = new DDUST(9993).func_111206_d("rm:DUST");
    
    GameRegistry.registerItem(DD, "Dust of Dirt");
    
    LanguageRegistry.addName(DD, "Dust of Dirt");
    
    // CRAFT DIRT DUST
    
    GameRegistry.addRecipe(new ItemStack(DD), new Object[]{"XXX", "YXY", "XXX", 'X', Block.stone,
    'Y', Block.wood});
    
    // RECIPE SUSHI
    
    GameRegistry.addRecipe(new ItemStack(SS), new Object[]{"XXX", "YYY", "XXX", 'X', ModluneMain.ItemRiz ,
    'Y', Block.wood});
    
    //cereales de RIZ
    GameRegistry.addRecipe(new ItemStack(CR), new Object[]{"XXX", "XXX", "XXX", 'X', ModluneMain.ItemRizGraines});
    
    //Bol de Riz
    
    GameRegistry.addRecipe(new ItemStack(BR), new Object[]{" X", " Y", 'X', ModluneMain.CR, 'Y', Item.bowlEmpty});
    
    //DIRT RECIPE
    
    GameRegistry.addRecipe(new ItemStack(Block.dirt), new Object[]{"XXX", "XXX", "XXX", 'X', ModluneMain.DD});
    
    }
    
    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {
    
    }
    }
    
    
    
    package lunarblocks;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    
    public class DIRTDUST extends Item
    {
    public DIRTDUST(int id)
    {
    super(id);
    this.setCreativeTab(CreativeTabs.tabMaterials);
    }
    }
    
    

    désoler j'avais pas vu la fonction java code 🙂


  • Moddeurs confirmés

    Alors:
    -Tu n'as surement rien compris aux tuto ou tu as juste fait des copier collé sans rien essayer de comprendre.
    -Tu fais un système de configuration mais tu ne l'utilise pas, de plus tu mets tout le temps le même id: 12000, sachant que les blocs sont limités à 4096.
    -Pourquoi avoir mis ça après la déclaration de ton bloc de terre ".setLightValue(0.0f)", c'est inutile il est à 0 par défaut.
    -Et je ne croit pas que la seconde classe soit celle de ton bloc "extends Item"

    Informations suplémentaire à fournir:
    -version mc
    -version forge



    • Petit Hors-Sujet -

    Quand on programme avec java, il y a un convention sur les noms de classes, de variables etc … pour que tout le monde puisse relire notre code.

    Ici, rien n'est respecté.

    Voilà la base de la convention :

    Une classe commence par une Majuscule, et en miniscule sauf si c'est plusieurs mots.

    Exemple : Block, BlockDirt, DirtDust, Entity, EntityCreeper sont des classes respectant cette convention.

    Alors que BLOCK, block, BLOCKDIRT, blockDirt, Blockdirt, entity, Entitycreeper ne la respectent pas.

    Ensuite, les variables :

    Une variable commence par une miniscule, et les mots sont séparés par des majuscules.

    Exemple : maxHealth, health, size, posY sont des variables respectant la convetion.
    MAXHEALTH, maxhealth, MaxHealth ne la respectent pas.

    Les méthodes :

    Les méthodes suivent la même convention que les variables ( exemple : this.setSize() etc... )

    • Fin du Hors-Sujet -


  • Pour le set light value je lavais oublié celui la
    j'ai mis a jour mon fichier de configuration et j'ai mis une id differente pour chaque bloc
    et pour le bloc de terre c'est normal je me suis trompé de fichier

    
    package lunarblocks;
    
    import static net.minecraftforge.common.ForgeDirection.UP;
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockDirt;
    import net.minecraft.block.BlockFlower;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.world.World;
    import net.minecraftforge.common.EnumPlantType;
    import net.minecraftforge.common.ForgeDirection;
    import net.minecraftforge.common.IPlantable;
    import static net.minecraftforge.common.ForgeDirection.DOWN;
    import static net.minecraftforge.common.ForgeDirection.UP;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    
    import net.minecraft.block.material.Material;
    import net.minecraft.client.particle.EffectRenderer;
    import net.minecraft.client.renderer.texture.IconRegister;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.enchantment.EnchantmentHelper;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.EnumCreatureType;
    import net.minecraft.entity.boss.EntityDragon;
    import net.minecraft.entity.boss.EntityWither;
    import net.minecraft.entity.item.EntityItem;
    import net.minecraft.entity.item.EntityXPOrb;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemAnvilBlock;
    import net.minecraft.item.ItemBlock;
    import net.minecraft.item.ItemCloth;
    import net.minecraft.item.ItemColored;
    import net.minecraft.item.ItemLeaves;
    import net.minecraft.item.ItemLilyPad;
    import net.minecraft.item.ItemMultiTextureTile;
    import net.minecraft.item.ItemPiston;
    import net.minecraft.item.ItemSlab;
    import net.minecraft.item.ItemSnow;
    import net.minecraft.item.ItemStack;
    import net.minecraft.stats.StatList;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.tileentity.TileEntitySign;
    import net.minecraft.util.AxisAlignedBB;
    import net.minecraft.util.ChunkCoordinates;
    import net.minecraft.util.Icon;
    import net.minecraft.util.MovingObjectPosition;
    import net.minecraft.util.StatCollector;
    import net.minecraft.util.Vec3;
    import net.minecraft.world.Explosion;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;
    import net.minecraft.world.WorldProviderEnd;
    import net.minecraftforge.common.EnumPlantType;
    import net.minecraftforge.common.ForgeDirection;
    import net.minecraftforge.common.ForgeHooks;
    import net.minecraftforge.common.IPlantable;
    import net.minecraftforge.common.RotationHelper;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    public class BlockDirty extends BlockDirt {
    
    public BlockDirty(int id) {
    super(id);
    this.setCreativeTab(CreativeTabs.tabBlock);
    
    }
    
    }
    
    

    Minecraft 1.6.2
    forge 845

    Merci Gugu je mets tout sa a la norme 🙂


  • Moddeurs confirmés Rédacteurs Modérateurs Administrateurs

    Pense à faire CTRL + SHIFT + O, pour mettre à jour tes importations.



  • ok merci



  • Oh, et pour la mise en forme : CTRL+SHIFT+F mets une mise en forme bien jolie tout propre.



  • Ok Super
    sinon pour les nom des blocs quelqu'un a la solution ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Change le setUnlocalizedName("")
    Ne mets pas d'espace, ni d'apostrophe.



  • Merci ! 🙂


Log in to reply