1.7.10 Escaliers en obsi



  • Bonjour à tous et à toutes, me voila donc pour demander des infos sur la création d'escaliers en obsidienne (ou autre)

    donc voila, on m'a dit que je ne suis pas obligé de créer une autre class mais je vois pas comment faire



  • Je t'ai dit d'aller voir dans le code de Minecraft, mais vu que tu ne l'as pas fait et que je suis gentil pour l'instant, je le fait pour toi :

    blockRegistry.addObject(53, "oak_stairs", (new BlockStairs(block1, 0)).setBlockName("stairsWood"));
    

    Si on enlève l'histoire du block registry, on obtient :

    (new BlockStairs(block1, 0)).setBlockName("stairsWood"));
    

    Tu as juste à mettre en premier paramètre ton block, et en deuxième le metadata, et à rajouter son nom.



  • et pourquoi supprimer le blockregistry ? je dois bien l'enregistrer non ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Car ça c'est la façon de l'enregistrer pour Minecraft, nous on utilise GameRegistry de fml.

    En gros tu fais juste
    monEscalier = new BlockStairs(Blocks.obsidian, 0).setBlockName("nom"));

    • le code habituel pour un bloc (le GameRegistry et la déclaration public static Block …)
      S'il te refuse BlockStairs car le constructeur est protected, créés une classe extends BlockStairs


  • j'allais exactement demander ça   il me dise que blockstairs …  is not visible.

    c'est le block le plus con a faire en réalité --'

    par contre, pouquoi la couleurs des block genre les feuilles sont grises ?



  • Tu as de la chance, j'ai fais une escalier en obsidienne ! Voici les codes 🙂

    Classe Principale :

    ​public static Block obsiStairs;
    

    Dans le PreInit :

    obsiStairs = new BlockObsiStairs(3750, Blocks.obsidian, 0).setBlockName("obsistairs");
    GameRegistry.registerBlock(obsiStairs, "obsi_stairs");
    

    Dans la classe BlockObsiStairs :

    ​package com.heartshadow.mod.blocks;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockStairs;
    import net.minecraft.creativetab.CreativeTabs;
    
    public class BlockObsiStairs extends BlockStairs 
    {
        public BlockObsiStairs(int id, Block par1Block, int metadata) 
        {
            super(par1Block, metadata);
        }    
    
        {
            this.setHardness(50.0F).setResistance(2000.0F).setStepSound(soundTypePiston);
        }
    }
    
    

    Si tu aimes pas ma façon de nommer, tu peut changer sans rien oublié !

    Voilà ton escalier est en obsidian, résistant à la TNT !

    EDIT : Après si tu veut faire un escalier sans créer une class, je peut rien pour toi 😕

    -Vhake


  • Modérateurs

    La couleur des feuilles et de l'eau sont gérées à la volée par les biomes, changer une couleur à partir d'une échelle de gris est plus simple 😉

    Sent from my GT-I9000 using Tapatalk 2



  • jglrxavpok -> fail ?

    EDIT : j'avais pas vu la modification du message

    vhake -> je ne sais pas d'où tu sors ce code mais il ne marche qu'en 1.6.


  • Moddeurs confirmés Rédacteurs Administrateurs

    xavpok répondait à cette question :
    @'sventus':

    par contre, pouquoi la couleurs des block genre les feuilles sont grises ?



  • classe principale :

    public static Block obsi;
    public static Item obsingot;

    obsingot = new IconMod5().setUnlocalizedName("obsingot").setTextureName(MODID + ":obsingot").setCreativeTab(CreativeTabs.tabMaterials);

    obsi = new obsistairs(Blocks.obsidian, 0).setBlockName("obsi");
    GameRegistry.registerItem(obsingot, "obsingot");
    GameRegistry.registerBlock(obsi, "obsi");

    GameRegistry.addSmelting(Blocks.obsidian, new ItemStack(obsingot, 1), 20.0f); // permet de faire fondre l'obsi dans le four.

    classe stairs :

    package fr.craftesys.items.common;

    import net.minecraft.block.Block;
    import net.minecraft.block.BlockStairs;

    public class obsistairs extends BlockStairs
    {

    protected obsistairs(Block p_i45428_1_, int p_i45428_2_)
    {
    super(p_i45428_1_, p_i45428_2_);
    // TODO Auto-generated constructor stub
    }

    }



  • N'hésite pas à mettre ton code dans les balises [java][*/java] (En enlevant le * biensur )

    Quel est ton problème sinon ? Car la tu poste juste les codes que tu a mis 🙂 ?



  • @'SCAREX':

    jglrxavpok -> fail ?

    vhake -> je ne sais pas d'où tu sors ce code mais il ne marche qu'en 1.6.

    Absolument pas, je suis en 1.7.10, ce code fonctionne très bien !

    Tu est en 1.7 ou 1.8 ? Parce que tu n'as préciser dans la balise 😕



  • je l'ai posté car je l'ai fait et il marche, au courant de ma demande d'aide j'ai réussi a le faire le sujet est donc résolu.

    merci à vous



  • Ton code a été copié d'un autre car en premier paramètre tu as mis ID or on ne précise plus les IDs en 1.7 et 1.8, le premier paramètre est donc inutile.


Log in to reply