public static void sendBlockPacket(IBlockSync block, EntityPlayer player, int id) { if (block instanceof TileEntity) { DataWriter dw = getWriter(PacketId.BLOCK_SYNC); TileEntity te = (TileEntity) block; boolean onServer = !te.getWorldObj().isRemote; dw.writeData(te.xCoord, DataBitHelper.WORLD_COORDINATE); dw.writeData(te.yCoord, DataBitHelper.WORLD_COORDINATE); dw.writeData(te.zCoord, DataBitHelper.WORLD_COORDINATE); dw.writeData(id, block.infoBitLength()); block.writeData(dw, player, onServer, id); if (!onServer) { dw.sendToServer(); } else if (player != null) { dw.sendToPlayer((EntityPlayerMP) player); } else { dw.sendToAllPlayersAround(te, BLOCK_UPDATE_RANGE); } dw.close(); } }
public static void sendToServer(DataWriter dw) { if (!Quest.isEditing || QuestingData.isSinglePlayer()) { dw.sendToServer(); } dw.close(); }