Jump to content

Recommended Posts

Posted

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.

Posted

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.

Posted

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???

Posted

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.

Posted

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.