use of org.terasology.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());
}
}
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, gameManifest.getSeed(), (long) (WorldTime.DAY_LENGTH * 0.025f), worldGeneratorUri);
gameManifest.addWorld(worldInfo);
return gameManifest;
}
use of org.terasology.config.Config in project Terasology by MovingBlocks.
the class ClientConnectionHandler method sendJoin.
private void sendJoin(ChannelHandlerContext channelHandlerContext) {
Config config = CoreRegistry.get(Config.class);
NetData.JoinMessage.Builder bldr = NetData.JoinMessage.newBuilder();
NetData.Color.Builder clrbldr = NetData.Color.newBuilder();
bldr.setName(config.getPlayer().getName());
bldr.setViewDistanceLevel(config.getRendering().getViewDistance().getIndex());
bldr.setColor(clrbldr.setRgba(config.getPlayer().getColor().rgba()).build());
channelHandlerContext.getChannel().write(NetData.NetMessage.newBuilder().setJoin(bldr).build());
}
use of org.terasology.config.Config in project Terasology by MovingBlocks.
the class IntMathTest method setUpClass.
@BeforeClass
public static void setUpClass() throws Exception {
Config config = new Config(new MockContext());
CoreRegistry.setContext(new ContextImpl());
CoreRegistry.put(Config.class, config);
}
use of org.terasology.config.Config in project Terasology by MovingBlocks.
the class HeadlessEnvironment method setupConfig.
@Override
protected void setupConfig() {
Config config = new Config(context);
config.loadDefaults();
context.put(Config.class, config);
}
Aggregations