diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java
index 65efb0e..9659f98 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java
@@ -92,15 +92,15 @@ public class AddonLogger implements Addon, Listener {
database.log(e.getPlayer(), e.getOldLocation(), e.getLocation());
}
+ private void log(String str, Level lvl) {
+ logger.log(lvl, str);
+ }
+
private String getDate() {
SimpleDateFormat format = new SimpleDateFormat(this.format);
return format.format(new Date());
}
- private void log(String str, Level lvl) {
- logger.log(lvl, str);
- }
-
//Make the logs come out readable
static class MyFormatter extends Formatter {
AddonLogger addon;
diff --git a/pom.xml b/pom.xml
index a349527..a1088be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -312,7 +312,7 @@
xyz.xenondevs
particle
- 1.8.3
+ 1.8.4
compile
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java
index 2e96d39..469cc01 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java
@@ -42,6 +42,7 @@ public class Commands {
//Command Event
Bukkit.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
+ BetterRTP.debug(sendi.getName() + " executed: /" + label + " " + String.join(" ", args));
cmd.execute(sendi, label, args);
Bukkit.getServer().getPluginManager().callEvent(new RTP_CommandEvent_After(sendi, cmd));
}
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java
index 1f46e45..08d3ec3 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java
@@ -17,4 +17,8 @@ public interface RTPCommand {
default boolean isDebugOnly() {
return false;
}
+
+ default boolean enabled() {
+ return true;
+ };
}
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java
index cedc7cc..62de0a7 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java
@@ -103,4 +103,8 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
public String getHelp() {
return MessagesHelp.LOCATION.get();
}
+
+ @Override public boolean enabled() {
+ return BetterRTP.getInstance().getSettings().isLocationEnabled();
+ }
}
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLogger.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLogger.java
index ad034b7..1bdafc4 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLogger.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLogger.java
@@ -2,19 +2,25 @@ package me.SuperRonanCraft.BetterRTP.player.commands.types;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
-import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
-import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
-import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
-import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
-import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
-import me.SuperRonanCraft.BetterRTP.references.messages.MessagesUsage;
-import org.bukkit.Bukkit;
-import org.bukkit.World;
+import me.SuperRonanCraft.BetterRTP.references.messages.Message;
+import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
+import me.SuperRonanCraft.BetterRTP.references.web.LogUploader;
+import net.md_5.bungee.api.chat.ClickEvent;
+import net.md_5.bungee.api.chat.ComponentBuilder;
+import net.md_5.bungee.api.chat.HoverEvent;
+import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
+import java.util.concurrent.CompletableFuture;
public class CmdLogger implements RTPCommand {
@@ -22,7 +28,35 @@ public class CmdLogger implements RTPCommand {
return "logger";
}
public void execute(CommandSender sendi, String label, String[] args) {
+ get(sendi, label, args, args.length >= 2 && args[args.length - 1].equalsIgnoreCase("_UPLOAD_"));
+ }
+ private void get(CommandSender sendi, String label, String[] args, boolean upload) {
+ String cmd = "/" + label + " " + String.join(" ", args);
+ if (!upload) {
+ if (sendi instanceof Player) {
+ TextComponent component = new TextComponent(Message.color("&7- &7Click to upload log to &flogs.ronanplugins.com"));
+ component.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, cmd + " _UPLOAD_"));
+ component.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(Message.color("&6Suggested command&f: &7" + "/betterrtp " + String.join(" ", args) + " _UPLOAD_")).create()));
+ ((Player) sendi).spigot().sendMessage(component);
+ } else {
+ sendi.sendMessage("Execute `" + cmd + " _UPLOAD_`" + " to upload log to https://logs.ronanplugins.com");
+ }
+ } else {
+ CompletableFuture.runAsync(() -> {
+ String key = LogUploader.post(BetterRTP.getInstance().getRtpLogger().getFile());
+ if (key == null) {
+ Message.sms(sendi, new ArrayList<>(Collections.singletonList("&cAn error occured attempting to upload log!")), null);
+ } else {
+ try {
+ JSONObject json = (JSONObject) new JSONParser().parse(key);
+ Message.sms(sendi, Arrays.asList(" ", Message.getPrefix(Message_RTP.msg) + "&aLog uploaded! &fView&7: &6https://logs.ronanplugins.com/" + json.get("key")), null);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ });
+ }
}
public List tabComplete(CommandSender sendi, String[] args) {
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPLoader.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPLoader.java
index 81ba7dc..176d476 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPLoader.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPLoader.java
@@ -100,7 +100,7 @@ public class RTPLoader {
static void loadLocations(@NotNull HashMap worlds) {
worlds.clear();
FileOther.FILETYPE config = FileOther.FILETYPE.LOCATIONS;
- if (!config.getBoolean("Enabled"))
+ if (!BetterRTP.getInstance().getSettings().isLocationEnabled())
return;
BetterRTP.debug("Loading Locations...");
List