use of org.terasology.engine.core.modes.loadProcesses.LoadPrefabs in project Terasology by MovingBlocks.
the class HeadlessEnvironment method loadPrefabs.
@Override
protected void loadPrefabs() {
LoadPrefabs prefabLoadStep = new LoadPrefabs(context);
boolean complete = false;
prefabLoadStep.begin();
while (!complete) {
complete = prefabLoadStep.step();
}
}
use of org.terasology.engine.core.modes.loadProcesses.LoadPrefabs in project Terasology by MovingBlocks.
the class StateLoading method initClient.
private void initClient() {
loadProcesses.add(new JoinServer(context, gameManifest, joinStatus));
if (!headless) {
loadProcesses.add(new InitialiseRendering(context));
}
loadProcesses.add(new InitialiseEntitySystem(context));
loadProcesses.add(new RegisterBlocks(context, gameManifest));
if (!headless) {
loadProcesses.add(new InitialiseGraphics(context));
}
loadProcesses.add(new LoadPrefabs(context));
loadProcesses.add(new ProcessBlockPrefabs(context));
loadProcesses.add(new LoadExtraBlockData(context));
loadProcesses.add(new InitialiseComponentSystemManager(context));
if (!headless) {
loadProcesses.add(new RegisterInputSystem(context));
}
loadProcesses.add(new RegisterSystems(context, netMode));
loadProcesses.add(new InitialiseCommandSystem(context));
loadProcesses.add(new InitialiseRemoteWorld(context, gameManifest));
loadProcesses.add(new InitialisePhysics(context));
loadProcesses.add(new InitialiseSystems(context));
loadProcesses.add(new PreBeginSystems(context));
loadProcesses.add(new CreateRemoteWorldEntity(context));
loadProcesses.add(new PostBeginSystems(context));
loadProcesses.add(new SetupRemotePlayer(context));
loadProcesses.add(new AwaitCharacterSpawn(context));
loadProcesses.add(new RegisterBlockFamilies(context));
loadProcesses.add(new PrepareWorld(context));
}
use of org.terasology.engine.core.modes.loadProcesses.LoadPrefabs in project Terasology by MovingBlocks.
the class StateLoading method initHost.
private void initHost() {
loadProcesses.add(new RegisterMods(context, gameManifest));
if (!headless) {
loadProcesses.add(new InitialiseRendering(context));
}
loadProcesses.add(new InitialiseEntitySystem(context));
loadProcesses.add(new RegisterBlocks(context, gameManifest));
if (!headless) {
loadProcesses.add(new InitialiseGraphics(context));
}
loadProcesses.add(new LoadPrefabs(context));
loadProcesses.add(new ProcessBlockPrefabs(context));
loadProcesses.add(new InitialiseComponentSystemManager(context));
if (!headless) {
loadProcesses.add(new RegisterInputSystem(context));
}
loadProcesses.add(new RegisterSystems(context, netMode));
loadProcesses.add(new InitialiseCommandSystem(context));
loadProcesses.add(new LoadExtraBlockData(context));
loadProcesses.add(new InitialiseWorld(gameManifest, context));
loadProcesses.add(new RegisterBlockFamilies(context));
loadProcesses.add(new EnsureSaveGameConsistency(context));
loadProcesses.add(new InitialisePhysics(context));
loadProcesses.add(new InitialiseSystems(context));
loadProcesses.add(new PreBeginSystems(context));
loadProcesses.add(new LoadEntities(context));
loadProcesses.add(new InitialiseBlockTypeEntities(context));
loadProcesses.add(new CreateWorldEntity(context, gameManifest));
loadProcesses.add(new InitialiseWorldGenerator(context));
loadProcesses.add(new InitialiseRecordAndReplay(context));
if (netMode.isServer()) {
boolean dedicated;
if (netMode == NetworkMode.DEDICATED_SERVER) {
dedicated = true;
} else if (netMode == NetworkMode.LISTEN_SERVER) {
dedicated = false;
} else {
throw new IllegalStateException("Invalid server mode: " + netMode);
}
loadProcesses.add(new StartServer(context, dedicated));
}
loadProcesses.add(new PostBeginSystems(context));
if (netMode.hasLocalClient()) {
loadProcesses.add(new SetupLocalPlayer(context));
loadProcesses.add(new AwaitCharacterSpawn(context));
}
loadProcesses.add(new PrepareWorld(context));
}
use of org.terasology.engine.core.modes.loadProcesses.LoadPrefabs in project Terasology by MovingBlocks.
the class TerasologyTestingEnvironment method setup.
@BeforeEach
public void setup() throws Exception {
context.put(ModuleManager.class, moduleManager);
RecordAndReplayCurrentStatus recordAndReplayCurrentStatus = context.get(RecordAndReplayCurrentStatus.class);
mockTime = mock(EngineTime.class);
context.put(Time.class, mockTime);
NetworkSystemImpl networkSystem = new NetworkSystemImpl(mockTime, context);
context.put(Game.class, new Game());
context.put(NetworkSystem.class, networkSystem);
EntitySystemSetupUtil.addReflectionBasedLibraries(context);
EntitySystemSetupUtil.addEntityManagementRelatedClasses(context);
engineEntityManager = context.get(EngineEntityManager.class);
// 'mock' added to avoid hiding a field
BlockManager mockBlockManager = context.get(BlockManager.class);
ExtraBlockDataManager extraDataManager = context.get(ExtraBlockDataManager.class);
RecordedEventStore recordedEventStore = new RecordedEventStore();
RecordAndReplayUtils recordAndReplayUtils = new RecordAndReplayUtils();
context.put(RecordAndReplayUtils.class, recordAndReplayUtils);
CharacterStateEventPositionMap characterStateEventPositionMap = new CharacterStateEventPositionMap();
context.put(CharacterStateEventPositionMap.class, characterStateEventPositionMap);
DirectionAndOriginPosRecorderList directionAndOriginPosRecorderList = new DirectionAndOriginPosRecorderList();
context.put(DirectionAndOriginPosRecorderList.class, directionAndOriginPosRecorderList);
RecordAndReplaySerializer recordAndReplaySerializer = new RecordAndReplaySerializer(engineEntityManager, recordedEventStore, recordAndReplayUtils, characterStateEventPositionMap, directionAndOriginPosRecorderList, moduleManager, context.get(TypeRegistry.class));
context.put(RecordAndReplaySerializer.class, recordAndReplaySerializer);
Path savePath = PathManager.getInstance().getSavePath("world1");
context.put(StorageManager.class, new ReadWriteStorageManager(savePath, moduleManager.getEnvironment(), engineEntityManager, mockBlockManager, extraDataManager, recordAndReplaySerializer, recordAndReplayUtils, recordAndReplayCurrentStatus));
ComponentSystemManager componentSystemManager = new ComponentSystemManager(context);
context.put(ComponentSystemManager.class, componentSystemManager);
LoadPrefabs prefabLoadStep = new LoadPrefabs(context);
boolean complete = false;
prefabLoadStep.begin();
while (!complete) {
complete = prefabLoadStep.step();
}
context.get(ComponentSystemManager.class).initialise();
context.put(Console.class, new ConsoleImpl(context));
}
Aggregations