Posted March 2, 201312 yr Hello everyone, I am quiet new to forge modding and I am stuck at a piece of code I am coding. How to assign multiple tile entities to a block with metadata. It is possible to use createTileEntity(World world, int metadata) but I can't use it without abstract method createTileEntity(World world). I am stuck at this and need some help. Block File: package ltx.Steves.Blocks; import ltx.Steves.Tile.TileMachineCrafter; import ltx.Steves.Utility.CreativeTabSteveMachine; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; /** * Created with IntelliJ IDEA. * User: ltxmc * Date: 3/2/13 * Time: 12:29 AM * To change this template use File | Settings | File Templates. */ public class blockMachineCrafter extends ltxBlock{ blockMachineCrafter(int id,int meta,Material material){ super(id, meta, material); setCreativeTab(CreativeTabSteveMachine.tabSteveMachine); } @Override public TileEntity createNewTileEntity(World world){ return new TileMachineCrafter(); } @Override public TileEntity createNewTileEntity(World world, int metadata){ return new TIleMachineCrafter(); } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileMachineCrafter(); } public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { if(player.isSneaking()){ return false; } if(!world.isRemote){ TileMachineCrafter tilemachinecrafter = (TileMachineCrafter) world.getBlockTileEntity(x, y, z); } return true; } } Blockltx: package ltx.Steves.Blocks; import ltx.Steves.Utility.CreativeTabSteveMachine; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; /** * Created with IntelliJ IDEA. * User: ltxmc * Date: 3/2/13 * Time: 12:08 AM * To change this template use File | Settings | File Templates. */ public abstract class ltxBlock extends BlockContainer{ public EntityPlayer Owner; ltxBlock(int id,int me, Material material){ super(id, me,material); setCreativeTab(CreativeTabSteveMachine.tabSteveMachine); } public void onPlaceBy(World world, int x, int y, int z, EntityLiving entityLiving){ if(entityLiving instanceof EntityPlayer){ Owner = (EntityPlayer) entityLiving; }else{ System.out.println("Block placed by unknown or bug!"); } int direction = 0; int facing = MathHelper.floor_double((double) (entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; switch(facing){ case 0: direction = ForgeDirection.NORTH.ordinal(); case 1: direction = ForgeDirection.EAST.ordinal(); case 2: direction = ForgeDirection.SOUTH.ordinal(); case 3: direction = ForgeDirection.WEST.ordinal(); } world.setBlockMetadataWithNotify(x, y, z, direction); } }
March 2, 201312 yr Author So shall I expand Block instead of BlockContainer? Does it make affect if I want GUI and Inventory in the block?
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.