mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-07-01 07:15:47 +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":
|
||||
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 "";
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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() {
|
||||
|
@ -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<String> tables;
|
||||
@Getter List<String> 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<Object> params) {
|
||||
protected boolean sqlUpdate(String statement, @NonNull List<Object> 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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user