Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/main/java/jp/azisaba/lgw/kdstatus/KDStatusConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;

public class KDStatusConfig {

Expand Down Expand Up @@ -87,8 +88,7 @@ public void loadConfig() {

plugin.saveConfig();
} catch (Exception e) {
Bukkit.getLogger().warning("Error: " + e.getMessage());
e.printStackTrace();
Bukkit.getLogger().log(Level.SEVERE, "An error occurred in loading default config", e);
}
} else {

Expand Down Expand Up @@ -173,9 +173,9 @@ public void loadConfig() {
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ConfigOptions {
public String path();
String path();

public OptionType type() default OptionType.NONE;
OptionType type() default OptionType.NONE;
}

public enum OptionType {
Expand Down
6 changes: 2 additions & 4 deletions src/main/java/jp/azisaba/lgw/kdstatus/KDStatusReloaded.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,9 @@ public void onEnable() {
Bukkit.getPluginCommand("kdstatus").setExecutor(new KDStatusCommand(this));
Bukkit.getPluginCommand("kdstatus").setPermissionMessage(Chat.f("&cこのコマンドを実行する権限がありません!"));

if (Bukkit.getOnlinePlayers().size() > 0) {
if (!Bukkit.getOnlinePlayers().isEmpty()) {

Bukkit.getOnlinePlayers().forEach(player -> {
kdDataContainer.loadPlayerData(player);
});
Bukkit.getOnlinePlayers().forEach(kdDataContainer::loadPlayerData);
}

Bukkit.getLogger().info(getName() + " enabled.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

import java.util.Arrays;
import java.util.Collections;
Expand All @@ -23,7 +24,7 @@ public KDStatusCommand(KDStatusReloaded plugin) {
}

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, String[] args) {
if (args.length == 0) {
sender.sendMessage(Chat.f("&cUsage: {0}", cmd.getUsage().replace("{LABEL}", label)));
return true;
Expand Down Expand Up @@ -58,7 +59,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
}

@Override
public List<String> onTabComplete(CommandSender commandSender, Command command, String s, String[] args) {
public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] args) {
if (args.length == 1) {
return modes;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

public class MyStatusCommand implements CommandExecutor {

Expand All @@ -21,14 +22,13 @@ public MyStatusCommand(KillDeathDataContainer dataContainer) {
}

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, String[] args) {

if (!(sender instanceof Player)) {
if (!(sender instanceof Player p)) {
sender.sendMessage(Chat.f("&cこのコマンドはプレイヤーのみ有効です!"));
return true;
}

Player p = (Player) sender;
KDUserData data = dataContainer.getPlayerData(p, true);

int kills = data.getKills(TimeUnit.LIFETIME);
Expand All @@ -37,7 +37,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
if (deaths > 0) {
kdRaito = (double) kills / (double) deaths;
} else {
kdRaito = (double) kills;
kdRaito = kills;
}

int dailyKills = data.getKills(TimeUnit.DAILY);
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/jp/azisaba/lgw/kdstatus/sql/KDUserData.java
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,7 @@ public void saveData(boolean async) {
long start = System.currentTimeMillis();

if (async) {
new Thread(() -> {
saveData(false);
}).start();
new Thread(() -> saveData(false)).start();
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class KillDeathDataContainer {

private final PlayerDataSQLController sqlController;

private HashMap<UUID, KDUserData> playerDataCache = new HashMap<>();
private final HashMap<UUID, KDUserData> playerDataCache = new HashMap<>();

private boolean isMigrated = KDStatusReloaded.getPlugin().getConfig().getBoolean("migrated", false);

Expand Down Expand Up @@ -62,7 +62,7 @@ public KDUserData loadPlayerData(@NotNull Player p) {
}

File folder = new File(KDStatusReloaded.getPlugin().getDataFolder(), "PlayerData");
File file = new File(folder, p.getUniqueId().toString() + ".yml");
File file = new File(folder, p.getUniqueId() + ".yml");

KDUserData data = null;

Expand Down Expand Up @@ -152,23 +152,19 @@ public void saveAllPlayerData(boolean async, boolean clear) {

List<KDUserData> data = new ArrayList<>(playerDataCache.values());

if (data.size() <= 0) {
if (data.isEmpty()) {
return;
}

if (async) {
new Thread() {
public void run() {
saveAllPlayerData(false, clear);
}
}.start();
new Thread(() -> saveAllPlayerData(false, clear)).start();
return;
}

boolean success;

if (!isMigrated) {
success = sqlController.save(data.toArray(new KDUserData[data.size()]));
success = sqlController.save(data.toArray(new KDUserData[0]));
} else {
data.forEach(d -> KDStatusReloaded.getPlugin().getKDData().update(d));
success = true;
Expand All @@ -177,7 +173,7 @@ public void run() {
if (success && clear) {
playerDataCache.clear();
} else if (success) {
for (UUID uuid : new ArrayList<UUID>(playerDataCache.keySet())) {
for (UUID uuid : new ArrayList<>(playerDataCache.keySet())) {
if (Bukkit.getPlayer(uuid) == null) {
playerDataCache.remove(uuid);
}
Expand Down Expand Up @@ -293,14 +289,14 @@ private long getFirstMilliSecond(TimeUnit unit) {
public void miguration(Player p) {
new Thread() {

private File folder = new File(KDStatusReloaded.getPlugin().getDataFolder(), "PlayerData");
private final File folder = new File(KDStatusReloaded.getPlugin().getDataFolder(), "PlayerData");
private int finished = 0;
private int fileCount = -1;

public void run() {
fileCount = folder.listFiles().length;

for (File file : Arrays.asList(folder.listFiles())) {
for (File file : folder.listFiles()) {
UUID uuid = UUID.fromString(file.getName().substring(0, file.getName().lastIndexOf(".")));

if (!playerDataCache.containsKey(uuid)) {
Expand Down
25 changes: 1 addition & 24 deletions src/main/java/jp/azisaba/lgw/kdstatus/sql/KillRankingData.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,4 @@

import java.util.UUID;

public class KillRankingData {

private final UUID uuid;
private final String name;
private final int kills;

public KillRankingData(UUID uuid, String name, int kills) {
this.uuid = uuid;
this.name = name;
this.kills = kills;
}

public UUID getUuid() {
return uuid;
}

public String getName() {
return name;
}

public int getKills() {
return kills;
}
}
public record KillRankingData(UUID uuid, String name, int kills) {}
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ public PlayerDataHikariMySQLController(Logger logger) {
this.logger = logger;
}

public void connect() {
}

@Override
public boolean createTable() {
return db.executeUpdate("CREATE TABLE IF NOT EXISTS kill_death_data "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public void create(KDUserData data) {
return;

try (Connection conn = sql.getConnection();
PreparedStatement ps = conn.prepareStatement("INSERT INTO kill_death_data (uuid,name,kills,deaths,daily_kills,monthly_kills,yearly_kills,last_updated) VALUES (?,?,?,?,?,?,?,?)");) {
PreparedStatement ps = conn.prepareStatement("INSERT INTO kill_death_data (uuid,name,kills,deaths,daily_kills,monthly_kills,yearly_kills,last_updated) VALUES (?,?,?,?,?,?,?,?)")) {
ps.setString(1, data.getUuid().toString());
ps.setString(2, data.getName());
ps.setInt(3, data.getKills(TimeUnit.LIFETIME));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ public boolean save(@NotNull KDUserData data) {
}

public boolean save(@NotNull KDUserData... data2) {
if (data2.length <= 0) {
if (data2.length == 0) {
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion src/test/java/jp/azisaba/lgw/kdstatus/DBMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public static void main(String[] args) {
PlayerDataMySQLController controller = new PlayerDataMySQLController(db, testLogger);
List<KillRankingData> dataList = controller.getTopKillRankingData(TimeUnit.LIFETIME, 10);
for(KillRankingData data: dataList) {
testLogger.info("Name: " + data.getName());
testLogger.info("Name: " + data.name());
}
int rank = controller.getRank(UUID.fromString("e76cae7b-dc41-40f9-86bb-01afc463e66c"), TimeUnit.LIFETIME);
testLogger.info("Ranking: " + rank);
Expand Down
6 changes: 4 additions & 2 deletions src/test/java/jp/azisaba/lgw/kdstatus/sql/ConnectionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;

import static org.junit.jupiter.api.Assertions.assertTrue;
Expand All @@ -16,9 +17,10 @@
public class ConnectionTest {
@Test
public void ConnectToDatabase() throws InterruptedException {
var logger = Logger.getLogger("DBConnectionTest");
Random rnd = new Random();
HikariMySQLDatabase db = new HikariMySQLDatabase(
Logger.getLogger("DBConnectionTest"),
logger,
10,
"localhost",
"3306",
Expand All @@ -34,7 +36,7 @@ public void ConnectToDatabase() throws InterruptedException {
PreparedStatement pstmt = conn.prepareStatement("SELECT 1")) {
assertTrue(pstmt.executeQuery().next());
} catch (SQLException e) {
e.printStackTrace();
logger.log(Level.SEVERE, "Failed to check connection", e);
}
Thread.sleep(rnd.nextInt(2000));
}
Expand Down
Loading