mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-07-02 15:56:35 +00:00
sql update
This commit is contained in:
parent
133b27ed06
commit
1ddd053cbd
53
RTPEachWorld/pom.xml
Normal file
53
RTPEachWorld/pom.xml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
|
<artifactId>BetterRTP-EachWorld</artifactId>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<version>3.4.2-1</version>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
<finalName>${project.artifactId}-${project.version}</finalName>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<!-- Local Server Building -->
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>3.2.0</version>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>../../Java/plugins</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spigotmc</groupId>
|
||||||
|
<artifactId>spigot-api</artifactId>
|
||||||
|
<version>1.8.8-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
|
<artifactId>BetterRTP</artifactId>
|
||||||
|
<version>3.4.2-1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
@ -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<String> getTables() {
|
||||||
|
List<String> 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<Object> params = new ArrayList<Object>() {{
|
||||||
|
add(data.player.getUniqueId().toString());
|
||||||
|
add(data.getRtpCount());
|
||||||
|
add(data.getGlobalCooldown());
|
||||||
|
//add(data.getUses());
|
||||||
|
}};
|
||||||
|
sqlUpdate(sql, params);
|
||||||
|
}*/
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package me.superronancraft.rtpeachworld;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
}
|
@ -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<Player, HashMap<World, Boolean>>
|
||||||
|
|
||||||
|
}
|
@ -171,7 +171,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
|
|||||||
case "setup":
|
case "setup":
|
||||||
return worldPlayer.setup_type == RTP_SETUP_TYPE.LOCATION ? " &7(" + worldPlayer.setup_name + ")" : "";
|
return worldPlayer.setup_type == RTP_SETUP_TYPE.LOCATION ? " &7(" + worldPlayer.setup_name + ")" : "";
|
||||||
case "cooldown":
|
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 "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -14,9 +14,9 @@ import java.util.List;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class DatabaseCooldownsWorlds extends SQLite {
|
public class DatabaseCooldowns extends SQLite {
|
||||||
|
|
||||||
public DatabaseCooldownsWorlds() {
|
public DatabaseCooldowns() {
|
||||||
super(DATABASE_TYPE.COOLDOWN);
|
super(DATABASE_TYPE.COOLDOWN);
|
||||||
}
|
}
|
||||||
|
|
@ -7,13 +7,13 @@ import org.bukkit.Bukkit;
|
|||||||
public class DatabaseHandler {
|
public class DatabaseHandler {
|
||||||
|
|
||||||
@Getter private final DatabasePlayers databasePlayers = new DatabasePlayers();
|
@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();
|
@Getter private final DatabaseQueue databaseQueue = new DatabaseQueue();
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
||||||
databasePlayers.load();
|
databasePlayers.load();
|
||||||
databaseCooldownsWorlds.load();
|
databaseCooldowns.load();
|
||||||
databaseQueue.load();
|
databaseQueue.load();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -22,8 +22,8 @@ public class DatabaseHandler {
|
|||||||
return BetterRTP.getInstance().getDatabaseHandler().getDatabasePlayers();
|
return BetterRTP.getInstance().getDatabaseHandler().getDatabasePlayers();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DatabaseCooldownsWorlds getWorldCooldowns() {
|
public static DatabaseCooldowns getCooldowns() {
|
||||||
return BetterRTP.getInstance().getDatabaseHandler().getDatabaseCooldownsWorlds();
|
return BetterRTP.getInstance().getDatabaseHandler().getDatabaseCooldowns();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DatabaseQueue getQueue() {
|
public static DatabaseQueue getQueue() {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.database;
|
package me.SuperRonanCraft.BetterRTP.references.database;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@ -14,7 +15,7 @@ import java.util.logging.Level;
|
|||||||
public abstract class SQLite {
|
public abstract class SQLite {
|
||||||
|
|
||||||
private static final String db_file_name = "database";
|
private static final String db_file_name = "database";
|
||||||
List<String> tables;
|
@Getter List<String> tables;
|
||||||
//private String host, database, username, password;
|
//private String host, database, username, password;
|
||||||
//private int port;
|
//private int port;
|
||||||
//boolean sqlEnabled;
|
//boolean sqlEnabled;
|
||||||
@ -142,7 +143,7 @@ public abstract class SQLite {
|
|||||||
case PLAYERS: return DatabasePlayers.COLUMNS.values();
|
case PLAYERS: return DatabasePlayers.COLUMNS.values();
|
||||||
case QUEUE: return DatabaseQueue.COLUMNS.values();
|
case QUEUE: return DatabaseQueue.COLUMNS.values();
|
||||||
case COOLDOWN:
|
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 PLAYERS: return ((DatabasePlayers.COLUMNS) column).name;
|
||||||
case QUEUE: return ((DatabaseQueue.COLUMNS) column).name;
|
case QUEUE: return ((DatabaseQueue.COLUMNS) column).name;
|
||||||
case COOLDOWN:
|
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 PLAYERS: return ((DatabasePlayers.COLUMNS) column).type;
|
||||||
case QUEUE: return ((DatabaseQueue.COLUMNS) column).type;
|
case QUEUE: return ((DatabaseQueue.COLUMNS) column).type;
|
||||||
case COOLDOWN:
|
case COOLDOWN:
|
||||||
default: return ((DatabaseCooldownsWorlds.COLUMNS) column).type;
|
default: return ((DatabaseCooldowns.COLUMNS) column).type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Processing
|
//Processing
|
||||||
boolean sqlUpdate(String statement, @NonNull List<Object> params) {
|
protected boolean sqlUpdate(String statement, @NonNull List<Object> params) {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
boolean success = true;
|
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 {
|
try {
|
||||||
if (ps != null) ps.close();
|
if (ps != null) ps.close();
|
||||||
if (conn != null) conn.close();
|
if (conn != null) conn.close();
|
||||||
|
@ -3,7 +3,7 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
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.database.DatabaseHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
|
||||||
@ -43,7 +43,7 @@ public class CooldownHandler {
|
|||||||
|
|
||||||
private void queueDownload() {
|
private void queueDownload() {
|
||||||
Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), () -> {
|
Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), () -> {
|
||||||
if (cooldownByWorld && !DatabaseHandler.getWorldCooldowns().isLoaded()) {
|
if (cooldownByWorld && !DatabaseHandler.getCooldowns().isLoaded()) {
|
||||||
queueDownload();
|
queueDownload();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -163,9 +163,9 @@ public class CooldownHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private DatabaseCooldownsWorlds getDatabaseWorlds() {
|
private DatabaseCooldowns getDatabaseWorlds() {
|
||||||
if (cooldownByWorld)
|
if (cooldownByWorld)
|
||||||
return DatabaseHandler.getWorldCooldowns();
|
return DatabaseHandler.getCooldowns();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user