diff --git a/RTPEachWorld/pom.xml b/RTPEachWorld/pom.xml new file mode 100644 index 0000000..2a8b8e0 --- /dev/null +++ b/RTPEachWorld/pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + + me.SuperRonanCraft + BetterRTP-EachWorld + jar + 3.4.2-1 + + + 1.8 + 1.8 + UTF-8 + + + + + + src/main/resources + true + + + ${project.artifactId}-${project.version} + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + ../../Java/plugins + + + + + + + + org.spigotmc + spigot-api + 1.8.8-R0.1-SNAPSHOT + provided + + + me.SuperRonanCraft + BetterRTP + 3.4.2-1 + provided + + + diff --git a/RTPEachWorld/src/me/superronancraft/rtpeachworld/DatabasePlayers.java b/RTPEachWorld/src/me/superronancraft/rtpeachworld/DatabasePlayers.java new file mode 100644 index 0000000..75640a9 --- /dev/null +++ b/RTPEachWorld/src/me/superronancraft/rtpeachworld/DatabasePlayers.java @@ -0,0 +1,86 @@ +package me.superronancraft.rtpeachworld; + +import me.SuperRonanCraft.BetterRTP.BetterRTP; +import me.SuperRonanCraft.BetterRTP.references.database.Errors; +import me.SuperRonanCraft.BetterRTP.references.database.SQLite; +import org.bukkit.Bukkit; +import org.bukkit.World; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; + +public class DatabasePlayers extends SQLite { + + public DatabasePlayers() { + super(DATABASE_TYPE.PLAYERS); + } + + @Override + public List getTables() { + List list = new ArrayList<>(); + for (World world : Bukkit.getWorlds()) + list.add(world.getName()); + return list; + } + + public enum COLUMNS { + UUID("uuid", "varchar(32) PRIMARY KEY"), + //COOLDOWN DATA + JOINED("joined", "boolean"), + ; + + public final String name; + public final String type; + + COLUMNS(String name, String type) { + this.name = name; + this.type = type; + } + } + + /*public void setupData(PlayerData data) { + Connection conn = null; + PreparedStatement ps = null; + ResultSet rs = null; + try { + conn = getSQLConnection(); + ps = conn.prepareStatement("SELECT * FROM " + getTables().get(0) + " WHERE " + COLUMNS.UUID.name + " = ?"); + ps.setString(1, data.player.getUniqueId().toString()); + + rs = ps.executeQuery(); + if (rs.next()) { + long count = rs.getLong(COLUMNS.COUNT.name); + long time = rs.getLong(COLUMNS.LAST_COOLDOWN_DATE.name); + data.setRtpCount(Math.toIntExact(count)); + data.setGlobalCooldown(time); + } + } catch (SQLException ex) { + BetterRTP.getInstance().getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex); + } finally { + close(ps, rs, conn); + } + } + + //Set a player Cooldown + public void setData(PlayerData data) { + String pre = "INSERT OR REPLACE INTO "; + String sql = pre + getTables().get(0) + " (" + + COLUMNS.UUID.name + ", " + + COLUMNS.COUNT.name + ", " + + COLUMNS.LAST_COOLDOWN_DATE.name + " " + //+ COLUMNS.USES.name + " " + + ") VALUES(?, ?, ?)"; + List params = new ArrayList() {{ + add(data.player.getUniqueId().toString()); + add(data.getRtpCount()); + add(data.getGlobalCooldown()); + //add(data.getUses()); + }}; + sqlUpdate(sql, params); + }*/ +} \ No newline at end of file diff --git a/RTPEachWorld/src/me/superronancraft/rtpeachworld/Main.java b/RTPEachWorld/src/me/superronancraft/rtpeachworld/Main.java new file mode 100644 index 0000000..3e1090a --- /dev/null +++ b/RTPEachWorld/src/me/superronancraft/rtpeachworld/Main.java @@ -0,0 +1,4 @@ +package me.superronancraft.rtpeachworld; + +public class Main { +} diff --git a/RTPEachWorld/src/me/superronancraft/rtpeachworld/PlayerData.java b/RTPEachWorld/src/me/superronancraft/rtpeachworld/PlayerData.java new file mode 100644 index 0000000..58e50d9 --- /dev/null +++ b/RTPEachWorld/src/me/superronancraft/rtpeachworld/PlayerData.java @@ -0,0 +1,12 @@ +package me.superronancraft.rtpeachworld; + +import org.bukkit.World; +import org.bukkit.entity.Player; + +import java.util.HashMap; + +public class PlayerData { + + //HashMap> + +} diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java index 8edffcd..db5f21c 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java @@ -171,7 +171,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable { case "setup": return worldPlayer.setup_type == RTP_SETUP_TYPE.LOCATION ? " &7(" + worldPlayer.setup_name + ")" : ""; case "cooldown": - return worldPlayer.getPlayer() != null ? PermissionNode.BYPASS_COOLDOWN.check(worldPlayer.getPlayer()) ? " &8(bypassing)" : "" : "&cN/A"; + return worldPlayer.getPlayer() != null ? PermissionNode.BYPASS_COOLDOWN.check(worldPlayer.getPlayer()) ? " &8(bypassing)" : "" : " &cN/A"; } return ""; } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldownsWorlds.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java similarity index 97% rename from src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldownsWorlds.java rename to src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java index aeb28b5..c5030c5 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldownsWorlds.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java @@ -14,9 +14,9 @@ import java.util.List; import java.util.UUID; import java.util.logging.Level; -public class DatabaseCooldownsWorlds extends SQLite { +public class DatabaseCooldowns extends SQLite { - public DatabaseCooldownsWorlds() { + public DatabaseCooldowns() { super(DATABASE_TYPE.COOLDOWN); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java index c5414dd..e6f87f4 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java @@ -7,13 +7,13 @@ import org.bukkit.Bukkit; public class DatabaseHandler { @Getter private final DatabasePlayers databasePlayers = new DatabasePlayers(); - @Getter private final DatabaseCooldownsWorlds databaseCooldownsWorlds = new DatabaseCooldownsWorlds(); + @Getter private final DatabaseCooldowns databaseCooldowns = new DatabaseCooldowns(); @Getter private final DatabaseQueue databaseQueue = new DatabaseQueue(); public void load() { Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> { databasePlayers.load(); - databaseCooldownsWorlds.load(); + databaseCooldowns.load(); databaseQueue.load(); }); } @@ -22,8 +22,8 @@ public class DatabaseHandler { return BetterRTP.getInstance().getDatabaseHandler().getDatabasePlayers(); } - public static DatabaseCooldownsWorlds getWorldCooldowns() { - return BetterRTP.getInstance().getDatabaseHandler().getDatabaseCooldownsWorlds(); + public static DatabaseCooldowns getCooldowns() { + return BetterRTP.getInstance().getDatabaseHandler().getDatabaseCooldowns(); } public static DatabaseQueue getQueue() { diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java index 6f61965..42f9efb 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java @@ -1,5 +1,6 @@ package me.SuperRonanCraft.BetterRTP.references.database; +import lombok.Getter; import lombok.NonNull; import me.SuperRonanCraft.BetterRTP.BetterRTP; import org.bukkit.Bukkit; @@ -14,7 +15,7 @@ import java.util.logging.Level; public abstract class SQLite { private static final String db_file_name = "database"; - List tables; + @Getter List tables; //private String host, database, username, password; //private int port; //boolean sqlEnabled; @@ -142,7 +143,7 @@ public abstract class SQLite { case PLAYERS: return DatabasePlayers.COLUMNS.values(); case QUEUE: return DatabaseQueue.COLUMNS.values(); case COOLDOWN: - default: return DatabaseCooldownsWorlds.COLUMNS.values(); + default: return DatabaseCooldowns.COLUMNS.values(); } } @@ -151,7 +152,7 @@ public abstract class SQLite { case PLAYERS: return ((DatabasePlayers.COLUMNS) column).name; case QUEUE: return ((DatabaseQueue.COLUMNS) column).name; case COOLDOWN: - default: return ((DatabaseCooldownsWorlds.COLUMNS) column).name; + default: return ((DatabaseCooldowns.COLUMNS) column).name; } } @@ -160,12 +161,12 @@ public abstract class SQLite { case PLAYERS: return ((DatabasePlayers.COLUMNS) column).type; case QUEUE: return ((DatabaseQueue.COLUMNS) column).type; case COOLDOWN: - default: return ((DatabaseCooldownsWorlds.COLUMNS) column).type; + default: return ((DatabaseCooldowns.COLUMNS) column).type; } } //Processing - boolean sqlUpdate(String statement, @NonNull List params) { + protected boolean sqlUpdate(String statement, @NonNull List params) { Connection conn = null; PreparedStatement ps = null; boolean success = true; @@ -239,7 +240,7 @@ public abstract class SQLite { } } - void close(PreparedStatement ps, ResultSet rs, Connection conn) { + protected void close(PreparedStatement ps, ResultSet rs, Connection conn) { try { if (ps != null) ps.close(); if (conn != null) conn.close(); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java index bc0df21..3b08a0d 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java @@ -3,7 +3,7 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo; import lombok.Getter; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.PermissionNode; -import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldownsWorlds; +import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns; import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler; import me.SuperRonanCraft.BetterRTP.references.file.FileBasics; import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer; @@ -43,7 +43,7 @@ public class CooldownHandler { private void queueDownload() { Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), () -> { - if (cooldownByWorld && !DatabaseHandler.getWorldCooldowns().isLoaded()) { + if (cooldownByWorld && !DatabaseHandler.getCooldowns().isLoaded()) { queueDownload(); return; } @@ -163,9 +163,9 @@ public class CooldownHandler { } @Nullable - private DatabaseCooldownsWorlds getDatabaseWorlds() { + private DatabaseCooldowns getDatabaseWorlds() { if (cooldownByWorld) - return DatabaseHandler.getWorldCooldowns(); + return DatabaseHandler.getCooldowns(); return null; }