SOLVED Problème escalier 1.7.10


  • Bonjour, j'ai suivit plusieurs tutoriels sur les escaliers, plus particulièrement celui ci : http://www.minecraftforgefrance.fr/showthread.php?tid=248&highlight=escaliers
    Mais lorsque je met (3800, Block.BlockIron, 0), le Block.blockiron est soulignée en rouge
    Comment résoudre ceci ?


  • Tu as plus les ID.


  • Comment faire?

  • Moddeurs confirmés Rédacteurs Administrateurs

    Enlève juste 3800, …


  • Un minimum de recherche quand même …


  • Quand j'enlève le 3800, l'erreur est toujours présente

    ça m'affiche : BlockIron cannot be resolved or is not a field


  • Il faut changé le constructeur :

    public nomClass(Block block, int metadata)
    

  • Toujours la même erreur,

    testStairs = new TestStairs(Block.*BlockIron*, 0).setUnlocalizedName("TestStairs");
    

    Le blockiron est souligné en rouge,

    ma class :

    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockStairs;
    import net.minecraft.creativetab.CreativeTabs;
    
    public class TestStairs extends BlockStairs
    {
    
        private int blockID;
    
        public TestStairs(Block block, int metadata)
        {
            super(block, metadata);
            this.setHardness(50.0F);
            this.setResistance(3.0F);
            this.setStepSound(block.stepSound);
            this.setLightOpacity(255);
            this.setCreativeTab(CreativeTabs.tabBlock);
    
        }
    
        public int idDropped(int par1, Random par2Random, int par3)
        {
            return this.blockID;
        }
    
        public Block setUnlocalizedName(String string)
        {
            // TODO Auto-generated method stub
            return null;
        }
    }
    
  • Moddeurs confirmés Modérateurs

    il y a un s a block non?


  • Je sais pas, faut en mettre un ?

    Je suis en 1.7.10 au cas ou

  • Moddeurs confirmés Modérateurs

    essaie avec Blocks.BlockIron

    EDIT:
    ton constructeur doit être comme ca:

    testStairs = new TestStairs(Material.iron, 0).setUnlocalizedName("TestStairs");
    

    et ton constructeur:

    protected TestStairs(Material material)
    {
        super(material);
        this.setHardness(50.0F);
        this.setResistance(3.0F);
        this.setStepSound(block.stepSound);
        this.setLightOpacity(255);
        this.setCreativeTab(CreativeTabs.tabBlock);
    }
    

  • ça affiche plusieurs erreur

  • Moddeurs confirmés Modérateurs

    lesquelles?
    PS: teste avec mon edit


  • C'est résolu, merci à toi isador34.

    EDIT : Par contre, il n'y a pas de nom, ça m'affiche tile.null.name
    Et il y a de l'ombre sur l'escalier, comment résoudre ceci ?

  • Moddeurs confirmés Modérateurs

    envois ta classe principale


  • testStairs = new TestStairs(Blocks.iron_block, 0).setUnlocalizedName("TestStairs");
    
    package net.metalfight.metalmod.common.blocks;
    
    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockStairs;
    import net.minecraft.creativetab.CreativeTabs;
    
    public class TestStairs extends BlockStairs
    {
    
        private int blockID;
    
        public TestStairs(Block block, int metadata)
        {
            super(block, metadata);
            this.setHardness(50.0F);
            this.setResistance(2000.0F);
            this.setStepSound(block.stepSound);
            this.setLightOpacity(0);
            this.setCreativeTab(CreativeTabs.tabBlock);
    
        }
    
        public int idDropped(int par1, Random par2Random, int par3)
        {
            return this.blockID;
        }
    
        public Block setUnlocalizedName(String string)
        {
            // TODO Auto-generated method stub
            return null;
        }
    
    }
    
  • Moddeurs confirmés Modérateurs

    ta classe PRINCIPALE pas la classe de ton bloc –'


  • package net.test.test.common;
    
    import net.test.test.common.blocks.ObsidianStairs;
    import net.test.test.proxy.CommonProxy;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.Minecraft;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.init.Blocks;
    import net.minecraft.item.Item;
    import net.minecraft.item.Item.ToolMaterial;
    import net.minecraft.item.ItemArmor.ArmorMaterial;
    import net.minecraft.item.ItemStack;
    import net.minecraftforge.common.util.EnumHelper;
    import cpw.mods.fml.common.FMLCommonHandler;
    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.eventhandler.SubscribeEvent;
    import cpw.mods.fml.common.gameevent.TickEvent;
    import cpw.mods.fml.common.gameevent.TickEvent.Phase;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @Mod(modid = Test.MODID, name = "Test", version = "1.0.0")
    public class test
    {
        public static final String MODID = "test";
        @Instance(MODID)
        public static test instance;
    
        @SidedProxy(clientSide = "net.test.test.proxy.ClientProxy", serverSide = "net.test.test.proxy.CommonProxy")
    
        public static CommonProxy proxy;
        public static Block obsidianStairs;
    
        public static OreGenerationClass ModOreWorldGen = new OreGenerationClass();
    
        @EventHandler
        public void preInit(FMLPreInitializationEvent event)
        {
    
            // Blocs
            obsidianStairs = new ObsidianStairs(Blocks.obsidian, 0).setUnlocalizedName("obsidianStairs");
            GameRegistry.registerBlock(obsidianStairs, "Obsidian_Stairs");
        }
    
        @EventHandler
        public void Init(FMLInitializationEvent event)
        {
            proxy.registerRender();
            FMLCommonHandler.instance().bus().register(instance);
        }
    
        @EventHandler
        public void postInit(FMLPostInitializationEvent event)
        {
    
        }
    }
    
  • Moddeurs confirmés Modérateurs

    pour la langue il faut le faire via les fichier de lang
    pour les ombre, ca je sais pas, un problème de rendu peut être


  • Ombre : corrigé
    Mais pour la langue, je voudrais créer plusieurs escaliers alors ça m'embête que ça soit : tile.null.name