@Override public void onBlockPlacedBy( World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int id = -1; Block b = PainterUtil.getSourceBlock(stack); if (b != null) { id = b.blockID; } TileEntity te = world.getBlockTileEntity(x, y, z); if (te instanceof TileEntityCustomBlock) { TileEntityCustomBlock tef = (TileEntityCustomBlock) te; tef.setSourceBlockId(id); tef.setSourceBlockMetadata(PainterUtil.getSourceBlockMetadata(stack)); } world.markBlockForUpdate(x, y, z); super.onBlockPlacedBy(world, x, y, z, player, stack); }