#Map_roof by Kuma

from pyspades.server import position_data

def apply_script(protocol, connection, config):

  class roofConnection(connection):
    def on_position_update(self):
      protocol = self.protocol
      obj = self.world_object
      position = obj.position
      x, y, z = position.x, position.y, position.z
      if z <= protocol.ROOF:
        obj.set_position(x, y, protocol.ROOF)
        position_data.x = x
        position_data.y = y
        position_data.z = protocol.ROOF
        self.send_contained(position_data)
        return connection.on_position_update(self)

  class roofProtocol(protocol):
    ROOF = config.get('map_roof', -4.0) #I recommed less than -4.0

  return roofProtocol, roofConnection
