candlemaster Posted March 17, 2013 Share Posted March 17, 2013 So, I managed to create a half slab that works nicely, but when I try to put another one on top of it, it doesn't create a double slab; instead it creates a new slab above it. It inherits from BlockHalfSlab, and I used that class as well as BlockWoodSlab as examples, but I can't seem to figure this out. Here's what I have so far: public class SlabHay extends BlockHalfSlab { protected static Icon iconSide; public SlabHay(int id, boolean doubleslab) { super(id, doubleslab, Material.wood); setHardness(1.5f); setResistance(4.0f); setStepSound(Block.soundGrassFootstep); setUnlocalizedName("haySlab"); useNeighborBrightness[id] = true; } public int idDropped(int par1, Random par2Random, int par3) { return HayMod.haySlab.blockID; } public String getFullSlabName(int i) { if (!isDoubleSlab) return super.getUnlocalizedName() + "haySlab"; else return super.getUnlocalizedName() + "hayDoubleSlab"; } @Override public void func_94332_a(IconRegister par1IconRegister) { iconSide = par1IconRegister.func_94245_a("hvh:hay_side"); field_94336_cN = par1IconRegister.func_94245_a("hvh:hay_top"); } @SideOnly(Side.CLIENT) public Icon getBlockTextureFromSideAndMetadata(int par1, int par2) { if (par1 == 0 || par1 == 1) return field_94336_cN; else return iconSide; } } Is there a method that I missed? Am I supposed to register it with something? Quote Link to comment Share on other sites More sharing options...
newboyhun Posted March 17, 2013 Share Posted March 17, 2013 It's because of the slab is an itemblock,you need a custom itemblock for it,but a more simple thing is to put a line in the FMLPostInitializationEvent : Item.itemsList[YourSingleSlab.blockID] = (new ItemSlab(YourSingleSlab.blockID - 256, (BlockHalfSlab)YourSingleSlab, (BlockHalfSlab)YourDoubleSlab, false)).setItemName("YourSlabName"); Quote Link to comment Share on other sites More sharing options...
candlemaster Posted March 17, 2013 Author Share Posted March 17, 2013 It works great (I had to use setUnlocalizedName() instead of setItemName()), but now I have working double slabs. Problem is, now my double slab has a name, but my single slabs have a blank tooltip. Here's some bits of code that might be relevant: public static BlockHalfSlab haySlab = (BlockHalfSlab) new SlabHay(505, false) .setUnlocalizedName("haySlab") .setCreativeTab(CreativeTabs.tabBlock); public static BlockHalfSlab hayDoubleSlab = (BlockHalfSlab) new SlabHay(506, true) .setUnlocalizedName("hayDoubleSlab"); @Init public void load(FMLInitializationEvent event) { proxy.registerRenderers(); //// Register the block, it's name, and it's harvest level // Hay Double Slab GameRegistry.registerBlock(hayDoubleSlab, "hayDoubleSlab"); LanguageRegistry.addName(hayDoubleSlab, "Hay Double Slab"); MinecraftForge.setBlockHarvestLevel(hayDoubleSlab, "hatchet", 0); // Hay Slab GameRegistry.registerBlock(haySlab, "haySlab"); LanguageRegistry.addName(haySlab, "Hay Slab"); MinecraftForge.setBlockHarvestLevel(haySlab, "hatchet", 0); //// Register the recipes // Hay Slab GameRegistry.addRecipe(new ItemStack(haySlab, 6), "xxx", 'x', new ItemStack(hayBlock)); } @PostInit public void postInit(FMLPostInitializationEvent event) { Item.itemsList[haySlab.blockID] = new ItemSlab(haySlab.blockID - 256, (BlockHalfSlab)haySlab, (BlockHalfSlab)hayDoubleSlab, false) .setUnlocalizedName("haySlab"); } Any idea why my single slab has no name? I tried using LanguageRegistry.addName(Item.itemsList[haySlab.blockID], "Hay Slab"); to no avail. Quote Link to comment Share on other sites More sharing options...
newboyhun Posted March 17, 2013 Share Posted March 17, 2013 For registering name,i have used: LanguageRegistry.instance().addStringLocalization(((BlockStoneSlabs)YourSingleSlab).getFullSlabName(0)+".name", "Your Slab"); Quote Link to comment Share on other sites More sharing options...
candlemaster Posted March 17, 2013 Author Share Posted March 17, 2013 It works! Thank you thank you sooo much! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.