@Override
	public void Write(IOClient player, Server server) {
		PacketPrepareEvent event = new PacketPrepareEvent(player, this, server);
		server.getEventSystem().callEvent(event);
		if (event.isCancelled())
			return;
		try {
			boolean isop = false;
			if (player instanceof Player) {
				isop = ((Player)player).getGroup().isOP;
			}
			byte[] finals = new byte[131];
			finals[0] = ID;
			finals[1] = 0x07;
			while (server.Name.length() < 64)
				server.Name += " ";
			while (server.MOTD.length() < 64)
				server.MOTD += " ";
			byte[] name = server.Name.getBytes("US-ASCII");
			byte[] motd = server.MOTD.getBytes("US-ASCII");
			System.arraycopy(name, 0, finals, 2, name.length);
			System.arraycopy(motd, 0, finals, name.length + 2, motd.length);
			finals[130] = (isop ? (byte)100 : (byte)0);
			player.WriteData(finals);
			
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}