def _load_entity_from_tag(self, tag): location = Location() position = tag["Pos"].tags rotation = tag["Rotation"].tags location.x = position[0].value location.y = position[1].value location.z = position[2].value location.yaw = rotation[0].value location.pitch = rotation[1].value location.grounded = bool(tag["OnGround"]) entity = entities[tag["id"].value](location=location) self._entity_loaders[entity.name](entity, tag) return entity
def _load_entity_from_tag(self, tag): location = Location() position = tag["Pos"].tags rotation = tag["Rotation"].tags location.x = position[0].value location.y = position[1].value location.z = position[2].value location.yaw = rotation[0].value location.pitch = rotation[1].value location.grounded = bool(tag["OnGround"]) entity = entities[tag["id"].value](location=location) self._entity_loaders[entity.name](entity, tag) return entity
def create_entity(self, x, y, z, name, **kwargs): """ Spawn an entirely new entity. Handles entity registration as well as instantiation. """ location = Location() location.x = x location.y = y location.z = z entity = entities[name](eid=0, location=location, **kwargs) self.register_entity(entity) bigx = entity.location.x // 16 bigz = entity.location.z // 16 d = self.world.request_chunk(bigx, bigz) d.addCallback(lambda chunk: chunk.entities.add(entity)) d.addCallback(lambda none: log.msg("Created entity %s" % entity)) return entity
def create_entity(self, x, y, z, name, **kwargs): """ Spawn an entirely new entity. Handles entity registration as well as instantiation. """ location = Location() location.x = x location.y = y location.z = z entity = entities[name](eid=0, location=location, **kwargs) self.register_entity(entity) bigx = entity.location.x // 16 bigz = entity.location.z // 16 d = self.world.request_chunk(bigx, bigz) d.addCallback(lambda chunk: chunk.entities.add(entity)) d.addCallback(lambda none: log.msg("Created entity %s" % entity)) return entity
def create_entity(self, x, y, z, name, **kwargs): """ Spawn an entirely new entity. Handles entity registration as well as instantiation. """ location = Location() location.x = x location.y = y location.z = z entity = entities[name](eid=0, location=location, **kwargs) self.register_entity(entity) bigx = entity.location.x // 16 bigz = entity.location.z // 16 d = self.world.request_chunk(bigx, bigz) d.addCallback(lambda chunk: chunk.entities.add(entity)) d.addCallback(lambda none: log.msg("Created entity %s" % entity)) if hasattr(entity,'loop'): # XXX Maybe just send the entity object to the manager? self.world.mob_manager.start_mob(entity) return entity
def test_distance(self): other = Location() other.x = 2 other.y = 3 other.z = 6 self.assertEqual(self.l.distance(other), 7)