mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 09:05:47 +00:00
portals save to database
This commit is contained in:
parent
9dc7605d40
commit
27fc53e780
@ -72,14 +72,14 @@
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.8.8-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- Spigot Stuff -->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot</artifactId>
|
||||
<version>1.8.8-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- Paper Library for Async Chunk/Teleport -->
|
||||
|
@ -1,8 +1,6 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||
|
||||
public interface Addon {
|
||||
|
||||
|
@ -17,13 +17,14 @@ public class AddonsHandler {
|
||||
|
||||
public void load() {
|
||||
unload();
|
||||
//int addonCount = 0;
|
||||
for (Addons addon : Addons.values())
|
||||
if (addon.isEnabled()) {
|
||||
addon.load();
|
||||
addons.add(addon);
|
||||
} else {
|
||||
Main.getInstance().getLogger().log(Level.INFO, "Addon " + addon.name() + " was NOT enabled.");
|
||||
//addonCount++;
|
||||
}
|
||||
//Main.getInstance().getLogger().log(Level.INFO, addonCount + "/" + Addons.values().length + " addons were enabled!");
|
||||
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
|
||||
}
|
||||
|
||||
@ -37,7 +38,7 @@ public class AddonsHandler {
|
||||
LOGGER(new AddonLogger()),
|
||||
FLASH_BACK(new AddonFlashback()),
|
||||
PORTALS(new AddonPortals()),
|
||||
INTERFACES(new AddonInterface())
|
||||
//INTERFACES(new AddonInterface())
|
||||
;
|
||||
|
||||
Addon addon;
|
||||
@ -52,7 +53,7 @@ public class AddonsHandler {
|
||||
|
||||
void load() {
|
||||
addon.load();
|
||||
Main.getInstance().getLogger().log(Level.INFO, "Addon " + this.name() + " has been enabled!");
|
||||
//Main.getInstance().getLogger().log(Level.INFO, "Addon " + this.name() + " has been enabled!");
|
||||
}
|
||||
|
||||
void disable() {
|
||||
|
@ -1,12 +1,17 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.LangFile;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AddonsMessages {
|
||||
|
||||
default LangFile getLang() {
|
||||
return Main.getInstance().getFiles().getLang();
|
||||
}
|
||||
|
||||
default void sms(CommandSender sendi, String msg) {
|
||||
BetterRTP.getInstance().getText().sms(sendi, msg);
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.ReloadListener;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class Main extends JavaPlugin {
|
||||
@ -20,7 +22,7 @@ public class Main extends JavaPlugin {
|
||||
addonsHandler.unload();
|
||||
}
|
||||
|
||||
void load() {
|
||||
public void load() {
|
||||
files.load();
|
||||
addonsHandler.load();
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -13,11 +13,12 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
|
||||
//When rtp'ing, a player will be teleported back to old location after a set amount of time
|
||||
public class AddonFlashback implements Addon, Listener {
|
||||
|
||||
private String name = "Flashback";
|
||||
|
||||
private Long time;
|
||||
public final FlashbackMessages msgs = new FlashbackMessages();
|
||||
public final FlashbackDatabase database = new FlashbackDatabase();
|
||||
@ -25,18 +26,18 @@ public class AddonFlashback implements Addon, Listener {
|
||||
HashMap<Long, String> warnings = new HashMap<>();
|
||||
|
||||
public boolean isEnabled() {
|
||||
return getFile(Files.FILETYPE.FLASHBACK).getBoolean("Enabled");
|
||||
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".Enabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
Files.FILETYPE file = getFile(Files.FILETYPE.FLASHBACK);
|
||||
this.time = file.getConfig().getLong("Time");
|
||||
Files.FILETYPE file = getFile(Files.FILETYPE.CONFIG);
|
||||
this.time = file.getConfig().getLong(name + ".Time");
|
||||
this.database.load(FlashbackDatabase.Columns.values());
|
||||
|
||||
warnings.clear();
|
||||
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
|
||||
List<Map<?, ?>> override_map = file.getConfig().getMapList("Timer.Warnings");
|
||||
List<Map<?, ?>> override_map = file.getConfig().getMapList(name + ".Timer.Warnings");
|
||||
for (Map<?, ?> m : override_map)
|
||||
for (Map.Entry<?, ?> entry : m.entrySet()) {
|
||||
try {
|
||||
|
@ -1,7 +1,6 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.LocSerialization;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.PlayerInfo;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.LocSerialization;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.database.Database;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.database.DatabaseColumn;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.database.Errors;
|
||||
@ -41,7 +40,7 @@ public class FlashbackDatabase extends Database {
|
||||
}
|
||||
}
|
||||
|
||||
List<PlayerInfo> playerInfos = new ArrayList<>();
|
||||
List<FlashbackPlayerInfo> playerInfos = new ArrayList<>();
|
||||
|
||||
public FlashbackDatabase(){
|
||||
super("addon_flashback");
|
||||
@ -66,7 +65,7 @@ public class FlashbackDatabase extends Database {
|
||||
super.load(columns);
|
||||
}
|
||||
|
||||
public PlayerInfo getPlayer(Player p) {
|
||||
public FlashbackPlayerInfo getPlayer(Player p) {
|
||||
Connection conn = null;
|
||||
PreparedStatement ps = null;
|
||||
ResultSet rs = null;
|
||||
@ -78,7 +77,7 @@ public class FlashbackDatabase extends Database {
|
||||
rs = ps.executeQuery();
|
||||
if (rs.next()) {
|
||||
Location loc = LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_OLD.name));
|
||||
return new PlayerInfo(p, loc);
|
||||
return new FlashbackPlayerInfo(p, loc);
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||
|
@ -1,16 +1,11 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class FlashbackMessages implements AddonsMessages {
|
||||
private static String preM = "Messages";
|
||||
|
||||
private Files.FILETYPE getLang() {
|
||||
return Files.FILETYPE.FLASHBACK;
|
||||
}
|
||||
|
||||
public void getWarning(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Warning"));
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PlayerInfo {
|
||||
public class FlashbackPlayerInfo {
|
||||
|
||||
private final Player player;
|
||||
private final Location location;
|
||||
|
||||
public PlayerInfo(Player player, Location location) {
|
||||
public FlashbackPlayerInfo(Player player, Location location) {
|
||||
this.player = player;
|
||||
this.location = location;
|
||||
}
|
@ -1,13 +1,15 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.interfaces;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||
|
||||
public class AddonInterface implements Addon {
|
||||
|
||||
private String name = "Interface";
|
||||
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
return getFile(Files.FILETYPE.INTERFACE).getBoolean("Enabled");
|
||||
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + "Enabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,12 +1,11 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.logger;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload;
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -21,6 +20,7 @@ import java.util.logging.*;
|
||||
|
||||
public class AddonLogger implements Addon, Listener {
|
||||
|
||||
private final String name = "Logger";
|
||||
private String format;
|
||||
private boolean toConsole;
|
||||
Logger logger;
|
||||
@ -29,14 +29,14 @@ public class AddonLogger implements Addon, Listener {
|
||||
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
return getFile(Files.FILETYPE.LOGGER).getBoolean("Enabled");
|
||||
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".Enabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
|
||||
this.format = getFile(Files.FILETYPE.LOGGER).getString("Format");
|
||||
this.toConsole = getFile(Files.FILETYPE.LOGGER).getBoolean("LogToConsole");
|
||||
this.format = getFile(Files.FILETYPE.CONFIG).getString(name + ".Format");
|
||||
this.toConsole = getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".LogToConsole");
|
||||
try {
|
||||
File f = new File(Main.getInstance().getDataFolder() + File.separator + "log.txt");
|
||||
handler = new FileHandler(f.getPath(), true);
|
||||
|
@ -2,38 +2,42 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsCache;
|
||||
|
||||
//Create portals for rtp'ing
|
||||
public class AddonPortals implements Addon {
|
||||
|
||||
private final String name = "Portals";
|
||||
public PortalsMessages msgs = new PortalsMessages();
|
||||
private final PortalsCommand cmd = new PortalsCommand(this);
|
||||
private final PortalsDatabase database = new PortalsDatabase();
|
||||
private final PortalsCache portalsCache = new PortalsCache();
|
||||
private final PortalsCache portalsCache = new PortalsCache(this);
|
||||
private final PortalsEvents events = new PortalsEvents(this);
|
||||
|
||||
public boolean isEnabled() {
|
||||
return getFile(Files.FILETYPE.PORTALS).getBoolean("Enabled");
|
||||
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".Enabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
|
||||
this.database.load(PortalsDatabase.Columns.values());
|
||||
database.load(PortalsDatabase.Columns.values());
|
||||
events.register();
|
||||
portalsCache.load();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unload() {
|
||||
this.portalsCache.unload();
|
||||
portalsCache.unload();
|
||||
events.unregiter();
|
||||
}
|
||||
|
||||
public PortalsCache getPortals() {
|
||||
return portalsCache;
|
||||
}
|
||||
|
||||
public PortalsDatabase getDatabase() {
|
||||
return database;
|
||||
}
|
||||
}
|
||||
|
@ -58,7 +58,8 @@ public class PortalsCommand implements RTPCommand, RTPCommandHelpable {
|
||||
private enum subCmd {
|
||||
LOC1(new PortalsCommand_Loc1()),
|
||||
LOC2(new PortalsCommand_Loc2()),
|
||||
CREATE(new PortalsCommand_Create());
|
||||
CREATE(new PortalsCommand_Create()),
|
||||
REMOVE(new PortalsCommand_Remove());
|
||||
|
||||
PortalsCommands cmd;
|
||||
|
||||
|
@ -1,22 +0,0 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PortalsCreation {
|
||||
|
||||
public Player p;
|
||||
protected Location loc_1, loc_2;
|
||||
|
||||
PortalsCreation(Player p) {
|
||||
this.p = p;
|
||||
}
|
||||
|
||||
public Location getLoc1() {
|
||||
return loc_1;
|
||||
}
|
||||
|
||||
public Location getLoc2() {
|
||||
return loc_2;
|
||||
}
|
||||
}
|
@ -1,19 +1,25 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.PlayerInfo;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.util.LocSerialization;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsRegionInfo;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.database.Database;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.database.DatabaseColumn;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.database.Errors;
|
||||
|
||||
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 PortalsDatabase extends Database {
|
||||
|
||||
enum Columns implements DatabaseColumn {
|
||||
ID("portal", "integer"),
|
||||
LOCATION_1("location_1", "longtext"),
|
||||
LOCATION_2("location_2", "longtext"),
|
||||
TITLE("title", "varchar(255)");
|
||||
NAME("name", "varchar(255)");
|
||||
|
||||
private final String name;
|
||||
private final String type;
|
||||
@ -34,17 +40,14 @@ public class PortalsDatabase extends Database {
|
||||
}
|
||||
}
|
||||
|
||||
List<PlayerInfo> playerInfos = new ArrayList<>();
|
||||
|
||||
public PortalsDatabase(){
|
||||
super("addon_portals");
|
||||
}
|
||||
|
||||
private final String createTable = "CREATE TABLE IF NOT EXISTS " + table + " (" +
|
||||
"`" + Columns.ID.name + "` " + Columns.ID.type + " PRIMARY KEY AUTOINCREMENT," +
|
||||
"`" + Columns.NAME.name + "` " + Columns.NAME.type + " PRIMARY KEY," +
|
||||
"`" + Columns.LOCATION_1.name + "` " + Columns.LOCATION_2.type + "," +
|
||||
"`" + Columns.LOCATION_2.name + "` " + Columns.LOCATION_2.type + "," +
|
||||
"`" + Columns.TITLE.name + "` " + Columns.TITLE.type +
|
||||
"`" + Columns.LOCATION_2.name + "` " + Columns.LOCATION_2.type +
|
||||
");";
|
||||
|
||||
|
||||
@ -55,24 +58,24 @@ public class PortalsDatabase extends Database {
|
||||
|
||||
@Override
|
||||
public void load(DatabaseColumn[] columns) {
|
||||
playerInfos.clear();
|
||||
super.load(columns);
|
||||
}
|
||||
|
||||
/*public PlayerInfo getPlayer(Player p) {
|
||||
public List<PortalsRegionInfo> getPortals() {
|
||||
Connection conn = null;
|
||||
PreparedStatement ps = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
conn = getSQLConnection();
|
||||
ps = conn.prepareStatement("SELECT * FROM " + table + " WHERE " + Columns.UUID.name + " = ?");
|
||||
UUID id = p.getUniqueId();
|
||||
ps.setString(1, id != null ? id.toString() : console_id);
|
||||
ps = conn.prepareStatement("SELECT * FROM " + table);
|
||||
rs = ps.executeQuery();
|
||||
if (rs.next()) {
|
||||
Location loc = LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_OLD.name));
|
||||
return new PlayerInfo(p, loc);
|
||||
List<PortalsRegionInfo> list = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
PortalsRegionInfo info = new PortalsRegionInfo();
|
||||
info.setLoc1(LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_1.name)));
|
||||
info.setLoc2(LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_2.name)));
|
||||
}
|
||||
return list;
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||
} finally {
|
||||
@ -81,19 +84,25 @@ public class PortalsDatabase extends Database {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean setPlayer(Player p, Location oldLocation) {
|
||||
public boolean removePortal(PortalsRegionInfo portal) {
|
||||
Connection conn = null;
|
||||
PreparedStatement ps = null;
|
||||
boolean success = true;
|
||||
try {
|
||||
conn = getSQLConnection();
|
||||
ps = conn.prepareStatement("INSERT INTO " + table + "(" + Columns.UUID.name + ", " + Columns.LOCATION_OLD.name + ") VALUES (?, ?) "
|
||||
+ "ON CONFLICT(" + Columns.UUID.name + ") DO UPDATE SET " + Columns.LOCATION_OLD.name + " = + ?");
|
||||
UUID id = p.getUniqueId();
|
||||
ps.setString(1, id != null ? id.toString() : console_id);
|
||||
String serialLocation = LocSerialization.getStringFromLocation(oldLocation);
|
||||
ps.setString(2, serialLocation);
|
||||
ps.setString(3, serialLocation);
|
||||
ps = conn.prepareStatement("INSERT INTO " + table + "(" +
|
||||
Columns.NAME.name + ", " +
|
||||
Columns.LOCATION_1.name + ", " +
|
||||
Columns.LOCATION_2.name + ") VALUES (?, ?, ?) "
|
||||
+ "ON CONFLICT(" + Columns.NAME.name + ") DO UPDATE SET " +
|
||||
Columns.LOCATION_1.name + " = + ?, " + Columns.LOCATION_2.name + " = ?");
|
||||
ps.setString(1, portal.getName());
|
||||
String serialLocation_1 = LocSerialization.getStringFromLocation(portal.getLoc1());
|
||||
String serialLocation_2 = LocSerialization.getStringFromLocation(portal.getLoc2());
|
||||
ps.setString(2, serialLocation_1);
|
||||
ps.setString(3, serialLocation_2);
|
||||
ps.setString(4, serialLocation_1);
|
||||
ps.setString(5, serialLocation_2);
|
||||
ps.executeUpdate();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||
@ -102,5 +111,34 @@ public class PortalsDatabase extends Database {
|
||||
close(ps, null, conn);
|
||||
}
|
||||
return success;
|
||||
}*/
|
||||
}
|
||||
|
||||
public boolean setPortal(PortalsRegionInfo portal) {
|
||||
Connection conn = null;
|
||||
PreparedStatement ps = null;
|
||||
boolean success = true;
|
||||
try {
|
||||
conn = getSQLConnection();
|
||||
ps = conn.prepareStatement("INSERT INTO " + table + "(" +
|
||||
Columns.NAME.name + ", " +
|
||||
Columns.LOCATION_1.name + ", " +
|
||||
Columns.LOCATION_2.name + ") VALUES (?, ?, ?) "
|
||||
+ "ON CONFLICT(" + Columns.NAME.name + ") DO UPDATE SET " +
|
||||
Columns.LOCATION_1.name + " = + ?, " + Columns.LOCATION_2.name + " = ?");
|
||||
ps.setString(1, portal.getName());
|
||||
String serialLocation_1 = LocSerialization.getStringFromLocation(portal.getLoc1());
|
||||
String serialLocation_2 = LocSerialization.getStringFromLocation(portal.getLoc2());
|
||||
ps.setString(2, serialLocation_1);
|
||||
ps.setString(3, serialLocation_2);
|
||||
ps.setString(4, serialLocation_1);
|
||||
ps.setString(5, serialLocation_2);
|
||||
ps.executeUpdate();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||
success = false;
|
||||
} finally {
|
||||
close(ps, null, conn);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public class PortalsEvent_Move implements Listener {
|
||||
|
||||
public void register() {
|
||||
Main.getInstance().getServer().getPluginManager().registerEvents(this, Main.getInstance());
|
||||
}
|
||||
|
||||
public void unregiter() {
|
||||
HandlerList.unregisterAll(this);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
void move(PlayerMoveEvent e) {
|
||||
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public class PortalsEvent_WorldChange implements Listener {
|
||||
|
||||
public void register() {
|
||||
Main.getInstance().getServer().getPluginManager().registerEvents(this, Main.getInstance());
|
||||
}
|
||||
|
||||
public void unregiter() {
|
||||
HandlerList.unregisterAll(this);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
void move(PlayerMoveEvent e) {
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsRegionInfo;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PortalsEvents implements Listener {
|
||||
|
||||
AddonPortals addonPortals;
|
||||
|
||||
PortalsEvents(AddonPortals addonPortals) {
|
||||
this.addonPortals = addonPortals;
|
||||
}
|
||||
|
||||
public void register() {
|
||||
Main.getInstance().getServer().getPluginManager().registerEvents(this, Main.getInstance());
|
||||
}
|
||||
|
||||
public void unregiter() {
|
||||
HandlerList.unregisterAll(this);
|
||||
}
|
||||
|
||||
@EventHandler (priority = EventPriority.MONITOR)
|
||||
void move(PlayerMoveEvent e) {
|
||||
if (e.getFrom() != e.getTo()) {
|
||||
for (PortalsRegionInfo portal : addonPortals.getPortals().getRegisteredPortals()) {
|
||||
Location loc1 = portal.getLoc1(), loc2 = portal.getLoc2();
|
||||
for (int x = Math.max(loc1.getBlockX(), loc2.getBlockX()); x >= Math.min(loc1.getBlockX(), loc2.getBlockX()); x--)
|
||||
for (int y = Math.max(loc1.getBlockY(), loc2.getBlockY()); y >= Math.min(loc1.getBlockY(), loc2.getBlockY()); y--)
|
||||
for (int z = Math.max(loc1.getBlockZ(), loc2.getBlockZ()); z >= Math.min(loc1.getBlockZ(), loc2.getBlockZ()); z--) {
|
||||
e.getPlayer().sendMessage("Inside Region!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,21 +1,62 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class PortalsMessages implements AddonsMessages {
|
||||
private static final String preM = "Messages.";
|
||||
|
||||
private Files.FILETYPE getLang() {
|
||||
return Files.FILETYPE.PORTALS;
|
||||
}
|
||||
private static final String preM = "Portals.";
|
||||
|
||||
public void getWarning(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Warning"));
|
||||
}
|
||||
|
||||
public String getHelp() {
|
||||
return getLang().getString(preM + "Help");
|
||||
return getLang().getString("Help.Portals");
|
||||
}
|
||||
|
||||
//Create
|
||||
|
||||
public void getCreateConfirm(CommandSender sendi, String name) {
|
||||
sms(sendi, getLang().getString(preM + "Created.Confirm").replace("%name%", name));
|
||||
}
|
||||
|
||||
public void getCreateInvalid(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Created.Invalid"));
|
||||
}
|
||||
|
||||
public void getCreateName(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Created.Name"));
|
||||
}
|
||||
|
||||
public void getCreateDuplicate(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Created.Duplicate"));
|
||||
}
|
||||
|
||||
//Location
|
||||
|
||||
public void getLocation_1(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Location.1"));
|
||||
}
|
||||
|
||||
public void getLocation_2(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Location.2"));
|
||||
}
|
||||
|
||||
public void getLocation_Look(CommandSender sendi) {
|
||||
sms(sendi, getLang().getString(preM + "Location.Look"));
|
||||
}
|
||||
|
||||
//Remove
|
||||
|
||||
public void getRemoveConfirm(CommandSender sendi, String name) {
|
||||
sms(sendi, getLang().getString(preM + "Remove.Confirm").replace("%name%", name));
|
||||
}
|
||||
|
||||
public void getRemoveNone(CommandSender sendi, String name) {
|
||||
sms(sendi, getLang().getString(preM + "Remove.None").replace("%name%", name));
|
||||
}
|
||||
|
||||
public void usageRemove(CommandSender sendi, String label) {
|
||||
sms(sendi, getLang().getString(preM + "Usage.Remove").replace("%command%", label));
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.PortalsCreation;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsRegionInfo;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@ -9,12 +9,33 @@ public class PortalsCommand_Create implements PortalsCommands {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sendi, String label, String[] args, AddonPortals addonPortals) {
|
||||
sendi.sendMessage("Portals Create command!");
|
||||
PortalsCreation portal = addonPortals.getPortals().getPortal((Player) sendi);
|
||||
if (portal == null || portal.getLoc1() == null || portal.getLoc2() == null) {
|
||||
sendi.sendMessage("Invalid portal!");
|
||||
if (!(sendi instanceof Player)) {
|
||||
sendi.sendMessage("Console cannot perform this command!");
|
||||
return;
|
||||
}
|
||||
sendi.sendMessage("Valid portal!");
|
||||
Player p = (Player) sendi;
|
||||
PortalsRegionInfo portal = addonPortals.getPortals().getPortal(p);
|
||||
//Valid region
|
||||
if (portal == null || portal.getLoc1() == null || portal.getLoc2() == null) {
|
||||
addonPortals.msgs.getCreateInvalid(sendi);
|
||||
return;
|
||||
}
|
||||
//Valid Name
|
||||
if (args.length < 3 || args[2].length() < 1) {
|
||||
addonPortals.msgs.getCreateName(sendi);
|
||||
return;
|
||||
}
|
||||
String name = args[2];
|
||||
//Duplicate Name
|
||||
for (PortalsRegionInfo portals : addonPortals.getPortals().getRegisteredPortals()) {
|
||||
if (portals.getName().equals(name)) {
|
||||
addonPortals.msgs.getCreateDuplicate(sendi);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (addonPortals.getPortals().setPortal(p, name))
|
||||
addonPortals.msgs.getCreateConfirm(sendi, name);
|
||||
else
|
||||
sendi.sendMessage("Something went wrong when creating a portal!");
|
||||
}
|
||||
}
|
||||
|
@ -1,21 +1,12 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import com.comphenix.protocol.ProtocolManager;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.wrappers.BlockPosition;
|
||||
import com.comphenix.protocol.wrappers.WrappedBlockData;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
public class PortalsCommand_Loc1 implements PortalsCommands, LocationFinder {
|
||||
|
||||
private PacketContainer fakeBlock;
|
||||
@ -26,10 +17,10 @@ public class PortalsCommand_Loc1 implements PortalsCommands, LocationFinder {
|
||||
Block block = getTargetBlock(p, 10);
|
||||
if (block != null) {
|
||||
Location loc = block.getLocation();
|
||||
addonPortals.getPortals().setPortal(p, loc, false);
|
||||
sendi.sendMessage("Location 1 set to this location!");
|
||||
addonPortals.getPortals().cachePortal(p, loc, false);
|
||||
addonPortals.msgs.getLocation_1(sendi);
|
||||
} else {
|
||||
sendi.sendMessage("Please look at a block!");
|
||||
addonPortals.msgs.getLocation_Look(sendi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,9 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.BlockIterator;
|
||||
|
||||
public class PortalsCommand_Loc2 implements PortalsCommands, LocationFinder {
|
||||
|
||||
@ -16,10 +14,10 @@ public class PortalsCommand_Loc2 implements PortalsCommands, LocationFinder {
|
||||
Block block = getTargetBlock(p, 10);
|
||||
if (block != null) {
|
||||
Location loc = block.getLocation();
|
||||
addonPortals.getPortals().setPortal(p, loc, true);
|
||||
sendi.sendMessage("Location 2 set to this location!");
|
||||
addonPortals.getPortals().cachePortal(p, loc, true);
|
||||
addonPortals.msgs.getLocation_2(sendi);
|
||||
} else {
|
||||
sendi.sendMessage("Please look at a block!");
|
||||
addonPortals.msgs.getLocation_Look(sendi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsRegionInfo;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PortalsCommand_Remove implements PortalsCommands {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sendi, String label, String[] args, AddonPortals addonPortals) {
|
||||
if (args.length < 3) {
|
||||
addonPortals.msgs.usageRemove(sendi, label);
|
||||
return;
|
||||
}
|
||||
String portalName = args[2];
|
||||
for (PortalsRegionInfo portal : addonPortals.getPortals().getRegisteredPortals()) {
|
||||
if (portal.getName().equals(portalName)) {
|
||||
if (addonPortals.getPortals().removeRegisteredPortal(portal))
|
||||
addonPortals.msgs.getRemoveConfirm(sendi, portal.getName());
|
||||
else
|
||||
sendi.sendMessage("Error Removing portal " + portalName);
|
||||
return;
|
||||
}
|
||||
}
|
||||
//None found
|
||||
addonPortals.msgs.getRemoveNone(sendi, portalName);
|
||||
}
|
||||
}
|
@ -1,14 +1,13 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.region;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import com.comphenix.protocol.ProtocolManager;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.wrappers.BlockPosition;
|
||||
import com.comphenix.protocol.wrappers.ChunkCoordIntPair;
|
||||
import com.comphenix.protocol.wrappers.MultiBlockChangeInfo;
|
||||
import com.comphenix.protocol.wrappers.WrappedBlockData;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.packets.BlockChangeArray;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.packets.WrapperPlayServerBlockChange;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.packets.WrapperPlayServerMultiBlockChange;
|
||||
@ -16,17 +15,27 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class PortalsCache {
|
||||
|
||||
private final HashMap<Player, PortalsCreation> portalsBeingCreated = new HashMap<>();
|
||||
AddonPortals addonPortals;
|
||||
private List<PortalsRegionInfo> registeredPortals;
|
||||
private final HashMap<Player, PortalsRegionInfo> portalsBeingCreated = new HashMap<>();
|
||||
|
||||
void unload() {
|
||||
public PortalsCache(AddonPortals addonPortals) {
|
||||
this.addonPortals = addonPortals;
|
||||
}
|
||||
|
||||
public void load() {
|
||||
registeredPortals = addonPortals.getDatabase().getPortals();
|
||||
}
|
||||
|
||||
public void unload() {
|
||||
portalsBeingCreated.clear();
|
||||
}
|
||||
|
||||
@ -34,12 +43,29 @@ public class PortalsCache {
|
||||
portalsBeingCreated.remove(p);
|
||||
}
|
||||
|
||||
public void setPortal(Player p, Location loc, boolean loc2) {
|
||||
PortalsCreation portal;
|
||||
public List<PortalsRegionInfo> getRegisteredPortals() {
|
||||
return registeredPortals;
|
||||
}
|
||||
|
||||
public boolean removeRegisteredPortal(PortalsRegionInfo portal) {
|
||||
registeredPortals.remove(portal);
|
||||
return addonPortals.getDatabase().removePortal(portal);
|
||||
}
|
||||
|
||||
public boolean setPortal(Player p, String name) {
|
||||
if (!portalsBeingCreated.containsKey(p))
|
||||
return false;
|
||||
PortalsRegionInfo portal = portalsBeingCreated.get(p);
|
||||
portal.name = name;
|
||||
return addonPortals.getDatabase().setPortal(portal);
|
||||
}
|
||||
|
||||
public void cachePortal(Player p, Location loc, boolean loc2) {
|
||||
PortalsRegionInfo portal;
|
||||
if (portalsBeingCreated.containsKey(p)) {
|
||||
portal = portalsBeingCreated.get(p);
|
||||
} else {
|
||||
portal = new PortalsCreation(p);
|
||||
portal = new PortalsRegionInfo();
|
||||
portalsBeingCreated.put(p, portal);
|
||||
}
|
||||
Location old_loc1 = portal.loc_1;
|
||||
@ -57,7 +83,7 @@ public class PortalsCache {
|
||||
//if (Math.abs(portal.loc_1.getBlockY() - portal.loc_2.getBlockY()) <= 10) {
|
||||
//preview(portal.loc_1, portal.loc_2);
|
||||
//}
|
||||
Location max = portal.loc_1;
|
||||
/*Location max = portal.loc_1;
|
||||
Location min = portal.loc_2;
|
||||
for (int x = Math.max(max.getBlockX(), min.getBlockX()); x >= Math.min(min.getBlockX(), max.getBlockX()); x--) {
|
||||
for (int y = Math.max(max.getBlockY(), min.getBlockY()); y >= Math.min(min.getBlockY(), max.getBlockY()); y--) {
|
||||
@ -70,7 +96,7 @@ public class PortalsCache {
|
||||
//block.setType(Material.GLOWSTONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
} else {
|
||||
WrapperPlayServerBlockChange packet = new WrapperPlayServerBlockChange(pm.createPacket(PacketType.Play.Server.BLOCK_CHANGE));
|
||||
packet.setBlockData(WrappedBlockData.createData(Material.GLOWSTONE));
|
||||
@ -89,7 +115,8 @@ public class PortalsCache {
|
||||
BlockChangeArray change = new BlockChangeArray(256);
|
||||
|
||||
WrapperPlayServerMultiBlockChange wrapper = new WrapperPlayServerMultiBlockChange(packet);
|
||||
//wrapper.setChunk(new ChunkCoordIntPair(chunk.getX(), chunk.getZ()));
|
||||
wrapper.setChunkX(chunk.getX());
|
||||
wrapper.setChunkZ(chunk.getZ());
|
||||
for (int x = 0; x <= 15; x++) {
|
||||
for(int z = 0; z <= 15; z++) {
|
||||
int index = (16 * x) + z;
|
||||
@ -116,7 +143,7 @@ public class PortalsCache {
|
||||
});
|
||||
}
|
||||
|
||||
public PortalsCreation getPortal(Player p) {
|
||||
public PortalsRegionInfo getPortal(Player p) {
|
||||
return portalsBeingCreated.getOrDefault(p, null);
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.region;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PortalsRegionInfo {
|
||||
|
||||
protected Location loc_1, loc_2;
|
||||
protected String name;
|
||||
|
||||
public Location getLoc1() {
|
||||
return loc_1;
|
||||
}
|
||||
|
||||
public Location getLoc2() {
|
||||
return loc_2;
|
||||
}
|
||||
|
||||
public void setLoc1(Location loc) {
|
||||
loc_1 = loc;
|
||||
}
|
||||
|
||||
public void setLoc2(Location loc) {
|
||||
loc_2 = loc;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
package me.SuperRonanCraft.BetterRTPAddons.util;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
@ -11,22 +12,28 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Files {
|
||||
private List<FILETYPE> types = new ArrayList<>();
|
||||
private final List<FILETYPE> types = new ArrayList<>();
|
||||
private final LangFile langFile = new LangFile();
|
||||
|
||||
public FILETYPE getType(FILETYPE type) {
|
||||
return types.get(types.indexOf(type));
|
||||
}
|
||||
|
||||
void load() {
|
||||
public void load() {
|
||||
types.clear();
|
||||
for (FILETYPE type : FILETYPE.values()) {
|
||||
type.load();
|
||||
types.add(type);
|
||||
}
|
||||
langFile.load();
|
||||
}
|
||||
|
||||
public LangFile getLang() {
|
||||
return langFile;
|
||||
}
|
||||
|
||||
public enum FILETYPE {
|
||||
CONFIG("config"), FLASHBACK("flashback"), PORTALS("portals"), INTERFACE("interface"), LOGGER("logger");
|
||||
CONFIG("config");
|
||||
|
||||
private final String fileName;
|
||||
private final YamlConfiguration config = new YamlConfiguration();
|
@ -0,0 +1,97 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.util;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class LangFile {
|
||||
private YamlConfiguration config = new YamlConfiguration();
|
||||
|
||||
public String getString(String path) {
|
||||
if (config.isString(path))
|
||||
return config.getString(path);
|
||||
return "SOMETHING WENT WRONG";
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public List<String> getStringList(String path) {
|
||||
if (config.isList(path))
|
||||
return config.getStringList(path);
|
||||
return Arrays.asList("SOMETHING WENT WRONG!");
|
||||
}
|
||||
|
||||
public boolean getBoolean(String path) {
|
||||
return config.getBoolean(path);
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public void load() {
|
||||
generateDefaults();
|
||||
String fileName = "lang" + File.separator + getPl().getFiles().getType(Files.FILETYPE.CONFIG).getString("Language-File");
|
||||
File file = new File(getPl().getDataFolder(), fileName);
|
||||
if (!file.exists()) {
|
||||
fileName = "lang" + File.separator + defaultLangs[0]; //Default to english
|
||||
file = new File(getPl().getDataFolder(), fileName);
|
||||
}
|
||||
try {
|
||||
config.load(file);
|
||||
InputStream in = getPl().getResource(fileName);
|
||||
if (in == null)
|
||||
in = getPl().getResource(fileName.replace(File.separator, "/"));
|
||||
if (in != null) {
|
||||
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(in)));
|
||||
config.options().copyDefaults(true);
|
||||
in.close();
|
||||
}
|
||||
config.save(file);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private final String[] defaultLangs = {
|
||||
"en.yml"
|
||||
};
|
||||
|
||||
private void generateDefaults() {
|
||||
//Generate all language files
|
||||
for (String yaml : defaultLangs) {
|
||||
generateDefaultConfig(yaml, yaml); //Generate its own defaults
|
||||
if (!yaml.equals(defaultLangs[0]))
|
||||
generateDefaultConfig(yaml, defaultLangs[0]); //Generate the english defaults (incase)
|
||||
}
|
||||
}
|
||||
|
||||
private void generateDefaultConfig(String fName, String fNameDef /*Name of file to generate defaults*/) {
|
||||
String fileName = "lang" + File.separator + fName;
|
||||
File file = new File(getPl().getDataFolder(), fileName);
|
||||
if (!file.exists())
|
||||
getPl().saveResource(fileName, false);
|
||||
try {
|
||||
YamlConfiguration config = new YamlConfiguration();
|
||||
config.load(file);
|
||||
String fileNameDef = "lang" + File.separator + fNameDef;
|
||||
InputStream in = getPl().getResource(fileNameDef);
|
||||
if (in == null)
|
||||
in = getPl().getResource(fileNameDef.replace(File.separator, "/"));
|
||||
if (in != null) {
|
||||
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(in)));
|
||||
config.options().copyDefaults(true);
|
||||
in.close();
|
||||
}
|
||||
config.save(file);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Main getPl() {
|
||||
return Main.getInstance();
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
package me.SuperRonanCraft.BetterRTPAddons.util;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
@ -1,14 +1,15 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons;
|
||||
package me.SuperRonanCraft.BetterRTPAddons.util;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload;
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class ReloadListener implements Listener {
|
||||
|
||||
ReloadListener(Main pl) {
|
||||
public ReloadListener(Main pl) {
|
||||
Bukkit.getPluginManager().registerEvents(this, pl);
|
||||
}
|
||||
|
@ -0,0 +1,17 @@
|
||||
Language-File: 'en.yml'
|
||||
#Addon Flashback
|
||||
Flashback:
|
||||
Enabled: true
|
||||
Timer:
|
||||
Delay: 15 #In Seconds
|
||||
Warnings: #Warning messages to send to a player when X amount of time is left
|
||||
- 5: "&eYou have 5 seconds left! Grab all your materials quick!"
|
||||
- 1: "&eHang on!"
|
||||
#Addon Logger
|
||||
Logger:
|
||||
Enabled: true
|
||||
LogToConsole: true
|
||||
Format: 'yyyy-MM-dd HH:mm:ss'
|
||||
#Addon Portals
|
||||
Portals:
|
||||
Enabled: true
|
@ -1,8 +0,0 @@
|
||||
Enabled: true
|
||||
Timer:
|
||||
Delay: 15 #In Seconds
|
||||
Warnings: #Warning messages to send to a player when X amount of time is left
|
||||
- 5: "&eYou have 5 seconds left! Grab all your materials quick!"
|
||||
- 1: "&eHang on!"
|
||||
Messages:
|
||||
Warning: '&6This Teleport is temporary! &7You will be teleported back soon...'
|
@ -1 +0,0 @@
|
||||
Enabled: false
|
23
BetterRTPAddons/src/main/resources/lang/en.yml
Normal file
23
BetterRTPAddons/src/main/resources/lang/en.yml
Normal file
@ -0,0 +1,23 @@
|
||||
Flashback:
|
||||
Warning: '&6This Teleport is temporary! &7You will be teleported back soon...'
|
||||
Portals:
|
||||
Created:
|
||||
Confirm: '&7Portal &a%name% &7has been created!'
|
||||
Invalid: '&7Portal location was not setup, please create a region!'
|
||||
Name: '&7Please provide a name for this portal!'
|
||||
Duplicate: '&7This name is already being used for another portal, please choose another!'
|
||||
Location:
|
||||
1: '&7Location &a1 &7has been set'
|
||||
2: '&7Location &a2 &7has been set'
|
||||
Look: '&7Please look towards a block and try again!'
|
||||
Remove:
|
||||
Confirm: '&cPortal &7%name% &chas been removed!'
|
||||
None: '&cNo portal by the name &7%name% &cexist!'
|
||||
|
||||
Usage:
|
||||
Portals:
|
||||
Remove: '&cUsage: &7/%command% portals remove <portal_name>'
|
||||
|
||||
|
||||
Help:
|
||||
Portals: ' &7- &e/%command% portals <loc1, loc2, create> &7- Setup an rtp portal'
|
@ -1,3 +0,0 @@
|
||||
Enabled: true
|
||||
LogToConsole: true
|
||||
Format: 'yyyy-MM-dd HH:mm:ss'
|
@ -1,4 +0,0 @@
|
||||
Enabled: false
|
||||
|
||||
Messages:
|
||||
Help: ' &7- &e/%command% portals <loc1, loc2, create> &7- Setup an rtp portal'
|
Loading…
x
Reference in New Issue
Block a user