Posted August 22, 201312 yr I'm playing around and trying to make half slabs and stairs to go with my planks. I made the stairs without any problem but the slabs are more complex. I've made the slabs placeable because for 20 minutes that wasn't possible, but I can't them on top of each other. Here's what I have so far. public static BlockHalfSlab darkwoodslab1; public static BlockHalfSlab darkwoodslab2; darkwoodslab1 = (BlockHalfSlab) new BlockMagicSlab(725, false).setUnlocalizedName("darkwoodslab1").setHardness(3.0F).setResistance(2.0F).setStepSound(Block.soundWoodFootstep); LanguageRegistry.addName(darkwoodslab1, "Dark Wood Slab"); GameRegistry.registerBlock(darkwoodslab1, "darkwoodslab1"); MinecraftForge.setBlockHarvestLevel(darkwoodslab1, "axe", 1); darkwoodslab2 = (BlockHalfSlab) new BlockMagicSlab(726, true).setUnlocalizedName("darkwoodslab2").setHardness(3.0F).setResistance(2.0F).setStepSound(Block.soundWoodFootstep); LanguageRegistry.addName(darkwoodslab2, "Dark Wood Double Slab"); GameRegistry.registerBlock(darkwoodslab2, "darkwoodslab2"); MinecraftForge.setBlockHarvestLevel(darkwoodslab2, "axe", 1); darkwoodslab2 is the double slab. Slab Class public class BlockMagicSlab extends BlockHalfSlab { @SideOnly(Side.CLIENT) private Icon theIcon; public BlockCustomSlab(int par1, boolean par2) { super(par1, par2); this.setCreativeTab(CreativeTabs.tabBlock); } @Override public Icon getIcon(int par1, int par2) { int k = par2 & 7; if (this.isDoubleSlab && (par2 & != 0) { par1 = 1; } return k == 0 ? (par1 != 1 && par1 != 0 ? this.theIcon : this.blockIcon) : (k == 1 ? MagicElementsMod.darkwoodplanks.getBlockTextureFromSide(par1) : this.blockIcon); } @Override public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("ModClass.modid:darkwoodslabtop"); this.theIcon = par1IconRegister.registerIcon("ModClass.modid:darkwoodslabside"); } @Override protected ItemStack createStackedBlock(int par1) { return new ItemStack(MagicElementsMod.darkwoodslab1.blockID, 2, par1 & 7); } @Override public int idDropped(int par1, Random par2Random, int par3) { return MagicElementsMod.darkwoodslab1.blockID; } @Override public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { if (par1 != MagicElementsMod.darkwoodslab2.blockID) { for (int j = 0; j <= 1; ++j) { if (j != 1) { par3List.add(new ItemStack(par1, 1, j)); } } } } } In the getSubBlocks Method I had to change j <= 7; because seven of the same slabs were showing up in the creative tab.
August 22, 201312 yr Yes, the main issue is you can't read code. Please, learn. @Override protected ItemStack createStackedBlock(int par1) { return new ItemStack(MagicElementsMod.darkwoodslab1.blockID, 2, par1 & 7); } Look at the ItemStack you are giving here.
August 22, 201312 yr Author didn't fix it sooo. I made that class according to the blockstep class which says exactly protected ItemStack createStackedBlock(int par1) { return new ItemStack(Block.stoneSingleSlab.blockID, 2, par1 & 7); }
August 22, 201312 yr What about this : protected ItemStack createStackedBlock(int par1) { return new ItemStack(Block.stoneSingleSlab.blockID, 2, par1 & 7); }
August 27, 201312 yr Author Well I'm still confused on how to solve the double slab problem if anyone could help me out a bit more.
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.