Search in sources :

Example 11 with Config

use of org.terasology.engine.config.Config in project Terasology by MovingBlocks.

the class IntMathTest method setUpClass.

@BeforeAll
public static void setUpClass() throws Exception {
    Config config = new Config(new MockContext());
    CoreRegistry.setContext(new ContextImpl());
    CoreRegistry.put(Config.class, config);
}
Also used : MockContext(org.terasology.engine.context.internal.MockContext) Config(org.terasology.engine.config.Config) ContextImpl(org.terasology.engine.context.internal.ContextImpl) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 12 with Config

use of org.terasology.engine.config.Config in project Terasology by MovingBlocks.

the class OpenVRInput method postInitialise.

/**
 * Set up listeners and input devices.
 * @param rootContext
 */
@Override
public void postInitialise(Context rootContext) {
    config = context.get(Config.class);
    if (!config.getRendering().isVrSupport()) {
        return;
    }
    this.context = rootContext;
    InputSystem inputSystem = context.get(InputSystem.class);
    if (inputSystem == null) {
        inputSystem = new InputSystem();
        inputSystem.setMouseDevice(new LwjglMouseDevice(config.getRendering()));
        inputSystem.setKeyboardDevice(new LwjglKeyboardDevice());
        context.put(InputSystem.class, inputSystem);
        long window = GLFW.glfwGetCurrentContext();
        ((LwjglKeyboardDevice) inputSystem.getKeyboard()).registerToLwjglWindow(window);
        ((LwjglMouseDevice) inputSystem.getMouseDevice()).registerToLwjglWindow(window);
    }
    controllerDevice = new OpenVRControllers();
    vrProvider.getState().addControllerListener(controllerDevice);
    inputSystem.setControllerDevice(controllerDevice);
}
Also used : Config(org.terasology.engine.config.Config) LwjglMouseDevice(org.terasology.engine.input.lwjgl.LwjglMouseDevice) LwjglKeyboardDevice(org.terasology.engine.input.lwjgl.LwjglKeyboardDevice) InputSystem(org.terasology.engine.input.InputSystem)

Example 13 with Config

use of org.terasology.engine.config.Config in project Terasology by MovingBlocks.

the class TelemetrySubSystem method addTelemetryLogstashAppender.

private void addTelemetryLogstashAppender(Context rootContext) {
    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    TelemetryLogstashAppender telemetryLogstashAppender = new TelemetryLogstashAppender(rootContext);
    lc.getLogger(Logger.ROOT_LOGGER_NAME).addAppender(telemetryLogstashAppender);
    Config config = rootContext.get(Config.class);
    TelemetryConfig telemetryConfig = config.getTelemetryConfig();
    String errorReportingDestination = telemetryConfig.getErrorReportingDestination();
    if (errorReportingDestination == null) {
        errorReportingDestination = TelemetryLogstashAppender.DEFAULT_LOGSTASH_HOST + ":" + TelemetryLogstashAppender.DEFAULT_LOGSTASH_PORT;
        telemetryConfig.setErrorReportingDestination(errorReportingDestination);
    }
    if (telemetryConfig.isErrorReportingEnabled()) {
        telemetryLogstashAppender.addDestination(errorReportingDestination);
        telemetryLogstashAppender.start();
    }
}
Also used : TelemetryLogstashAppender(org.terasology.engine.telemetry.logstash.TelemetryLogstashAppender) Config(org.terasology.engine.config.Config) TelemetryConfig(org.terasology.engine.config.TelemetryConfig) LoggerContext(ch.qos.logback.classic.LoggerContext) TelemetryConfig(org.terasology.engine.config.TelemetryConfig)

Example 14 with Config

use of org.terasology.engine.config.Config in project Terasology by MovingBlocks.

the class TelemetrySubSystem method postInitialise.

@Override
public void postInitialise(Context rootContext) {
    metrics.initialise(rootContext);
    // Add the telemetryConfig adapter to context. It could be used in modules.
    Config config = rootContext.get(Config.class);
    TelemetryConfig telemetryConfig = config.getTelemetryConfig();
    TelemetryConfiguration telemetryConfiguration = new TelemetryConfigurationImpl(telemetryConfig);
    rootContext.put(TelemetryConfiguration.class, telemetryConfiguration);
    addTelemetryLogstashAppender(rootContext);
    setTelemetryDestination(rootContext);
}
Also used : TelemetryConfiguration(org.terasology.engine.config.facade.TelemetryConfiguration) Config(org.terasology.engine.config.Config) TelemetryConfig(org.terasology.engine.config.TelemetryConfig) TelemetryConfigurationImpl(org.terasology.engine.config.facade.TelemetryConfigurationImpl) TelemetryConfig(org.terasology.engine.config.TelemetryConfig)

Example 15 with Config

use of org.terasology.engine.config.Config in project Terasology by MovingBlocks.

the class StateHeadlessSetup method createGameManifest.

public GameManifest createGameManifest() {
    GameManifest gameManifest = new GameManifest();
    Config config = context.get(Config.class);
    ModuleManager moduleManager = context.get(ModuleManager.class);
    for (Name moduleName : config.getDefaultModSelection().listModules()) {
        Module module = moduleManager.getRegistry().getLatestModuleVersion(moduleName);
        if (module != null) {
            gameManifest.addModule(module.getId(), module.getVersion());
        } else {
            logger.warn("ModuleRegistry has no latest version for module {}", moduleName);
        }
    }
    WorldGenerationConfig worldGenConfig = config.getWorldGeneration();
    // If no valid default world generator set then try to find one - no option to pick one manually in headless
    if (!worldGenConfig.getDefaultGenerator().isValid()) {
        // find the first gameplay module that is available, it should have a preferred world gen
        for (Name moduleName : config.getDefaultModSelection().listModules()) {
            Module module = moduleManager.getRegistry().getLatestModuleVersion(moduleName);
            if (StandardModuleExtension.isGameplayModule(module)) {
                SimpleUri defaultWorldGenerator = StandardModuleExtension.getDefaultWorldGenerator(module);
                worldGenConfig.setDefaultGenerator(defaultWorldGenerator);
                break;
            }
        }
    }
    SimpleUri worldGeneratorUri = worldGenConfig.getDefaultGenerator();
    gameManifest.setTitle(worldGenConfig.getWorldTitle());
    gameManifest.setSeed(worldGenConfig.getDefaultSeed());
    WorldInfo worldInfo = new WorldInfo(TerasologyConstants.MAIN_WORLD, worldGenConfig.getWorldTitle(), gameManifest.getSeed(), (long) (WorldTime.DAY_LENGTH * WorldTime.NOON_OFFSET), worldGeneratorUri);
    gameManifest.addWorld(worldInfo);
    return gameManifest;
}
Also used : GameManifest(org.terasology.engine.game.GameManifest) WorldGenerationConfig(org.terasology.engine.config.WorldGenerationConfig) Config(org.terasology.engine.config.Config) SimpleUri(org.terasology.engine.core.SimpleUri) WorldInfo(org.terasology.engine.world.internal.WorldInfo) ModuleManager(org.terasology.engine.core.module.ModuleManager) Module(org.terasology.gestalt.module.Module) WorldGenerationConfig(org.terasology.engine.config.WorldGenerationConfig) Name(org.terasology.gestalt.naming.Name)

Aggregations

Config (org.terasology.engine.config.Config)19 TelemetryConfig (org.terasology.engine.config.TelemetryConfig)4 SimpleUri (org.terasology.engine.core.SimpleUri)4 ModuleManager (org.terasology.engine.core.module.ModuleManager)3 GameManifest (org.terasology.engine.game.GameManifest)3 Lists (com.google.common.collect.Lists)2 List (java.util.List)2 Map (java.util.Map)2 Objects (java.util.Objects)2 Collectors (java.util.stream.Collectors)2 Logger (org.slf4j.Logger)2 LoggerFactory (org.slf4j.LoggerFactory)2 ControllerConfig (org.terasology.engine.config.ControllerConfig)2 PlayerConfig (org.terasology.engine.config.PlayerConfig)2 WorldGenerationConfig (org.terasology.engine.config.WorldGenerationConfig)2 ContextImpl (org.terasology.engine.context.internal.ContextImpl)2 StateLoading (org.terasology.engine.core.modes.StateLoading)2 InputSystem (org.terasology.engine.input.InputSystem)2 LwjglControllerDevice (org.terasology.engine.input.lwjgl.LwjglControllerDevice)2 In (org.terasology.engine.registry.In)2