Posted May 9, 201411 yr Hi there how can i add a block ontop of the block that is placed by user? thanks jeremy
May 9, 201411 yr Author i kinda know that but i want to place a certain block on top of the one the user places. for example i have a firepit and when the user places it down the fireblock is automaticly placed ontop of it.
May 9, 201411 yr Author but how exactly though. theres nothing in the block.fire that allows you to set the location you want to place it.
May 9, 201411 yr Author i have tried to do it. i can make it render besides it, etc. but not on top. i think it could be causes its a blockcontainer. is there a way to do it with a blockcontainer and make it last forever? package glowsblocksandlights; import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import glowsblocksandlights.TileEntityfirepitsteel; public class firepit extends BlockContainer{ public firepit(int id, Material Material) { super(id, Material); setHardness(0.5F); setStepSound(Block.soundGlassFootstep); setLightOpacity(255); setLightValue(1.0F); //setBlockBounds(0.0F,0.0F,0.0F,1.0F,1.0F,1.0F); //setBlockBounds(0.0f, 0.0f, 0.0f, 0.6875f, 0.9000f,0.6875f); } @Override public TileEntity createNewTileEntity(World world) { // TODO Auto-generated method stub return new TileEntityfirepitsteel(); } /** * Called whenever the block is added into the world. Args: world, x, y, z */ @Override public void onBlockAdded(World par1World, int par2, int par3, int par4) { super.onBlockAdded(par1World, par2, par3, par4); //par1World.setBlockToAir(par2 + 1, par3, par4); par1World.setBlock(par2, par3 + 1, par4, Block.fire.blockID); } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister IconRegister) { blockIcon = IconRegister.registerIcon(Basicinfo.ID.toLowerCase() + ":firepitsteel"); } @Override public boolean isOpaqueCube() { return false; } @Override public int getRenderType() { return -1; } @Override public boolean renderAsNormalBlock() { return false; } }
May 10, 201411 yr Author i got it to work with blockFireSpreadSpeed[this.blockID] = 0; blockFlammability[this.blockID] = 20; the issue is it destroys the item after a certain time. is there a way to make it not destroy it?
May 10, 201411 yr Author I have tried that with no luck public firepit(int id, Material Material) { super(id, Material); setHardness(0.5F); setStepSound(Block.soundGlassFootstep); setLightOpacity(255); setLightValue(1.0F); //blockFireSpreadSpeed[this.blockID] = 0; //blockFlammability[this.blockID] = 20; //setBlockBounds(0.0F,0.0F,0.0F,1.0F,1.0F,1.0F); //setBlockBounds(0.0f, 0.0f, 0.0f, 0.6875f, 0.9000f,0.6875f); } @Override public boolean isFireSource(World world, int x, int y, int z, int metadata, ForgeDirection side) { return true; } @Override public TileEntity createNewTileEntity(World world) { // TODO Auto-generated method stub return new TileEntityfirepitsteel(); } /** * Called whenever the block is added into the world. Args: world, x, y, z */ @Override public void onBlockAdded(World par1World, int par2, int par3, int par4) { super.onBlockAdded(par1World, par2, par3, par4); //par1World.setBlockToAir(par2 + 1, par3, par4); par1World.setBlock(par2, par3 + 1, par4, Block.fire.blockID); }
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.