def authenticated(self): BetaServerProtocol.authenticated(self) # Init player, and copy data into it. self.player = yield self.factory.world.load_player(self.username) self.player.eid = self.eid self.location = self.player.location # Init players' inventory window. self.inventory = InventoryWindow(self.player.inventory) # *Now* we are in our factory's list of protocols. Be aware. self.factory.protocols[self.username] = self # Announce our presence. self.factory.chat("%s is joining the game..." % self.username) packet = make_packet("players", name=self.username, online=True, ping=0) self.factory.broadcast(packet) # Craft our avatar and send it to already-connected other players. packet = make_packet("create", eid=self.player.eid) packet += self.player.save_to_packet() self.factory.broadcast_for_others(packet, self) # And of course spawn all of those players' avatars in our client as # well. for protocol in self.factory.protocols.itervalues(): # Skip over ourselves; otherwise, the client tweaks out and # usually either dies or locks up. if protocol is self: continue self.write_packet("create", eid=protocol.player.eid) packet = protocol.player.save_to_packet() packet += protocol.player.save_equipment_to_packet() self.transport.write(packet) # Send spawn and inventory. spawn = self.factory.world.level.spawn packet = make_packet("spawn", x=spawn[0], y=spawn[1], z=spawn[2]) packet += self.inventory.save_to_packet() self.transport.write(packet) # TODO: Send Abilities (0xca) # TODO: Update Health (0x08) # TODO: Update Experience (0x2b) # Send weather. self.transport.write(self.factory.vane.make_packet()) self.send_initial_chunk_and_location() self.time_loop = LoopingCall(self.update_time) self.time_loop.start(10)
def authenticated(self): BetaServerProtocol.authenticated(self) # Init player, and copy data into it. self.player = yield self.factory.world.load_player(self.username) self.player.eid = self.eid self.location = self.player.location # Init players' inventory window. self.inventory = InventoryWindow(self.player.inventory) # Announce our presence. packet = make_packet("chat", message="%s is joining the game..." % self.username) packet += make_packet("players", name=self.username, online=True, ping=0) self.factory.broadcast(packet) # Craft our avatar and send it to already-connected other players. packet = self.player.save_to_packet() packet += make_packet("create", eid=self.player.eid) self.factory.broadcast_for_others(packet, self) # And of course spawn all of those players' avatars in our client as # well. Note that, at this point, we are not listed in the factory's # list of protocols, so we won't accidentally send one of these to # ourselves. for protocol in self.factory.protocols.itervalues(): packet = protocol.player.save_to_packet() packet += protocol.player.save_equipment_to_packet() self.transport.write(packet) self.write_packet("create", eid=protocol.player.eid) # *Now* we are in our factory's list of protocols. Be aware. self.factory.protocols[self.username] = self # Send spawn and inventory. spawn = self.factory.world.spawn packet = make_packet("spawn", x=spawn[0], y=spawn[1], z=spawn[2]) packet += self.inventory.save_to_packet() self.transport.write(packet) # Send weather. self.transport.write(self.factory.vane.make_packet()) self.send_initial_chunk_and_location() self.time_loop = LoopingCall(self.update_time) self.time_loop.start(10)
def setUp(self): self.i = InventoryWindow(Inventory())
def setUp(self): # like player's inventory window self.i = InventoryWindow(Inventory())