EDIT: Nvm, worldObj.notifyBlockChange(etc) seems to work just fine.
Hey all, I've been trying to implement custom comparator support on a tile entity, but don't seem to be having any luck, and haven't found any tutorials on it.
I've got the following code in the Block class:
@Override
public boolean hasComparatorInputOverride() {
return true;
}
@Override
public int getComparatorInputOverride(World world, int x, int y, int z, int side) {
TileEntity ent = world.getTileEntity(x, y, z);
if(ent instanceof TEntityFirebox) {
TEntityFirebox tFB = (TEntityFirebox)ent;
return tFB.getComparatorOutput();
}
return 0;
}
As well as this in the TileEntity class when the comparator value I want changes:
[s]worldObj.markBlockForUpdate(xCoord-1, yCoord, zCoord);
worldObj.markBlockForUpdate(xCoord+1, yCoord, zCoord);
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord-1);
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord+1);[/s]
worldObj.notifyBlockChange(xCoord, yCoord, zCoord, ModBlocks.machineFirebox);
This all works, but only if the comparator is given an update (IE, a block placed next to it). Hence the second snippet of code, but it doesn't seem to be doing anything.
I need a way to update the comparator immediately. Any suggestions?