Upload folder via GUI - src
This commit is contained in:
@@ -131,20 +131,25 @@ public class DatabaseManager {
|
||||
|
||||
// ===== WARPS =====
|
||||
public void saveWarp(String name, TeleportLocation loc, UUID creator, String permission) {
|
||||
String sql = isMySQL
|
||||
? "INSERT INTO ts_warps (name,world,x,y,z,yaw,pitch,server,creator,permission) VALUES(?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE world=?,x=?,y=?,z=?,yaw=?,pitch=?,server=?"
|
||||
: "INSERT OR REPLACE INTO ts_warps (name,world,x,y,z,yaw,pitch,server,creator,permission) VALUES(?,?,?,?,?,?,?,?,?,?)";
|
||||
try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql)) {
|
||||
ps.setString(1, name); ps.setString(2, loc.getWorld());
|
||||
ps.setDouble(3, loc.getX()); ps.setDouble(4, loc.getY()); ps.setDouble(5, loc.getZ());
|
||||
ps.setFloat(6, loc.getYaw()); ps.setFloat(7, loc.getPitch()); ps.setString(8, loc.getServer());
|
||||
ps.setString(9, creator != null ? creator.toString() : null); ps.setString(10, permission);
|
||||
if (isMySQL) {
|
||||
ps.setString(11, loc.getWorld()); ps.setDouble(12, loc.getX()); ps.setDouble(13, loc.getY());
|
||||
ps.setDouble(14, loc.getZ()); ps.setFloat(15, loc.getYaw()); ps.setFloat(16, loc.getPitch());
|
||||
ps.setString(17, loc.getServer());
|
||||
try (Connection c = getConnection()) {
|
||||
boolean exists;
|
||||
try (PreparedStatement check = c.prepareStatement("SELECT 1 FROM ts_warps WHERE name=?")) {
|
||||
check.setString(1, name);
|
||||
exists = check.executeQuery().next();
|
||||
}
|
||||
String sql = exists
|
||||
? "UPDATE ts_warps SET world=?,x=?,y=?,z=?,yaw=?,pitch=?,server=?,creator=?,permission=? WHERE name=?"
|
||||
: "INSERT INTO ts_warps (world,x,y,z,yaw,pitch,server,creator,permission,name) VALUES(?,?,?,?,?,?,?,?,?,?)";
|
||||
try (PreparedStatement ps = c.prepareStatement(sql)) {
|
||||
ps.setString(1, loc.getWorld());
|
||||
ps.setDouble(2, loc.getX()); ps.setDouble(3, loc.getY()); ps.setDouble(4, loc.getZ());
|
||||
ps.setFloat(5, loc.getYaw()); ps.setFloat(6, loc.getPitch());
|
||||
ps.setString(7, loc.getServer());
|
||||
ps.setString(8, creator != null ? creator.toString() : null);
|
||||
ps.setString(9, permission);
|
||||
ps.setString(10, name);
|
||||
ps.executeUpdate();
|
||||
}
|
||||
ps.executeUpdate();
|
||||
} catch (SQLException e) { plugin.getLogger().warning("saveWarp: " + e.getMessage()); }
|
||||
}
|
||||
|
||||
@@ -250,19 +255,23 @@ public class DatabaseManager {
|
||||
|
||||
// ===== PLAYER DATA =====
|
||||
public void saveLastLocation(UUID uuid, TeleportLocation loc) {
|
||||
String sql = isMySQL
|
||||
? "INSERT INTO ts_player_data (uuid,last_world,last_x,last_y,last_z,last_yaw,last_pitch,last_server) VALUES(?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE last_world=?,last_x=?,last_y=?,last_z=?,last_yaw=?,last_pitch=?,last_server=?"
|
||||
: "INSERT OR REPLACE INTO ts_player_data (uuid,last_world,last_x,last_y,last_z,last_yaw,last_pitch,last_server) VALUES(?,?,?,?,?,?,?,?)";
|
||||
try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql)) {
|
||||
ps.setString(1, uuid.toString()); ps.setString(2, loc.getWorld());
|
||||
ps.setDouble(3, loc.getX()); ps.setDouble(4, loc.getY()); ps.setDouble(5, loc.getZ());
|
||||
ps.setFloat(6, loc.getYaw()); ps.setFloat(7, loc.getPitch()); ps.setString(8, loc.getServer());
|
||||
if (isMySQL) {
|
||||
ps.setString(9, loc.getWorld()); ps.setDouble(10, loc.getX()); ps.setDouble(11, loc.getY());
|
||||
ps.setDouble(12, loc.getZ()); ps.setFloat(13, loc.getYaw()); ps.setFloat(14, loc.getPitch());
|
||||
ps.setString(15, loc.getServer());
|
||||
try (Connection c = getConnection()) {
|
||||
// Check if row exists
|
||||
boolean exists;
|
||||
try (PreparedStatement check = c.prepareStatement("SELECT 1 FROM ts_player_data WHERE uuid=?")) {
|
||||
check.setString(1, uuid.toString());
|
||||
exists = check.executeQuery().next();
|
||||
}
|
||||
String sql = exists
|
||||
? "UPDATE ts_player_data SET last_world=?,last_x=?,last_y=?,last_z=?,last_yaw=?,last_pitch=?,last_server=? WHERE uuid=?"
|
||||
: "INSERT INTO ts_player_data (last_world,last_x,last_y,last_z,last_yaw,last_pitch,last_server,uuid) VALUES(?,?,?,?,?,?,?,?)";
|
||||
try (PreparedStatement ps = c.prepareStatement(sql)) {
|
||||
ps.setString(1, loc.getWorld());
|
||||
ps.setDouble(2, loc.getX()); ps.setDouble(3, loc.getY()); ps.setDouble(4, loc.getZ());
|
||||
ps.setFloat(5, loc.getYaw()); ps.setFloat(6, loc.getPitch());
|
||||
ps.setString(7, loc.getServer()); ps.setString(8, uuid.toString());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
ps.executeUpdate();
|
||||
} catch (SQLException e) { plugin.getLogger().warning("saveLastLocation: " + e.getMessage()); }
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,14 @@ public class WarpManager {
|
||||
public WarpManager(TeleportSuite plugin) { this.plugin = plugin; }
|
||||
|
||||
public void setWarp(Player player, String name, String permission) {
|
||||
TeleportLocation loc = new TeleportLocation(player.getLocation(), plugin.getConfigManager().getServerName());
|
||||
// Snapshot the location at the exact moment /setwarp is called
|
||||
TeleportLocation loc = new TeleportLocation(
|
||||
player.getLocation().clone(),
|
||||
plugin.getConfigManager().getServerName());
|
||||
plugin.getDatabaseManager().saveWarp(name, loc, player.getUniqueId(), permission);
|
||||
plugin.getLogger().info("Warp '" + name + "' gesetzt: "
|
||||
+ loc.getWorld() + " " + loc.getX() + "/" + loc.getY() + "/" + loc.getZ()
|
||||
+ " von " + player.getName());
|
||||
player.sendMessage(plugin.getConfigManager().getMessage("warp-set", "name", name));
|
||||
}
|
||||
|
||||
@@ -26,7 +32,11 @@ public class WarpManager {
|
||||
player.sendMessage(plugin.getConfigManager().getMessage("no-permission"));
|
||||
return;
|
||||
}
|
||||
plugin.getTeleportManager().teleport(player, warp.getLocation());
|
||||
TeleportLocation dest = warp.getLocation();
|
||||
plugin.getLogger().info("Warp '" + name + "' geladen: "
|
||||
+ dest.getWorld() + " " + dest.getX() + "/" + dest.getY() + "/" + dest.getZ()
|
||||
+ " -> Spieler " + player.getName());
|
||||
plugin.getTeleportManager().teleport(player, dest);
|
||||
}
|
||||
|
||||
public boolean deleteWarp(String name) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: TeleportSuite
|
||||
version: 1.0.3
|
||||
version: 1.0.4
|
||||
main: de.teleportsuite.TeleportSuite
|
||||
api-version: 1.20
|
||||
description: BungeeCord-fähiges Teleport-Komplettpaket
|
||||
|
||||
Reference in New Issue
Block a user