from commands import add, name

@name('blocks')
def toggle_infi_blocks(connection):
    protocol = connection.protocol
    if connection in protocol.players:
        connection.infi_blocks = not connection.infi_blocks
        return "You are {} infinite blocks mode.".format(["out of", "now in"][int(connection.infi_blocks)])

add(toggle_infi_blocks)

def apply_script(protocol, connection, config):

    class blockConnection(connection):
        infi_blocks = False
        
        def on_block_build(self, x, y, z):
            if self.infi_blocks:
                self.refill()
            return connection.on_block_build(self, x, y, z)

        def on_line_build(self, points):
            if self.infi_blocks:
                self.refill()
            return connection.on_line_build(self, points)

    return protocol, blockConnection
            
