9
0
mirror of https://github.com/Xiao-MoMi/Custom-Fishing.git synced 2025-12-24 01:19:32 +00:00

added export legacy command

This commit is contained in:
XiaoMoMi
2023-09-14 02:54:32 +08:00
parent 0286893529
commit efd31b7eb9
20 changed files with 403 additions and 53 deletions

View File

@@ -21,6 +21,7 @@ import net.momirealms.customfishing.api.data.user.OfflineUser;
import java.util.Collection;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
@@ -31,9 +32,13 @@ public interface DataStorageInterface {
StorageType getStorageType();
CompletableFuture<Optional<PlayerData>> getPlayerData(UUID uuid, boolean force);
CompletableFuture<Optional<PlayerData>> getPlayerData(UUID uuid, boolean lock);
CompletableFuture<Boolean> savePlayerData(UUID uuid, PlayerData playerData, boolean unlock);
void savePlayersData(Collection<? extends OfflineUser> users, boolean unlock);
void lockPlayerData(UUID uuid, boolean lock);
Set<UUID> getUniqueUsers(boolean legacy);
}

View File

@@ -0,0 +1,10 @@
package net.momirealms.customfishing.api.data;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
public interface LegacyDataStorageInterface extends DataStorageInterface {
CompletableFuture<Optional<PlayerData>> getLegacyPlayerData(UUID uuid);
}

View File

@@ -25,7 +25,7 @@ import java.util.Map;
public class StatisticData {
@SerializedName("stats")
@SerializedName("map")
public Map<String, Integer> statisticMap;
public StatisticData(@NotNull Map<String, Integer> data) {

View File

@@ -27,5 +27,4 @@ public enum StorageType {
MariaDB,
MongoDB,
Redis
}

View File

@@ -44,14 +44,13 @@ public interface StorageManager {
/**
* Get an offline user's data
* force reading would ignore the database lock
* Otherwise it would return Optional.empty() if data is locked
* It an offline user never played the server, its name would equal "" (empty string)
* @param uuid uuid
* @param force force
* @param lock lock
* @return offline user data
*/
CompletableFuture<Optional<OfflineUser>> getOfflineUser(UUID uuid, boolean force);
CompletableFuture<Optional<OfflineUser>> getOfflineUser(UUID uuid, boolean lock);
CompletableFuture<Boolean> saveUserData(OfflineUser offlineUser, boolean unlock);