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);
}
}