Posted August 4, 201411 yr Hey so I am now working on a mod that adds some new blocks to minecraft, and I figured out how to make normal blocks and slabs but I cant get stairs working. It seems that to add stairs it is a little different than adding other blocks and I need some help with it.
August 5, 201411 yr or if you'd like to write your own class for it, its basically a map of multiple collision boxes that provide the "step up" for the player.
August 5, 201411 yr Author No. You see the way I have been adding my other blocks is first in my classicBlocks.java I add Public static Block blockname so for the stairs I do Public static Block blockClassicStairs then I go under the preInit event and add blockClassicBrickStairs = new ClassicBrickStairs(Material.rock).setBlockName("classicBrickStairs") and then I register the block GameRegistry.registerBlock(blockClassicBrickStairs, "classicBrickStairs"). Then I must make the ClassicBrickStaris.java and it wants me to make it like this. package net.classicBlocks.mod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; public class ClassicBrickStairs extends BlockStairs { public ClassicBrickStairs(Block p_i45428_1_, int p_i45428_2_) { super(p_i45428_1_, p_i45428_2_); this.setHardness(2.0F); this.setResistance(10.0F); this.setStepSound(soundTypePiston); this.setCreativeTab(CreativeTabs.tabBlock); } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister){ this.blockIcon = iconRegister.registerIcon(classicBlock.modid + ":" + this.getUnlocalizedName().substring(5)); } } However then in the classicBlocks.java it gives me an error with blockClassicBrickStairs = new ClassicBrickStairs(Material.rock).setBlockName("classicBrickStairs"). The error is with ClassicBrickStairs(Material.rock) and I don't know how to fix it. I have tried to add Material material to public ClassicBrickStairs(Block p_i45428_1_, int p_i45428_2_) but that does nothing because I also have to add material to super(p_i45428_1_, p_i45428_2_) which it will not let me do. And none of the quick fixes will help me.
August 6, 201411 yr All I can tell you is the same thing I did with my custom door! N steps! 1: copy the whole BlockStairClass. 2: deobfuscate it as much as you can if it's not already deobfuscated 3: do one and 2 for all classes it needs to function properly ( for me it was ItemDoor) 4: repeat 1 and 2 for those classes (if any) 5: remove unnecessary things 6: profit???
August 6, 201411 yr The solution to your problem is so incredibly simple. It's seriously part of basic Java knowledge. ClassicBrickStairs does not have a constructor that takes a Material. It takes a Block and an int. The Block it takes in is the "material" it is made of, so if I wanted to make grass stairs I would put a grass block in there.
August 6, 201411 yr Author Thank you I am new to all this, and the videos I am using to help me did not show how to add stairs. One more thing though. How do I fix the lighting bug. I found on someone else's topic to add this in my stairs class this.useNeighborBrightness[id] = true; but it is telling me The type of expression must be an array type but it resolved to a boolean.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.