diff --git a/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/api/BallBukkitAPI.java b/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/api/BallBukkitAPI.java index 00ed845..8b3e13b 100644 --- a/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/api/BallBukkitAPI.java +++ b/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/api/BallBukkitAPI.java @@ -2,6 +2,7 @@ package cn.hamster3.mc.plugin.ball.bukkit.api; import cn.hamster3.mc.plugin.ball.bukkit.HamsterBallPlugin; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; +import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import cn.hamster3.mc.plugin.core.common.config.ConfigSection; import cn.hamster3.mc.plugin.core.common.config.YamlConfig; import org.jetbrains.annotations.NotNull; @@ -13,7 +14,7 @@ import java.util.logging.Logger; public class BallBukkitAPI extends BallAPI { public BallBukkitAPI(@NotNull ConfigSection config) { - super(config); + super(config, BallServerType.GAME); } public static BallBukkitAPI getInstance() { diff --git a/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/api/BallBungeeCordAPI.java b/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/api/BallBungeeCordAPI.java index d225620..4f5aafb 100644 --- a/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/api/BallBungeeCordAPI.java +++ b/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/api/BallBungeeCordAPI.java @@ -2,6 +2,7 @@ package cn.hamster3.mc.plugin.ball.bungee.api; import cn.hamster3.mc.plugin.ball.bungee.HamsterBallPlugin; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; +import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import cn.hamster3.mc.plugin.core.common.config.ConfigSection; import cn.hamster3.mc.plugin.core.common.config.YamlConfig; import org.jetbrains.annotations.NotNull; @@ -13,7 +14,7 @@ import java.util.logging.Logger; public class BallBungeeCordAPI extends BallAPI { public BallBungeeCordAPI(@NotNull ConfigSection config) { - super(config); + super(config, BallServerType.PROXY); } public static BallBungeeCordAPI getInstance() { diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java index 14d4434..fdc4f9e 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java @@ -69,21 +69,12 @@ public abstract class BallAPI { @NotNull private final Jedis redisPub; - public BallAPI(@NotNull ConfigSection config) { - Map env = System.getenv(); + public BallAPI(@NotNull ConfigSection config, BallServerType type) { ConfigSection serverInfoConfig = config.getSection("server-info"); if (serverInfoConfig == null) { throw new IllegalArgumentException("配置文件中未找到 server-info 节点"); } - serverInfo = new BallServerInfo( - env.getOrDefault("BALL_LOCAL_SERVER_INFO_ID", serverInfoConfig.getString("id")), - env.getOrDefault("BALL_LOCAL_SERVER_INFO_NAME", serverInfoConfig.getString("name")), - BallServerType.GAME, - env.getOrDefault("BALL_LOCAL_SERVER_IP", serverInfoConfig.getString("host")), - Integer.parseInt( - env.getOrDefault("BALL_LOCAL_SERVER_PORT", String.valueOf(serverInfoConfig.getInt("port"))) - ) - ); + serverInfo = new BallServerInfo(serverInfoConfig, type); ConfigSection section = config.getSection("datasource"); if (section != null) { getLogger().info("启用仓鼠球自定义数据库连接池"); @@ -686,9 +677,4 @@ public abstract class BallAPI { @NotNull public abstract Logger getLogger(); - - @NotNull - public DataSource getDatasource() { - return datasource; - } } diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/entity/BallServerInfo.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/entity/BallServerInfo.java index 89f003d..d9f49ad 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/entity/BallServerInfo.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/entity/BallServerInfo.java @@ -1,9 +1,12 @@ package cn.hamster3.mc.plugin.ball.common.entity; +import cn.hamster3.mc.plugin.core.common.config.ConfigSection; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; +import java.util.Map; import java.util.Objects; /** @@ -40,6 +43,17 @@ public class BallServerInfo { */ private int port; + public BallServerInfo(@NotNull ConfigSection config, BallServerType type) { + Map env = System.getenv(); + id = env.getOrDefault("BALL_LOCAL_SERVER_INFO_ID", config.getString("id")); + name = env.getOrDefault("BALL_LOCAL_SERVER_INFO_NAME", config.getString("name")); + this.type = type; + host = env.getOrDefault("BALL_LOCAL_SERVER_IP", config.getString("host")); + port = Integer.parseInt( + env.getOrDefault("BALL_LOCAL_SERVER_PORT", String.valueOf(config.getInt("port"))) + ); + } + @Override public boolean equals(Object o) { if (this == o) return true;