public mod_CobbleFence() { ModLoader.RegisterBlock(cobbleFence); ModLoader.AddName(cobbleFence, "Cobblestone Wall"); ModLoader.RegisterBlock(mossyCobbleFence); ModLoader.AddName(mossyCobbleFence, "Mossy Cobblestone Wall"); ModLoader.RegisterBlock(smoothStoneFence); ModLoader.AddName(smoothStoneFence, "Smoothstone Wall"); ModLoader.RegisterBlock(brickFence); ModLoader.AddName(brickFence, "Brick Wall"); ModLoader.RegisterBlock(stoneFence); ModLoader.AddName(stoneFence, "Stone Wall"); ModLoader.RegisterBlock(sandStoneFence); ModLoader.AddName(sandStoneFence, "Sandstone Wall"); // Set up custom render ID int temp = ModLoader.getUniqueBlockModelID(this, true); ((BlockCobbleFence) cobbleFence).setRenderType(temp); ModLoader.RenderBlockIsItemFull3D(COBBLESTONE_FENCE_ID); ((BlockCobbleFence) mossyCobbleFence).setRenderType(temp); ModLoader.RenderBlockIsItemFull3D(MOSSYCOBBLESTONE_FENCE_ID); ((BlockCobbleFence) smoothStoneFence).setRenderType(temp); ModLoader.RenderBlockIsItemFull3D(SMOOTHSTONE_FENCE_ID); ((BlockCobbleFence) brickFence).setRenderType(temp); ModLoader.RenderBlockIsItemFull3D(BRICK_FENCE_ID); ((BlockCobbleFence) stoneFence).setRenderType(temp); ModLoader.RenderBlockIsItemFull3D(STONE_FENCE_ID); ((BlockCobbleFence) sandStoneFence).setRenderType(temp); ModLoader.RenderBlockIsItemFull3D(SANDSTONE_FENCE_ID); // Setting up recipes ModLoader.AddRecipe( new ItemStack(cobbleFence, 6), new Object[] {"###", "###", Character.valueOf('#'), Block.cobblestone}); ModLoader.AddRecipe( new ItemStack(mossyCobbleFence, 6), new Object[] {"###", "###", Character.valueOf('#'), Block.cobblestoneMossy}); ModLoader.AddRecipe( new ItemStack(smoothStoneFence, 6), new Object[] {"###", "###", Character.valueOf('#'), Block.stone}); ModLoader.AddRecipe( new ItemStack(brickFence, 6), new Object[] {"###", "###", Character.valueOf('#'), Block.brick}); ModLoader.AddRecipe( new ItemStack(stoneFence, 6), new Object[] {"###", "###", Character.valueOf('#'), Block.stoneBrick}); ModLoader.AddRecipe( new ItemStack(sandStoneFence, 6), new Object[] {"###", "###", Character.valueOf('#'), Block.sandStone}); }
// Renders the look of the wall in the world public boolean RenderWorldBlock( RenderBlocks renderblocks, IBlockAccess iblockaccess, int i, int j, int k, Block block, int l) { BlockCobbleFence blockCobbleFence = (BlockCobbleFence) block; boolean flag = false; // Wall Constants float wallOffset = 0.3F; float wallWidth = 0.7F; float wallBottom = 0.0F; float wallHeight = 0.8F; float postOffset = 0.2F; // 0.375F; float postWidth = 0.8F; // 0.625F; float postHeight = 1.0F; // NSWE Flags for rendering additional fence pieces boolean west = blockCobbleFence.isWallOrGateAt(iblockaccess, i - 1, j, k); boolean east = blockCobbleFence.isWallOrGateAt(iblockaccess, i + 1, j, k); boolean south = blockCobbleFence.isWallOrGateAt(iblockaccess, i, j, k - 1); boolean north = blockCobbleFence.isWallOrGateAt(iblockaccess, i, j, k + 1); /* Couldn't make this look pretty :( //Render Interaction with wooden objects boolean otherWest = blockCobbleFence.isWoodenFenceAt(iblockaccess, i - 1, j, k); boolean otherEast = blockCobbleFence.isWoodenFenceAt(iblockaccess, i + 1, j, k); boolean otherSouth = blockCobbleFence.isWoodenFenceAt(iblockaccess, i, j, k - 1); boolean otherNorth = blockCobbleFence.isWoodenFenceAt(iblockaccess, i, j, k + 1); */ if (north && south && !(east || west)) { // Render full length wall North/South blockCobbleFence.setBlockBounds(wallOffset, wallBottom, 0.0F, wallWidth, wallHeight, 1.0F); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); } else if (east && west && !(north || south)) { // Render Full length wall East/west blockCobbleFence.setBlockBounds(0.0F, wallBottom, wallOffset, 1.0F, wallHeight, wallWidth); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); } else { // Render Center Post blockCobbleFence.setBlockBounds( postOffset, 0.0F, postOffset, postWidth, postHeight, postWidth); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); // render West if (west) { blockCobbleFence.setBlockBounds( 0.0F, wallBottom, wallOffset, wallWidth, wallHeight, wallWidth); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); } // Render East if (east) { blockCobbleFence.setBlockBounds( wallOffset, wallBottom, wallOffset, 1.0F, wallHeight, wallWidth); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); } // Render North if (north) { blockCobbleFence.setBlockBounds( wallOffset, wallBottom, wallOffset, wallWidth, wallHeight, 1.0F); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); } // Render South if (south) { blockCobbleFence.setBlockBounds( wallOffset, wallBottom, 0.0F, wallWidth, wallHeight, wallWidth); renderblocks.renderStandardBlock(blockCobbleFence, i, j, k); } } blockCobbleFence.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); return true; }