Skip to content

Commit 7e5351c

Browse files
committed
コマンドからdbをリセットできるように
1 parent 6a60be4 commit 7e5351c

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/main/java/com/github/elic0de/thejpspit/command/PitCommand.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,27 @@
44
import co.aikar.commands.annotation.CommandAlias;
55
import co.aikar.commands.annotation.CommandPermission;
66
import co.aikar.commands.annotation.Subcommand;
7+
import com.github.elic0de.thejpspit.TheJpsPit;
78
import com.github.elic0de.thejpspit.player.PitPlayer;
89
import com.github.elic0de.thejpspit.player.PitPlayerManager;
910
import org.bukkit.entity.Player;
1011

1112
@CommandAlias("pit|tjp|p")
1213
public class PitCommand extends BaseCommand {
1314

15+
private final TheJpsPit pit = TheJpsPit.getInstance();
16+
1417
@Subcommand("data")
1518
@CommandPermission("tjp.data")
1619
public void onCommand(Player player) {
1720
final PitPlayer pitPlayer = PitPlayerManager.getPitPlayer(player);
1821

1922
pitPlayer.sendStatus();
2023
}
24+
25+
@Subcommand("reset")
26+
@CommandPermission("tjp.reset")
27+
public void onReset(Player player) {
28+
pit.getDatabase().deletePlayerData();
29+
}
2130
}

src/main/java/com/github/elic0de/thejpspit/database/Database.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ public abstract CompletableFuture<Optional<Integer>> getPlayerRanking(PitPlayer
5858

5959
public abstract CompletableFuture<Void> updateUserData(PitPlayer player);
6060

61+
public abstract void deletePlayerData();
62+
6163
public abstract void terminate();
6264

6365
public enum RankType {

src/main/java/com/github/elic0de/thejpspit/database/SqLiteDatabase.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,19 @@ public CompletableFuture<Void> updateUserData(PitPlayer player) {
257257
});
258258
}
259259

260+
@Override
261+
public void deletePlayerData() {
262+
try (Connection connection = getConnection()) {
263+
try (PreparedStatement statement = connection.prepareStatement(formatStatementTables("""
264+
DELETE FROM `%players_table%`
265+
"""))) {
266+
statement.executeUpdate();
267+
}
268+
} catch (SQLException e) {
269+
getLogger().log(Level.SEVERE, "Failed to delete playerData from table", e);
270+
}
271+
}
272+
260273
@Override
261274
public void terminate() {
262275
try {

0 commit comments

Comments
 (0)