mirror of
https://github.com/ammaraskar/pyCraft.git
synced 2025-02-02 21:11:39 +01:00
use namedtuple for position type and use it as subclass for ClientExplosion.Record
This commit is contained in:
parent
8552c6efe5
commit
4a508f935b
@ -172,20 +172,8 @@ class ExplosionPacket(Packet):
|
||||
|
||||
packet_name = 'explosion'
|
||||
|
||||
class Record(object):
|
||||
__slots__ = 'x', 'y', 'z'
|
||||
|
||||
def __init__(self, x, y, z):
|
||||
self.x = x
|
||||
self.y = y
|
||||
self.z = z
|
||||
|
||||
def __repr__(self):
|
||||
return ('Record(x=%s, y=%s, z=%s)'
|
||||
% (self.x, self.y, self.z))
|
||||
|
||||
def __str__(self):
|
||||
return self.__repr__()
|
||||
class Record(Position):
|
||||
pass
|
||||
|
||||
def read(self, file_object):
|
||||
self.x = Float.read(file_object)
|
||||
|
@ -4,6 +4,7 @@ These definitions and methods are used by the packet definitions
|
||||
"""
|
||||
import struct
|
||||
import uuid
|
||||
from collections import namedtuple
|
||||
|
||||
|
||||
class Type(object):
|
||||
@ -225,7 +226,9 @@ class UUID(Type):
|
||||
socket.send(uuid.UUID(value).bytes)
|
||||
|
||||
|
||||
class Position(Type):
|
||||
class Position(Type, namedtuple('Position', ('x', 'y', 'z'))):
|
||||
__slots__ = ()
|
||||
|
||||
@staticmethod
|
||||
def read(file_object):
|
||||
location = UnsignedLong.read(file_object)
|
||||
@ -242,7 +245,7 @@ class Position(Type):
|
||||
if z >= pow(2, 25):
|
||||
z -= pow(2, 26)
|
||||
|
||||
return {'x': x, 'y': y, 'z': z}
|
||||
return Position(x=x, y=y, z=z)
|
||||
|
||||
@staticmethod
|
||||
def send(x, y, z, socket):
|
||||
|
Loading…
Reference in New Issue
Block a user