diff --git a/src/main/java/com/kmecpp/osmium/api/database/api/DBTable.java b/src/main/java/com/kmecpp/osmium/api/database/api/DBTable.java index bd6d979..6677831 100644 --- a/src/main/java/com/kmecpp/osmium/api/database/api/DBTable.java +++ b/src/main/java/com/kmecpp/osmium/api/database/api/DBTable.java @@ -14,5 +14,7 @@ DatabaseType[] type() default DatabaseType.SQLITE; boolean autoCreate() default true; + + boolean autoSave() default true; } diff --git a/src/main/java/com/kmecpp/osmium/core/PlayerDataManager.java b/src/main/java/com/kmecpp/osmium/core/PlayerDataManager.java index 5bb01b0..507f34e 100644 --- a/src/main/java/com/kmecpp/osmium/core/PlayerDataManager.java +++ b/src/main/java/com/kmecpp/osmium/core/PlayerDataManager.java @@ -236,7 +236,9 @@ public void savePlayer(Player player) { HashMap, Object> playerData = this.data.get(player.getUniqueId()); if (playerData != null) { playerData.entrySet().forEach(e -> { - if (e.getValue() instanceof PlayerData) { + DBTable table = e.getKey().getAnnotation(DBTable.class); + + if (e.getValue() instanceof PlayerData && table.autoSave()) { ((PlayerData) e.getValue()).save(); } });