print stack traces of save errors instead of rethrowing

This commit is contained in:
Pyrbu 2023-08-26 23:41:40 +02:00
parent 868999fe2d
commit e789fe2f9c

@ -19,12 +19,14 @@ import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class YamlStorage implements NpcStorage { public class YamlStorage implements NpcStorage {
private final static Logger logger = Logger.getLogger("YamlStorage");
private final PacketFactory packetFactory; private final PacketFactory packetFactory;
private final ConfigManager configManager; private final ConfigManager configManager;
private final ActionRegistry actionRegistry; private final ActionRegistry actionRegistry;
@ -118,12 +120,22 @@ public class YamlStorage implements NpcStorage {
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList())); .collect(Collectors.toList()));
config.save(new File(folder, entry.getId() + ".yml")); config.save(fileFor(entry));
} catch (IOException e) { } catch (Exception e) {
throw new RuntimeException(e); logger.severe("Failed to save npc with id " + entry.getId());
e.printStackTrace();
} }
} }
@Override
public void deleteNpc(NpcEntryImpl npc) {
fileFor(npc).delete();
}
private File fileFor(NpcEntryImpl entry) {
return new File(folder, entry.getId() + ".yml");
}
public NpcLocation deserializeLocation(ConfigurationSection section) { public NpcLocation deserializeLocation(ConfigurationSection section) {
return new NpcLocation( return new NpcLocation(
section.getDouble("x"), section.getDouble("x"),