# Path: p2/scripts3/mcpi/vec3.py
# class Vec3:
#     def __init__(self, x=0, y=0, z=0):
#         if isinstance(x, collections.Iterable):
#             self.x, self.y, self.z = tuple(x)
#         else:
#             self.x = x
#             self.y = y
#             self.z = z
# 
#     def __add__(self, rhs):
#         c = self.clone()
#         c += rhs
#         return c
# 
#     def __iadd__(self, rhs):
#         self.x += rhs.x
#         self.y += rhs.y
#         self.z += rhs.z
#         return self
# 
#     def length(self):
#         return self.lengthSqr ** .5
# 
#     def lengthSqr(self):
#         return self.x * self.x + self.y * self.y  + self.z * self.z
# 
#     def __mul__(self, k):
#         c = self.clone()
#         c *= k
#         return c
# 
#     def __imul__(self, k):
#         self.x *= k
#         self.y *= k
#         self.z *= k
#         return self
# 
#     def clone(self):
#         return Vec3(self.x, self.y, self.z)
# 
#     def __neg__(self):
#         return Vec3(-self.x, -self.y, -self.z)
# 
#     def __sub__(self, rhs):
#         return self.__add__(-rhs)
# 
#     def __isub__(self, rhs):
#         return self.__iadd__(-rhs)
# 
#     def __repr__(self):
#         return "Vec3(%s,%s,%s)"%(self.x,self.y,self.z)
# 
#     def __iter__(self):
#         return iter((self.x, self.y, self.z))
# 
#     def _map(self, func):
#         self.x = func(self.x)
#         self.y = func(self.y)
#         self.z = func(self.z)
# 
#     def __cmp__(self, rhs):
#         dx = self.x - rhs.x
#         if dx != 0: return dx
#         dy = self.y - rhs.y
#         if dy != 0: return dy
#         dz = self.z - rhs.z
#         if dz != 0: return dz
#         return 0
# 
#     def iround(self): self._map(lambda v:int(v+0.5))
#     def ifloor(self): self._map(int)
# 
#     def rotateLeft(self):  self.x, self.z = self.z, -self.x
#     def rotateRight(self): self.x, self.z = -self.z, self.x


from .vec3 import Vec3

from __future__ import absolute_import

class BlockEvent:
    """An Event related to blocks (e.g. placed, removed, hit)"""
    HIT = 0

    def __init__(self, type, x, y, z, face, entityId):
        self.type = type

# Path: p2/scripts3/mcpi/vec3.py
# class Vec3:
#     def __init__(self, x=0, y=0, z=0):
#         if isinstance(x, collections.Iterable):
#             self.x, self.y, self.z = tuple(x)
#         else:
#             self.x = x
#             self.y = y
#             self.z = z
# 
#     def __add__(self, rhs):
#         c = self.clone()
#         c += rhs
#         return c
# 
#     def __iadd__(self, rhs):
#         self.x += rhs.x
#         self.y += rhs.y
#         self.z += rhs.z
#         return self
# 
#     def length(self):
#         return self.lengthSqr ** .5
# 
#     def lengthSqr(self):
#         return self.x * self.x + self.y * self.y  + self.z * self.z
# 
#     def __mul__(self, k):
#         c = self.clone()
#         c *= k
#         return c
# 
#     def __imul__(self, k):
#         self.x *= k
#         self.y *= k
#         self.z *= k
#         return self
# 
#     def clone(self):
#         return Vec3(self.x, self.y, self.z)
# 
#     def __neg__(self):
#         return Vec3(-self.x, -self.y, -self.z)
# 
#     def __sub__(self, rhs):
#         return self.__add__(-rhs)
# 
#     def __isub__(self, rhs):
#         return self.__iadd__(-rhs)
# 
#     def __repr__(self):
#         return "Vec3(%s,%s,%s)"%(self.x,self.y,self.z)
# 
#     def __iter__(self):
#         return iter((self.x, self.y, self.z))
# 
#     def _map(self, func):
#         self.x = func(self.x)
#         self.y = func(self.y)
#         self.z = func(self.z)
# 
#     def __cmp__(self, rhs):
#         dx = self.x - rhs.x
#         if dx != 0: return dx
#         dy = self.y - rhs.y
#         if dy != 0: return dy
#         dz = self.z - rhs.z
#         if dz != 0: return dz
#         return 0
# 
#     def iround(self): self._map(lambda v:int(v+0.5))
#     def ifloor(self): self._map(int)
# 
#     def rotateLeft(self):  self.x, self.z = self.z, -self.x
#     def rotateRight(self): self.x, self.z = -self.z, self.x


# Path: p2/scripts3/mcpi/event.py
from .vec3 import Vec3

from __future__ import absolute_import

class BlockEvent:
    """An Event related to blocks (e.g. placed, removed, hit)"""
    HIT = 0

    def __init__(self, type, x, y, z, face, entityId):
        self.type = type

        self.pos = Vec3(x, y, z)
