# Path: twistedbot/utils.py
# def do_now(fn, *args, **kwargs):
# def do_later(delay, fn, *args, **kwargs):
# def reactor_break():
# def meta2str(meta):
# def grid_shift(v):
# def yaw_pitch_between(p1, p2):
# def vector_to_yaw_pitch(x, y, z):
# def yaw_pitch_to_vector(yaw, pitch):
# def grid_sections_around(center, distance):
#     def __init__(self, name=None):
#     def __len__(self):
#     def __repr__(self):
#     def iter(self, forward_direction=True):
#     def is_empty(self):
#     def first_sign(self):
#     def get_by_order(self, o_val):
#     def add(self, order, obj):
#     def remove(self, obj):
#     def __init__(self, x, y, z):
#     def from_tuple(cls, tpl):
#     def __hash__(self):
#     def __eq__(self, o):
#     def __ne__(self, o):
#     def __add__(self, v):
#     def __sub__(self, v):
#     def __mul__(self, m):
#     def __div__(self, d):
#     def __repr__(self):
#     def tuple(self):
#     def size(self):
#     def manhatan_size(self):
#     def normalize(self):
#     def size_pow(self):
#     def horizontal_size(self):
#     def offset(self, dx=0, dy=0, dz=0):
#     def copy(self):
#     def turn_direction(self, turn):
#     def grid_shift(self):
#     def distance(self, v):
#     def __init__(self, x, z):
#     def __repr__(self):
#     def __sub__(self, v):
#     def size(self):
#     def normalize(self):
# class OrderedLinkedList(object):
# class Vector(object):
# class Vector2D(object):
# 
# Path: twistedbot/plugins/base.py
# class PluginEventHandlerBase(PluginBase):
#     pass


import twistedbot.logbot
from twistedbot import utils
from twistedbot.plugins.base import PluginEventHandlerBase




log = twistedbot.logbot.getlogger("GENERAL EVENT")


class GeneralEvents(PluginEventHandlerBase):

    def on_death(self):
        log.msg("I am dead")
        self.world.bot.i_am_dead = True

# Path: twistedbot/utils.py
# def do_now(fn, *args, **kwargs):
# def do_later(delay, fn, *args, **kwargs):
# def reactor_break():
# def meta2str(meta):
# def grid_shift(v):
# def yaw_pitch_between(p1, p2):
# def vector_to_yaw_pitch(x, y, z):
# def yaw_pitch_to_vector(yaw, pitch):
# def grid_sections_around(center, distance):
#     def __init__(self, name=None):
#     def __len__(self):
#     def __repr__(self):
#     def iter(self, forward_direction=True):
#     def is_empty(self):
#     def first_sign(self):
#     def get_by_order(self, o_val):
#     def add(self, order, obj):
#     def remove(self, obj):
#     def __init__(self, x, y, z):
#     def from_tuple(cls, tpl):
#     def __hash__(self):
#     def __eq__(self, o):
#     def __ne__(self, o):
#     def __add__(self, v):
#     def __sub__(self, v):
#     def __mul__(self, m):
#     def __div__(self, d):
#     def __repr__(self):
#     def tuple(self):
#     def size(self):
#     def manhatan_size(self):
#     def normalize(self):
#     def size_pow(self):
#     def horizontal_size(self):
#     def offset(self, dx=0, dy=0, dz=0):
#     def copy(self):
#     def turn_direction(self, turn):
#     def grid_shift(self):
#     def distance(self, v):
#     def __init__(self, x, z):
#     def __repr__(self):
#     def __sub__(self, v):
#     def size(self):
#     def normalize(self):
# class OrderedLinkedList(object):
# class Vector(object):
# class Vector2D(object):
# 
# Path: twistedbot/plugins/base.py
# class PluginEventHandlerBase(PluginBase):
#     pass


# Path: twistedbot/plugins/core/general_events.py
import twistedbot.logbot
from twistedbot import utils
from twistedbot.plugins.base import PluginEventHandlerBase





log = twistedbot.logbot.getlogger("GENERAL EVENT")


class GeneralEvents(PluginEventHandlerBase):

    def on_death(self):
        log.msg("I am dead")
        self.world.bot.i_am_dead = True

        utils.do_later(2.0, self.world.bot.do_respawn)