mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-18 09:35:50 +00:00
portals save to database
This commit is contained in:
parent
9dc7605d40
commit
27fc53e780
@ -72,14 +72,14 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.8.8-R0.1-SNAPSHOT</version>
|
<version>1.16.2-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Spigot Stuff -->
|
<!-- Spigot Stuff -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot</artifactId>
|
<artifactId>spigot</artifactId>
|
||||||
<version>1.8.8-R0.1-SNAPSHOT</version>
|
<version>1.16.2-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Paper Library for Async Chunk/Teleport -->
|
<!-- Paper Library for Async Chunk/Teleport -->
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons;
|
package me.SuperRonanCraft.BetterRTPAddons;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||||
import org.bukkit.event.HandlerList;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
public interface Addon {
|
public interface Addon {
|
||||||
|
|
||||||
|
@ -17,13 +17,14 @@ public class AddonsHandler {
|
|||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
unload();
|
unload();
|
||||||
|
//int addonCount = 0;
|
||||||
for (Addons addon : Addons.values())
|
for (Addons addon : Addons.values())
|
||||||
if (addon.isEnabled()) {
|
if (addon.isEnabled()) {
|
||||||
addon.load();
|
addon.load();
|
||||||
addons.add(addon);
|
addons.add(addon);
|
||||||
} else {
|
//addonCount++;
|
||||||
Main.getInstance().getLogger().log(Level.INFO, "Addon " + addon.name() + " was NOT enabled.");
|
|
||||||
}
|
}
|
||||||
|
//Main.getInstance().getLogger().log(Level.INFO, addonCount + "/" + Addons.values().length + " addons were enabled!");
|
||||||
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
|
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +38,7 @@ public class AddonsHandler {
|
|||||||
LOGGER(new AddonLogger()),
|
LOGGER(new AddonLogger()),
|
||||||
FLASH_BACK(new AddonFlashback()),
|
FLASH_BACK(new AddonFlashback()),
|
||||||
PORTALS(new AddonPortals()),
|
PORTALS(new AddonPortals()),
|
||||||
INTERFACES(new AddonInterface())
|
//INTERFACES(new AddonInterface())
|
||||||
;
|
;
|
||||||
|
|
||||||
Addon addon;
|
Addon addon;
|
||||||
@ -52,7 +53,7 @@ public class AddonsHandler {
|
|||||||
|
|
||||||
void load() {
|
void load() {
|
||||||
addon.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() {
|
void disable() {
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons;
|
package me.SuperRonanCraft.BetterRTPAddons;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.util.LangFile;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface AddonsMessages {
|
public interface AddonsMessages {
|
||||||
|
|
||||||
|
default LangFile getLang() {
|
||||||
|
return Main.getInstance().getFiles().getLang();
|
||||||
|
}
|
||||||
|
|
||||||
default void sms(CommandSender sendi, String msg) {
|
default void sms(CommandSender sendi, String msg) {
|
||||||
BetterRTP.getInstance().getText().sms(sendi, msg);
|
BetterRTP.getInstance().getText().sms(sendi, msg);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons;
|
package me.SuperRonanCraft.BetterRTPAddons;
|
||||||
|
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.util.ReloadListener;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public class Main extends JavaPlugin {
|
public class Main extends JavaPlugin {
|
||||||
@ -20,7 +22,7 @@ public class Main extends JavaPlugin {
|
|||||||
addonsHandler.unload();
|
addonsHandler.unload();
|
||||||
}
|
}
|
||||||
|
|
||||||
void load() {
|
public void load() {
|
||||||
files.load();
|
files.load();
|
||||||
addonsHandler.load();
|
addonsHandler.load();
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
|||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -13,11 +13,12 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
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
|
//When rtp'ing, a player will be teleported back to old location after a set amount of time
|
||||||
public class AddonFlashback implements Addon, Listener {
|
public class AddonFlashback implements Addon, Listener {
|
||||||
|
|
||||||
|
private String name = "Flashback";
|
||||||
|
|
||||||
private Long time;
|
private Long time;
|
||||||
public final FlashbackMessages msgs = new FlashbackMessages();
|
public final FlashbackMessages msgs = new FlashbackMessages();
|
||||||
public final FlashbackDatabase database = new FlashbackDatabase();
|
public final FlashbackDatabase database = new FlashbackDatabase();
|
||||||
@ -25,18 +26,18 @@ public class AddonFlashback implements Addon, Listener {
|
|||||||
HashMap<Long, String> warnings = new HashMap<>();
|
HashMap<Long, String> warnings = new HashMap<>();
|
||||||
|
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
return getFile(Files.FILETYPE.FLASHBACK).getBoolean("Enabled");
|
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".Enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
Files.FILETYPE file = getFile(Files.FILETYPE.FLASHBACK);
|
Files.FILETYPE file = getFile(Files.FILETYPE.CONFIG);
|
||||||
this.time = file.getConfig().getLong("Time");
|
this.time = file.getConfig().getLong(name + ".Time");
|
||||||
this.database.load(FlashbackDatabase.Columns.values());
|
this.database.load(FlashbackDatabase.Columns.values());
|
||||||
|
|
||||||
warnings.clear();
|
warnings.clear();
|
||||||
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
|
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<?, ?> m : override_map)
|
||||||
for (Map.Entry<?, ?> entry : m.entrySet()) {
|
for (Map.Entry<?, ?> entry : m.entrySet()) {
|
||||||
try {
|
try {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.LocSerialization;
|
import me.SuperRonanCraft.BetterRTPAddons.util.LocSerialization;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.PlayerInfo;
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.database.Database;
|
import me.SuperRonanCraft.BetterRTPAddons.database.Database;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.database.DatabaseColumn;
|
import me.SuperRonanCraft.BetterRTPAddons.database.DatabaseColumn;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.database.Errors;
|
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(){
|
public FlashbackDatabase(){
|
||||||
super("addon_flashback");
|
super("addon_flashback");
|
||||||
@ -66,7 +65,7 @@ public class FlashbackDatabase extends Database {
|
|||||||
super.load(columns);
|
super.load(columns);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerInfo getPlayer(Player p) {
|
public FlashbackPlayerInfo getPlayer(Player p) {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
@ -78,7 +77,7 @@ public class FlashbackDatabase extends Database {
|
|||||||
rs = ps.executeQuery();
|
rs = ps.executeQuery();
|
||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
Location loc = LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_OLD.name));
|
Location loc = LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_OLD.name));
|
||||||
return new PlayerInfo(p, loc);
|
return new FlashbackPlayerInfo(p, loc);
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||||
|
@ -1,16 +1,11 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
|
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
public class FlashbackMessages implements AddonsMessages {
|
public class FlashbackMessages implements AddonsMessages {
|
||||||
private static String preM = "Messages";
|
private static String preM = "Messages";
|
||||||
|
|
||||||
private Files.FILETYPE getLang() {
|
|
||||||
return Files.FILETYPE.FLASHBACK;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getWarning(CommandSender sendi) {
|
public void getWarning(CommandSender sendi) {
|
||||||
sms(sendi, getLang().getString(preM + "Warning"));
|
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.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class PlayerInfo {
|
public class FlashbackPlayerInfo {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
private final Location location;
|
private final Location location;
|
||||||
|
|
||||||
public PlayerInfo(Player player, Location location) {
|
public FlashbackPlayerInfo(Player player, Location location) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.location = location;
|
this.location = location;
|
||||||
}
|
}
|
@ -1,13 +1,15 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons.addons.interfaces;
|
package me.SuperRonanCraft.BetterRTPAddons.addons.interfaces;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||||
|
|
||||||
public class AddonInterface implements Addon {
|
public class AddonInterface implements Addon {
|
||||||
|
|
||||||
|
private String name = "Interface";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
return getFile(Files.FILETYPE.INTERFACE).getBoolean("Enabled");
|
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + "Enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package me.SuperRonanCraft.BetterRTPAddons.addons.logger;
|
package me.SuperRonanCraft.BetterRTPAddons.addons.logger;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload;
|
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -21,6 +20,7 @@ import java.util.logging.*;
|
|||||||
|
|
||||||
public class AddonLogger implements Addon, Listener {
|
public class AddonLogger implements Addon, Listener {
|
||||||
|
|
||||||
|
private final String name = "Logger";
|
||||||
private String format;
|
private String format;
|
||||||
private boolean toConsole;
|
private boolean toConsole;
|
||||||
Logger logger;
|
Logger logger;
|
||||||
@ -29,14 +29,14 @@ public class AddonLogger implements Addon, Listener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
return getFile(Files.FILETYPE.LOGGER).getBoolean("Enabled");
|
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".Enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
|
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
|
||||||
this.format = getFile(Files.FILETYPE.LOGGER).getString("Format");
|
this.format = getFile(Files.FILETYPE.CONFIG).getString(name + ".Format");
|
||||||
this.toConsole = getFile(Files.FILETYPE.LOGGER).getBoolean("LogToConsole");
|
this.toConsole = getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".LogToConsole");
|
||||||
try {
|
try {
|
||||||
File f = new File(Main.getInstance().getDataFolder() + File.separator + "log.txt");
|
File f = new File(Main.getInstance().getDataFolder() + File.separator + "log.txt");
|
||||||
handler = new FileHandler(f.getPath(), true);
|
handler = new FileHandler(f.getPath(), true);
|
||||||
|
@ -2,38 +2,42 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
|||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
import me.SuperRonanCraft.BetterRTPAddons.Addon;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
|
||||||
import org.bukkit.Location;
|
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsCache;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
//Create portals for rtp'ing
|
//Create portals for rtp'ing
|
||||||
public class AddonPortals implements Addon {
|
public class AddonPortals implements Addon {
|
||||||
|
|
||||||
|
private final String name = "Portals";
|
||||||
public PortalsMessages msgs = new PortalsMessages();
|
public PortalsMessages msgs = new PortalsMessages();
|
||||||
private final PortalsCommand cmd = new PortalsCommand(this);
|
private final PortalsCommand cmd = new PortalsCommand(this);
|
||||||
private final PortalsDatabase database = new PortalsDatabase();
|
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() {
|
public boolean isEnabled() {
|
||||||
return getFile(Files.FILETYPE.PORTALS).getBoolean("Enabled");
|
return getFile(Files.FILETYPE.CONFIG).getBoolean(name + ".Enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
|
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
|
||||||
this.database.load(PortalsDatabase.Columns.values());
|
database.load(PortalsDatabase.Columns.values());
|
||||||
|
events.register();
|
||||||
|
portalsCache.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void unload() {
|
public void unload() {
|
||||||
this.portalsCache.unload();
|
portalsCache.unload();
|
||||||
|
events.unregiter();
|
||||||
}
|
}
|
||||||
|
|
||||||
public PortalsCache getPortals() {
|
public PortalsCache getPortals() {
|
||||||
return portalsCache;
|
return portalsCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PortalsDatabase getDatabase() {
|
||||||
|
return database;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,8 @@ public class PortalsCommand implements RTPCommand, RTPCommandHelpable {
|
|||||||
private enum subCmd {
|
private enum subCmd {
|
||||||
LOC1(new PortalsCommand_Loc1()),
|
LOC1(new PortalsCommand_Loc1()),
|
||||||
LOC2(new PortalsCommand_Loc2()),
|
LOC2(new PortalsCommand_Loc2()),
|
||||||
CREATE(new PortalsCommand_Create());
|
CREATE(new PortalsCommand_Create()),
|
||||||
|
REMOVE(new PortalsCommand_Remove());
|
||||||
|
|
||||||
PortalsCommands cmd;
|
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;
|
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.Database;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.database.DatabaseColumn;
|
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.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class PortalsDatabase extends Database {
|
public class PortalsDatabase extends Database {
|
||||||
|
|
||||||
enum Columns implements DatabaseColumn {
|
enum Columns implements DatabaseColumn {
|
||||||
ID("portal", "integer"),
|
|
||||||
LOCATION_1("location_1", "longtext"),
|
LOCATION_1("location_1", "longtext"),
|
||||||
LOCATION_2("location_2", "longtext"),
|
LOCATION_2("location_2", "longtext"),
|
||||||
TITLE("title", "varchar(255)");
|
NAME("name", "varchar(255)");
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
private final String type;
|
private final String type;
|
||||||
@ -34,17 +40,14 @@ public class PortalsDatabase extends Database {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<PlayerInfo> playerInfos = new ArrayList<>();
|
|
||||||
|
|
||||||
public PortalsDatabase(){
|
public PortalsDatabase(){
|
||||||
super("addon_portals");
|
super("addon_portals");
|
||||||
}
|
}
|
||||||
|
|
||||||
private final String createTable = "CREATE TABLE IF NOT EXISTS " + table + " (" +
|
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_1.name + "` " + Columns.LOCATION_2.type + "," +
|
||||||
"`" + Columns.LOCATION_2.name + "` " + Columns.LOCATION_2.type + "," +
|
"`" + Columns.LOCATION_2.name + "` " + Columns.LOCATION_2.type +
|
||||||
"`" + Columns.TITLE.name + "` " + Columns.TITLE.type +
|
|
||||||
");";
|
");";
|
||||||
|
|
||||||
|
|
||||||
@ -55,24 +58,24 @@ public class PortalsDatabase extends Database {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(DatabaseColumn[] columns) {
|
public void load(DatabaseColumn[] columns) {
|
||||||
playerInfos.clear();
|
|
||||||
super.load(columns);
|
super.load(columns);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public PlayerInfo getPlayer(Player p) {
|
public List<PortalsRegionInfo> getPortals() {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
try {
|
try {
|
||||||
conn = getSQLConnection();
|
conn = getSQLConnection();
|
||||||
ps = conn.prepareStatement("SELECT * FROM " + table + " WHERE " + Columns.UUID.name + " = ?");
|
ps = conn.prepareStatement("SELECT * FROM " + table);
|
||||||
UUID id = p.getUniqueId();
|
|
||||||
ps.setString(1, id != null ? id.toString() : console_id);
|
|
||||||
rs = ps.executeQuery();
|
rs = ps.executeQuery();
|
||||||
if (rs.next()) {
|
List<PortalsRegionInfo> list = new ArrayList<>();
|
||||||
Location loc = LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_OLD.name));
|
while (rs.next()) {
|
||||||
return new PlayerInfo(p, loc);
|
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) {
|
} catch (SQLException ex) {
|
||||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||||
} finally {
|
} finally {
|
||||||
@ -81,19 +84,25 @@ public class PortalsDatabase extends Database {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean setPlayer(Player p, Location oldLocation) {
|
public boolean removePortal(PortalsRegionInfo portal) {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
boolean success = true;
|
boolean success = true;
|
||||||
try {
|
try {
|
||||||
conn = getSQLConnection();
|
conn = getSQLConnection();
|
||||||
ps = conn.prepareStatement("INSERT INTO " + table + "(" + Columns.UUID.name + ", " + Columns.LOCATION_OLD.name + ") VALUES (?, ?) "
|
ps = conn.prepareStatement("INSERT INTO " + table + "(" +
|
||||||
+ "ON CONFLICT(" + Columns.UUID.name + ") DO UPDATE SET " + Columns.LOCATION_OLD.name + " = + ?");
|
Columns.NAME.name + ", " +
|
||||||
UUID id = p.getUniqueId();
|
Columns.LOCATION_1.name + ", " +
|
||||||
ps.setString(1, id != null ? id.toString() : console_id);
|
Columns.LOCATION_2.name + ") VALUES (?, ?, ?) "
|
||||||
String serialLocation = LocSerialization.getStringFromLocation(oldLocation);
|
+ "ON CONFLICT(" + Columns.NAME.name + ") DO UPDATE SET " +
|
||||||
ps.setString(2, serialLocation);
|
Columns.LOCATION_1.name + " = + ?, " + Columns.LOCATION_2.name + " = ?");
|
||||||
ps.setString(3, serialLocation);
|
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();
|
ps.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||||
@ -102,5 +111,34 @@ public class PortalsDatabase extends Database {
|
|||||||
close(ps, null, conn);
|
close(ps, null, conn);
|
||||||
}
|
}
|
||||||
return success;
|
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;
|
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
|
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Files;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
public class PortalsMessages implements AddonsMessages {
|
public class PortalsMessages implements AddonsMessages {
|
||||||
private static final String preM = "Messages.";
|
private static final String preM = "Portals.";
|
||||||
|
|
||||||
private Files.FILETYPE getLang() {
|
|
||||||
return Files.FILETYPE.PORTALS;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getWarning(CommandSender sendi) {
|
public void getWarning(CommandSender sendi) {
|
||||||
sms(sendi, getLang().getString(preM + "Warning"));
|
sms(sendi, getLang().getString(preM + "Warning"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getHelp() {
|
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;
|
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
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.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@ -9,12 +9,33 @@ public class PortalsCommand_Create implements PortalsCommands {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(CommandSender sendi, String label, String[] args, AddonPortals addonPortals) {
|
public void execute(CommandSender sendi, String label, String[] args, AddonPortals addonPortals) {
|
||||||
sendi.sendMessage("Portals Create command!");
|
if (!(sendi instanceof Player)) {
|
||||||
PortalsCreation portal = addonPortals.getPortals().getPortal((Player) sendi);
|
sendi.sendMessage("Console cannot perform this command!");
|
||||||
if (portal == null || portal.getLoc1() == null || portal.getLoc2() == null) {
|
|
||||||
sendi.sendMessage("Invalid portal!");
|
|
||||||
return;
|
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;
|
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.events.PacketContainer;
|
||||||
import com.comphenix.protocol.wrappers.BlockPosition;
|
|
||||||
import com.comphenix.protocol.wrappers.WrappedBlockData;
|
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
|
|
||||||
public class PortalsCommand_Loc1 implements PortalsCommands, LocationFinder {
|
public class PortalsCommand_Loc1 implements PortalsCommands, LocationFinder {
|
||||||
|
|
||||||
private PacketContainer fakeBlock;
|
private PacketContainer fakeBlock;
|
||||||
@ -26,10 +17,10 @@ public class PortalsCommand_Loc1 implements PortalsCommands, LocationFinder {
|
|||||||
Block block = getTargetBlock(p, 10);
|
Block block = getTargetBlock(p, 10);
|
||||||
if (block != null) {
|
if (block != null) {
|
||||||
Location loc = block.getLocation();
|
Location loc = block.getLocation();
|
||||||
addonPortals.getPortals().setPortal(p, loc, false);
|
addonPortals.getPortals().cachePortal(p, loc, false);
|
||||||
sendi.sendMessage("Location 1 set to this location!");
|
addonPortals.msgs.getLocation_1(sendi);
|
||||||
} else {
|
} 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 me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.util.BlockIterator;
|
|
||||||
|
|
||||||
public class PortalsCommand_Loc2 implements PortalsCommands, LocationFinder {
|
public class PortalsCommand_Loc2 implements PortalsCommands, LocationFinder {
|
||||||
|
|
||||||
@ -16,10 +14,10 @@ public class PortalsCommand_Loc2 implements PortalsCommands, LocationFinder {
|
|||||||
Block block = getTargetBlock(p, 10);
|
Block block = getTargetBlock(p, 10);
|
||||||
if (block != null) {
|
if (block != null) {
|
||||||
Location loc = block.getLocation();
|
Location loc = block.getLocation();
|
||||||
addonPortals.getPortals().setPortal(p, loc, true);
|
addonPortals.getPortals().cachePortal(p, loc, true);
|
||||||
sendi.sendMessage("Location 2 set to this location!");
|
addonPortals.msgs.getLocation_2(sendi);
|
||||||
} else {
|
} 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.PacketType;
|
||||||
import com.comphenix.protocol.ProtocolLibrary;
|
import com.comphenix.protocol.ProtocolLibrary;
|
||||||
import com.comphenix.protocol.ProtocolManager;
|
import com.comphenix.protocol.ProtocolManager;
|
||||||
import com.comphenix.protocol.events.PacketContainer;
|
import com.comphenix.protocol.events.PacketContainer;
|
||||||
import com.comphenix.protocol.wrappers.BlockPosition;
|
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 com.comphenix.protocol.wrappers.WrappedBlockData;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.packets.BlockChangeArray;
|
import me.SuperRonanCraft.BetterRTPAddons.packets.BlockChangeArray;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.packets.WrapperPlayServerBlockChange;
|
import me.SuperRonanCraft.BetterRTPAddons.packets.WrapperPlayServerBlockChange;
|
||||||
import me.SuperRonanCraft.BetterRTPAddons.packets.WrapperPlayServerMultiBlockChange;
|
import me.SuperRonanCraft.BetterRTPAddons.packets.WrapperPlayServerMultiBlockChange;
|
||||||
@ -16,17 +15,27 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class PortalsCache {
|
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();
|
portalsBeingCreated.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,12 +43,29 @@ public class PortalsCache {
|
|||||||
portalsBeingCreated.remove(p);
|
portalsBeingCreated.remove(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPortal(Player p, Location loc, boolean loc2) {
|
public List<PortalsRegionInfo> getRegisteredPortals() {
|
||||||
PortalsCreation portal;
|
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)) {
|
if (portalsBeingCreated.containsKey(p)) {
|
||||||
portal = portalsBeingCreated.get(p);
|
portal = portalsBeingCreated.get(p);
|
||||||
} else {
|
} else {
|
||||||
portal = new PortalsCreation(p);
|
portal = new PortalsRegionInfo();
|
||||||
portalsBeingCreated.put(p, portal);
|
portalsBeingCreated.put(p, portal);
|
||||||
}
|
}
|
||||||
Location old_loc1 = portal.loc_1;
|
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) {
|
//if (Math.abs(portal.loc_1.getBlockY() - portal.loc_2.getBlockY()) <= 10) {
|
||||||
//preview(portal.loc_1, portal.loc_2);
|
//preview(portal.loc_1, portal.loc_2);
|
||||||
//}
|
//}
|
||||||
Location max = portal.loc_1;
|
/*Location max = portal.loc_1;
|
||||||
Location min = portal.loc_2;
|
Location min = portal.loc_2;
|
||||||
for (int x = Math.max(max.getBlockX(), min.getBlockX()); x >= Math.min(min.getBlockX(), max.getBlockX()); x--) {
|
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--) {
|
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);
|
//block.setType(Material.GLOWSTONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
} else {
|
} else {
|
||||||
WrapperPlayServerBlockChange packet = new WrapperPlayServerBlockChange(pm.createPacket(PacketType.Play.Server.BLOCK_CHANGE));
|
WrapperPlayServerBlockChange packet = new WrapperPlayServerBlockChange(pm.createPacket(PacketType.Play.Server.BLOCK_CHANGE));
|
||||||
packet.setBlockData(WrappedBlockData.createData(Material.GLOWSTONE));
|
packet.setBlockData(WrappedBlockData.createData(Material.GLOWSTONE));
|
||||||
@ -89,7 +115,8 @@ public class PortalsCache {
|
|||||||
BlockChangeArray change = new BlockChangeArray(256);
|
BlockChangeArray change = new BlockChangeArray(256);
|
||||||
|
|
||||||
WrapperPlayServerMultiBlockChange wrapper = new WrapperPlayServerMultiBlockChange(packet);
|
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 x = 0; x <= 15; x++) {
|
||||||
for(int z = 0; z <= 15; z++) {
|
for(int z = 0; z <= 15; z++) {
|
||||||
int index = (16 * x) + 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);
|
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.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
@ -11,22 +12,28 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class Files {
|
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) {
|
public FILETYPE getType(FILETYPE type) {
|
||||||
return types.get(types.indexOf(type));
|
return types.get(types.indexOf(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
void load() {
|
public void load() {
|
||||||
types.clear();
|
types.clear();
|
||||||
for (FILETYPE type : FILETYPE.values()) {
|
for (FILETYPE type : FILETYPE.values()) {
|
||||||
type.load();
|
type.load();
|
||||||
types.add(type);
|
types.add(type);
|
||||||
}
|
}
|
||||||
|
langFile.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
public LangFile getLang() {
|
||||||
|
return langFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum FILETYPE {
|
public enum FILETYPE {
|
||||||
CONFIG("config"), FLASHBACK("flashback"), PORTALS("portals"), INTERFACE("interface"), LOGGER("logger");
|
CONFIG("config");
|
||||||
|
|
||||||
private final String fileName;
|
private final String fileName;
|
||||||
private final YamlConfiguration config = new YamlConfiguration();
|
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.Bukkit;
|
||||||
import org.bukkit.Location;
|
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.player.commands.types.CmdReload;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
public class ReloadListener implements Listener {
|
public class ReloadListener implements Listener {
|
||||||
|
|
||||||
ReloadListener(Main pl) {
|
public ReloadListener(Main pl) {
|
||||||
Bukkit.getPluginManager().registerEvents(this, 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