I am trying to create multiple configs into a single directory. When I run the server, then new directory is created but the configs don’t create. If I don’t specify the configs to create in that folder, and instead allow them to be created in the server root folder, they get created fine. Here’s my code
@Inject
@ConfigDir(sharedRoot = false)
private File configDir;
private File config = new File(configDir+"tiers.conf");
private ConfigurationLoader<CommentedConfigurationNode> configManager = HoconConfigurationLoader.builder().setFile(config).build();
private CommentedConfigurationNode configNode;
private File playerConfig = new File(configDir+"players.conf");
private ConfigurationLoader<CommentedConfigurationNode> playerConfigManager = HoconConfigurationLoader.builder().setFile(playerConfig).build();
private CommentedConfigurationNode playersConfigNode;
private ConfigurationLoader<CommentedConfigurationNode> getConfigManager(){return configManager;}
private ConfigurationLoader<CommentedConfigurationNode> getplayerConfigManager(){return playerConfigManager;}
@Inject
Game game;
private static PixelQueue instance;
@Listener
public void onPreInitialization(GamePreInitializationEvent e) {
if (!configDir.exists()) {
configDir.mkdir();
}
try{
if(!config.exists()){
config.createNewFile();
configNode = configManager.load();
configNode.getNode("ConfigVersion").setValue(1);
configManager.save(configNode);
logger.info("created tier config");
}
if(!playerConfig.exists()){
playerConfig.createNewFile();
playersConfigNode = playerConfigManager.load();
playersConfigNode.getNode("ConfigVersion").setValue(1);
playerConfigManager.save(configNode);
logger.info("created player config");
}
configNode = configManager.load();
playersConfigNode = playerConfigManager.load();
}catch (IOException Exception){
logger.info("Couldnt create default config");
}
}