1
mirror of https://github.com/CarmJos/EasyPlugin.git synced 2026-06-05 00:58:17 +08:00

Compare commits

..

3 Commits

18 changed files with 130 additions and 53 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<parent>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-parent</artifactId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<properties>
+1 -1
View File
@@ -6,7 +6,7 @@
<parent>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-parent</artifactId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<properties>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -6,7 +6,7 @@
<parent>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-parent</artifactId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<properties>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -6,7 +6,7 @@
<parent>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-parent</artifactId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<properties>
@@ -63,7 +63,11 @@ public abstract class UserDataManager<K, U extends UserData<K>> {
return key.toString();
}
public abstract @NotNull U empty(@NotNull K key);
public abstract @NotNull U emptyUser(@NotNull K key);
public @NotNull U errorUser(@NotNull K key) {
return emptyUser(key);
}
protected abstract @Nullable U loadData(@NotNull K key) throws Exception;
@@ -108,7 +112,7 @@ public abstract class UserDataManager<K, U extends UserData<K>> {
U data = loadData(key);
if (data == null) {
getPlugin().debug("数据库内不存在用户 " + identifier + " 的数据,视作新档案。");
return empty(key);
return emptyUser(key);
} else {
getPlugin().debug("加载用户 " + identifier + " 的数据完成,耗时 " + (System.currentTimeMillis() - s1) + " ms.");
return data;
@@ -116,7 +120,7 @@ public abstract class UserDataManager<K, U extends UserData<K>> {
} catch (Exception ex) {
getPlugin().error("加载用户 " + serializeKey(key) + " 数据失败,请检查相关配置!");
ex.printStackTrace();
return empty(key);
return errorUser(key);
}
}, executor).thenApply((data) -> {
@@ -223,22 +227,23 @@ public abstract class UserDataManager<K, U extends UserData<K>> {
return loadGroup(allKeys, (v) -> false);
}
public @NotNull CompletableFuture<Integer> saveAll() {
CompletableFuture<Integer> future = CompletableFuture.completedFuture(0);
if (getDataCache().isEmpty()) return future;
for (U value : getDataCache().values()) {
future = future.thenCombine(save(value), (before, result) -> before + (result ? 1 : 0));
public void saveAll() {
if (getDataCache().isEmpty()) return;
for (U u : getDataCache().values()) {
try {
saveData(u);
} catch (Exception e) {
getPlugin().error("保存用户 " + serializeKey(u.getKey()) + " 数据失败,请检查相关配置!");
e.printStackTrace();
}
}
return future;
}
public @NotNull CompletableFuture<Integer> unloadAll() {
return saveAll().thenApply(result -> {
getDataCache().clear();
return result;
});
public int unloadAll(boolean save) {
if (save) saveAll();
int size = getDataCache().size();
getDataCache().clear();
return size;
}
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.5.5</version>
<version>1.5.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -0,0 +1,79 @@
package cc.carm.lib.easyplugin.vault;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.economy.EconomyResponse;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.jetbrains.annotations.NotNull;
public class EasyVault {
public static boolean hasVault() {
return Bukkit.getServer().getPluginManager().getPlugin("Vault") != null;
}
public static @NotNull EasyVault create() throws Exception {
return new EasyVault();
}
private Economy economy = null;
public EasyVault() throws Exception {
if (!setupEconomy()) throw new Exception("Vault not found!");
}
public boolean setupEconomy() {
if (!hasVault()) return false;
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) return false;
this.economy = rsp.getProvider();
return true;
}
public Economy getEconomy() {
return economy;
}
public double getMoney(@NotNull Player player) {
try {
return getEconomy().getBalance(player);
} catch (NullPointerException ignore) {
return 0L;
}
}
public double getMoney(@NotNull OfflinePlayer player) {
try {
return getEconomy().getBalance(player);
} catch (NullPointerException ignore) {
return 0L;
}
}
public boolean checkMoney(@NotNull OfflinePlayer player, double amount) {
return getMoney(player) >= amount;
}
public boolean checkMoney(@NotNull Player player, double amount) {
return getMoney(player) >= amount;
}
public EconomyResponse removeMoney(Player player, double amount) {
return getEconomy().withdrawPlayer(player, amount);
}
public EconomyResponse removeMoney(OfflinePlayer player, double amount) {
return getEconomy().withdrawPlayer(player, amount);
}
public EconomyResponse addMoney(Player player, double amount) {
return getEconomy().depositPlayer(player, amount);
}
public EconomyResponse addMoney(OfflinePlayer player, double amount) {
return getEconomy().depositPlayer(player, amount);
}
}
+15 -22
View File
@@ -15,7 +15,7 @@
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-parent</artifactId>
<packaging>pom</packaging>
<version>1.5.5</version>
<version>1.5.7</version>
<modules>
<module>base/color</module>
<module>base/utils</module>
@@ -35,7 +35,6 @@
<module>collection/all</module>
<module>collection/bom</module>
<module>collection/common</module>
</modules>
<name>EasyPlugin</name>
@@ -82,13 +81,22 @@
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
<id>sonatype</id>
<name>Sonatype Snapshot Repository</name>
<url>https://s01.oss.sonatype.org/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>minebench-repo</id>
<url>https://repo.minebench.de/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public</url>
<id>codemc-snapshots</id>
<url>https://repo.codemc.io/repository/maven-snapshots/</url>
</repository>
<repository>
@@ -144,22 +152,7 @@
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>githubreleases4j</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easylistener</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>mineconfiguration-bukkit</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-beecp</artifactId>
<version>0.4.3</version>
<version>1.3.2</version>
</dependency>
</dependencies>
</dependencyManagement>