diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index db7e4de8..8fc94b67 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1737,6 +1737,9 @@ Creature template -> object template Fix foliage saving seed to template Scaffolding growing component +(05/13/2025) +Fix character bug with loading into level + diff --git a/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java b/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java index 0623b7ea..fa866e59 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java +++ b/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java @@ -24,11 +24,11 @@ import electrosphere.net.parser.net.message.CharacterMessage; import electrosphere.net.server.Server; import electrosphere.net.server.ServerConnectionHandler; import electrosphere.net.server.player.Player; -import electrosphere.net.server.protocol.CharacterProtocol; import electrosphere.server.datacell.Realm; import electrosphere.server.datacell.ServerWorldData; import electrosphere.server.entity.serialization.ContentSerialization; import electrosphere.server.simulation.MicroSimulation; +import electrosphere.server.macro.character.Character; /** * Utilities for all loading thread types @@ -180,7 +180,8 @@ public class LoadingUtils { } //set player character template serverPlayerConnection.setCreatureTemplate(template); - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(CharacterProtocol.SPAWN_EXISTING_TEMPLATE + "")); + Character chara = Globals.characterService.createCharacter(template, serverPlayerConnection.getPlayerId()); + Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(chara.getId() + "")); //set player world-space coordinates Player playerObject = Globals.playerManager.getFirstPlayer();