From 772111dc6cbe9d546f78891e5cf898fd890ab171 Mon Sep 17 00:00:00 2001
From: thienbao860 <35884937+thienbao860@users.noreply.github.com>
Date: Tue, 25 Aug 2020 02:46:14 +0700
Subject: [PATCH] 1.6.0-SNAPSHOT update codes (#28)
* Code format Revamp
* Update JavascriptExpansionCommands.java
* Get out of here, regex...
* Updated to ver. 1.6.0-SNAPSHOT
* Update JavascriptExpansion.java
* Forgot to manage for setIfNull, sorry
* Fix wrong args from CMD Manager migration
* Fix error on 1.13+
---
pom.xml | 10 +-
scripts/random_letter.js | 1 -
.../expansion/javascript/ExpansionUtils.java | 108 +++++++
.../javascript/JavascriptExpansion.java | 98 ++++--
.../JavascriptExpansionCommands.java | 280 +++++-------------
.../javascript/JavascriptPlaceholder.java | 74 +++--
.../JavascriptPlaceholdersConfig.java | 88 +++---
.../papi/expansion/javascript/ScriptData.java | 6 +-
.../javascript/cloud/GithubScriptManager.java | 23 +-
.../javascript/command/DebugCommand.java | 50 ++++
.../javascript/command/GitCommand.java | 142 +++++++++
.../javascript/command/ICommand.java | 20 ++
.../javascript/command/ListCommand.java | 35 +++
.../javascript/command/ParseCommand.java | 57 ++++
.../javascript/command/ReloadCommand.java | 33 +++
15 files changed, 691 insertions(+), 334 deletions(-)
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/ExpansionUtils.java
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/command/DebugCommand.java
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/command/GitCommand.java
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/command/ICommand.java
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/command/ListCommand.java
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/command/ParseCommand.java
create mode 100644 src/main/java/com/extendedclip/papi/expansion/javascript/command/ReloadCommand.java
diff --git a/pom.xml b/pom.xml
index 335137c..c0a83d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
com.extendedclip.papi.expansion.javascript
javascript-expansion
- 1.5.4
+ 1.6.0-SNAPSHOT
PAPI-Expansion-Javascript
PlaceholderAPI expansion for javascript placeholders
@@ -21,13 +21,13 @@
org.spigotmc
spigot-api
- 1.15.2-R0.1-SNAPSHOT
+ 1.16.1-R0.1-SNAPSHOT
provided
me.clip
placeholderapi
- 2.10.5
+ 2.10.9
provided
@@ -37,7 +37,7 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.0.2
+ 3.2.0
${name}
@@ -51,7 +51,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.7.0
+ 3.8.1
1.8
1.8
diff --git a/scripts/random_letter.js b/scripts/random_letter.js
index ee69880..b068d4a 100644
--- a/scripts/random_letter.js
+++ b/scripts/random_letter.js
@@ -4,5 +4,4 @@ function randomLetter() {
return String.fromCharCode(start + Math.floor(random));
}
-
randomLetter();
\ No newline at end of file
diff --git a/src/main/java/com/extendedclip/papi/expansion/javascript/ExpansionUtils.java b/src/main/java/com/extendedclip/papi/expansion/javascript/ExpansionUtils.java
new file mode 100644
index 0000000..dbd60b1
--- /dev/null
+++ b/src/main/java/com/extendedclip/papi/expansion/javascript/ExpansionUtils.java
@@ -0,0 +1,108 @@
+package com.extendedclip.papi.expansion.javascript;
+
+import jdk.nashorn.api.scripting.ScriptObjectMirror;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.configuration.MemorySection;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+
+public class ExpansionUtils {
+
+ public static final String DEFAULT_ENGINE = "nashorn";
+ public static final String PREFIX = "[PAPI] [Javascript-Expansion] ";
+ private static final Logger logger = Bukkit.getLogger();
+
+ public static @NotNull String colorize(String s) {
+ return ChatColor.translateAlternateColorCodes('&', s);
+ }
+
+ public static void sendMsg(CommandSender sender, String... msg) {
+ sender.sendMessage(colorize(Arrays.stream(msg).filter(Objects::nonNull).collect(Collectors.joining("\n"))));
+ }
+
+ public static void warnLog(String log, Throwable throwable) {
+ warnLog(log, throwable, true);
+ }
+
+ public static void infoLog(final String log) {
+ infoLog(log, true);
+ }
+
+ public static void infoLog(String log, boolean canPrefix) {
+ String prefix = "";
+ if (canPrefix) prefix = PREFIX;
+ logger.info(colorize(prefix + log));
+ }
+
+ public static void warnLog(String log, Throwable throwable, boolean canPrefix) {
+ String prefix = "";
+ if (canPrefix) prefix = PREFIX;
+ if (throwable == null) {
+ logger.log(Level.WARNING, prefix + log);
+ } else logger.log(Level.WARNING, prefix + log, throwable);
+ }
+
+ public static void errorLog(String log, Throwable throwable) {
+ errorLog(log, throwable, true);
+ }
+
+ public static void errorLog(String log, Throwable throwable, boolean canPrefix) {
+ String prefix = "";
+ if (canPrefix) prefix = PREFIX;
+ if (throwable == null) {
+ logger.log(Level.SEVERE, prefix + log);
+ } else {
+ logger.log(Level.SEVERE, prefix + log, throwable);
+ }
+ }
+
+ // Only support for Nashorn engine!
+ protected static Object jsonToJava(Object jsObj) {
+ if (jsObj instanceof ScriptObjectMirror) {
+ ScriptObjectMirror jsObjectMirror = (ScriptObjectMirror) jsObj;
+ if (jsObjectMirror.isArray()) {
+ List