QuantumLeaf7895 Posted December 30, 2012 Posted December 30, 2012 Hi all, I've been having trouble getting block updates to work properly in two separate places. Firstly, I have a class that uses tile entity data to determine what sprites should go where: @Override @SideOnly(Side.CLIENT) public int getBlockTexture(IBlockAccess access, int x, int y, int z, int side) { if (!(access.getBlockTileEntity(x, y, z) instanceof TileEntityLavaPlate)) { return 0; } TileEntityLavaPlate te = (TileEntityLavaPlate)access.getBlockTileEntity(x, y, z); return (te.getPositionInMacro() != -2) ? 117 : 102; } Else where in the class, I have the following bit of code inside an onBlockAdded method: tileEntity = (TileEntity3x1x3Try2)world.getBlockTileEntity(x, y, z); tileEntity.setPositionInMacro(0); world.markBlockForUpdate(x, y, z); System.out.println("Made Macro Block"); The markBlockForUpdate's javadoc states that the method will re-send tile entity data from server to client, but I can never get the block's texture to change, even when I do get console output when the block is added. Possibly relatedly, I've been working on an item that, when right-clicked, places water source blocks in the world. The only problem is, while I can place a water source block, the placed block is 'still,' and won't spread. How can I make the block update itself? world.setBlockAndMetadataWithNotify(x, y, z, Block.waterStill.blockID, 0); world.scheduleBlockUpdate(x, y, z, Block.waterStill.blockID, 2); Quote
Recommended Posts
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.