diff --git a/assets/Models/elf1.fbx b/assets/Models/elf1.fbx index cd3b117d..fcc3922b 100644 Binary files a/assets/Models/elf1.fbx and b/assets/Models/elf1.fbx differ diff --git a/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java b/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java index 2d2a0203..01f5eb4a 100644 --- a/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java +++ b/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java @@ -353,6 +353,8 @@ public class CreatureUtils { } } } + //set race + storedTemplate.creatureType = rawType.getCreatureId(); //store template on creature CreatureUtils.setCreatureTemplate(rVal, storedTemplate); } @@ -392,9 +394,10 @@ public class CreatureUtils { int id = creature.getId(); String type = CreatureUtils.getType(creature); Vector3d position = EntityUtils.getPosition(creature); + String template = Utilities.stringify(CreatureUtils.getCreatureTemplate(creature)); NetworkMessage message = EntityMessage.constructSpawnCreatureMessage( id, - Utilities.stringify(CreatureUtils.getCreatureTemplate(creature)), + template, position.x, position.y, position.z); diff --git a/src/main/java/electrosphere/net/server/protocol/CharacterProtocol.java b/src/main/java/electrosphere/net/server/protocol/CharacterProtocol.java index 59307602..a9706bf5 100644 --- a/src/main/java/electrosphere/net/server/protocol/CharacterProtocol.java +++ b/src/main/java/electrosphere/net/server/protocol/CharacterProtocol.java @@ -47,8 +47,11 @@ public class CharacterProtocol { static void spawnPlayerCharacter(ServerConnectionHandler connectionHandler){ Player playerObject = Globals.playerManager.getPlayerFromId(connectionHandler.getPlayerId()); + //get template + CreatureTemplate template = connectionHandler.getCurrentCreatureTemplate(); + String raceName = template.getCreatureType(); //spawn player in world - Entity newPlayerEntity = CreatureUtils.spawnBasicCreature("human",connectionHandler.getCurrentCreatureTemplate()); + Entity newPlayerEntity = CreatureUtils.spawnBasicCreature(raceName,template); int playerCharacterId = newPlayerEntity.getId(); connectionHandler.setPlayerCharacterId(playerCharacterId); CreatureUtils.initiallyPositionCreature(newPlayerEntity, new Vector3d(Globals.spawnPoint.x,Globals.spawnPoint.y,Globals.spawnPoint.z));