class PickupAction(Loader): def read(self, reader): self.entity_id = reader.read_uint64() # player who picked up self.item_data = ItemData() self.item_data.read(reader) def write(self, writer): writer.write_uint64(self.entity_id) self.item_data.write(writer)
class PickupAction(Loader): def read(self, reader): self.entity_id = reader.read_uint64() self.item = ItemData() self.item.read(reader) def write(self, writer): writer.write_uint64(self.entity_id) self.item.write(writer)
class InteractPacket(Packet): def read(self, reader): self.item_data = ItemData() self.item_data.read(reader) self.chunk_x = reader.read_int32() self.chunk_y = reader.read_int32() # index of item in ChunkItems self.item_index = reader.read_int32() self.something4 = reader.read_uint32() self.interact_type = reader.read_uint8() self.something6 = reader.read_uint8() self.something7 = reader.read_uint16() def write(self, writer): self.item_data.write(writer) writer.write_int32(self.chunk_x) writer.write_int32(self.chunk_y) writer.write_int32(self.item_index) writer.write_uint32(self.something4) writer.write_uint8(self.interact_type) writer.write_uint8(self.something6) writer.write_uint16(self.something7)
class ChunkItemData(Loader): def read(self, reader): self.item_data = ItemData() self.item_data.read(reader) self.pos = reader.read_qvec3() self.rotation = reader.read_float() # angle something self.scale = reader.read_float() self.something3 = reader.read_uint8() reader.skip(3) self.drop_time = reader.read_uint32() # drop time self.something5 = reader.read_uint32() # 320 self.something6 = reader.read_int32() # 324 def write(self, writer): self.item_data.write(writer) writer.write_qvec3(self.pos) writer.write_float(self.rotation) writer.write_float(self.scale) writer.write_uint8(self.something3) writer.pad(3) writer.write_uint32(self.drop_time) writer.write_uint32(self.something5) writer.write_int32(self.something6)
class InteractPacket(Packet): def read(self, reader): self.equipment = ItemData() self.equipment.read(reader) self.chunk_x = reader.read_int32() self.chunk_y = reader.read_int32() self.something3 = reader.read_int32() # self.something4 = reader.read_uint32() self.interact_type = reader.read_uint8() self.something6 = reader.read_uint8() self.something7 = reader.read_uint16() # print vars(self) def write(self, writer): self.equipment.write(writer) writer.write_int32(self.chunk_x) writer.write_int32(self.chunk_y) writer.write_int32(self.something3) writer.write_uint32(self.something4) writer.write_uint8(self.interact_type) writer.write_uint8(self.something6) writer.write_uint16(self.something7)
class EntitySubAction(Loader): def read(self, reader): self.item_data = ItemData() self.item_data.read(reader) self.vec = reader.read_qvec3() self.something = reader.read_float() # angle something self.something2 = reader.read_float() self.something3 = reader.read_uint8() reader.skip(3) self.something4 = reader.read_uint32() # 316 self.something5 = reader.read_uint32() # 320 self.something6 = reader.read_int32() # 324 # print vars(self) def write(self, writer): self.item_data.write(writer) writer.write_qvec3(self.vec) writer.write_float(self.something) writer.write_float(self.something2) writer.write_uint8(self.something3) writer.pad(3) writer.write_uint32(self.something4) writer.write_uint32(self.something5) writer.write_int32(self.something6)