Skip to content

Commit 85319b1

Browse files
authored
Merge pull request #74 from Ben12345rocks/2.8.3
2.8.3
2 parents 92e527c + 4add2ed commit 85319b1

File tree

7 files changed

+56
-4
lines changed

7 files changed

+56
-4
lines changed

AdvancedCore/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.Ben12345rocks</groupId>
55
<artifactId>AdvancedCore</artifactId>
6-
<version>2.8.2</version>
6+
<version>2.8.3</version>
77
<packaging>jar</packaging>
88
<name>AdvancedCore</name>
99
<properties>

AdvancedCore/src/com/Ben12345rocks/AdvancedCore/Objects/Reward.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1507,7 +1507,7 @@ public void playSound(User user) {
15071507
* placeholders
15081508
*/
15091509
public void runCommands(User user, HashMap<String, String> placeholders) {
1510-
MiscUtils.getInstance().executeConsoleCommands(user.getPlayer(), getConsoleCommands(), placeholders);
1510+
MiscUtils.getInstance().executeConsoleCommands(user.getPlayerName(), getConsoleCommands(), placeholders);
15111511

15121512
user.preformCommand(getPlayerCommands(), placeholders);
15131513
}

AdvancedCore/src/com/Ben12345rocks/AdvancedCore/Util/Javascript/JavascriptEngine.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import javax.script.ScriptException;
99

1010
import org.bukkit.Bukkit;
11+
import org.bukkit.OfflinePlayer;
1112
import org.bukkit.command.CommandSender;
1213
import org.bukkit.entity.Player;
1314

@@ -103,4 +104,21 @@ public String getStringValue(String expression) {
103104
}
104105
return "";
105106
}
107+
108+
public JavascriptEngine addPlayer(OfflinePlayer player) {
109+
addToEngine("Player", player);
110+
addToEngine("PlayerName", player.getName());
111+
addToEngine("PlayerUUID", player.getUniqueId().toString());
112+
addToEngine("AdvancedCoreUser", UserManager.getInstance().getUser(player));
113+
addToEngine("CommandSender", player);
114+
115+
for (JavascriptPlaceholderRequest request : AdvancedCoreHook.getInstance().getJavascriptEngineRequests()) {
116+
addToEngine(request.getStr(), request.getObject(player));
117+
}
118+
119+
if (player.isOnline()) {
120+
return addPlayer(player.getPlayer());
121+
}
122+
return this;
123+
}
106124
}

AdvancedCore/src/com/Ben12345rocks/AdvancedCore/Util/Javascript/JavascriptPlaceholderRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.Ben12345rocks.AdvancedCore.Util.Javascript;
22

3-
import org.bukkit.entity.Player;
3+
import org.bukkit.OfflinePlayer;
44

55
public abstract class JavascriptPlaceholderRequest {
66

@@ -10,7 +10,7 @@ public JavascriptPlaceholderRequest(String str) {
1010
this.str = str;
1111
}
1212

13-
public abstract Object getObject(Player player);
13+
public abstract Object getObject(OfflinePlayer player);
1414

1515
/**
1616
* @return the str

AdvancedCore/src/com/Ben12345rocks/AdvancedCore/Util/Misc/ArrayUtils.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.util.Map.Entry;
1212
import java.util.Set;
1313

14+
import org.bukkit.OfflinePlayer;
1415
import org.bukkit.command.CommandSender;
1516
import org.bukkit.entity.Player;
1617

@@ -408,6 +409,14 @@ public ArrayList<String> replaceJavascript(Player player, ArrayList<String> list
408409
}
409410
return msg;
410411
}
412+
413+
public ArrayList<String> replaceJavascript(OfflinePlayer player, ArrayList<String> list) {
414+
ArrayList<String> msg = new ArrayList<String>();
415+
for (String str : list) {
416+
msg.add(StringUtils.getInstance().replaceJavascript(player, str));
417+
}
418+
return msg;
419+
}
411420

412421
public ArrayList<String> replacePlaceHolder(ArrayList<String> list, HashMap<String, String> placeholders) {
413422
ArrayList<String> newList = new ArrayList<String>();

AdvancedCore/src/com/Ben12345rocks/AdvancedCore/Util/Misc/MiscUtils.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,25 @@ public void run() {
9191
}
9292
}
9393

94+
@SuppressWarnings("deprecation")
95+
public void executeConsoleCommands(final String playerName, final ArrayList<String> cmds,
96+
final HashMap<String, String> placeholders) {
97+
if (cmds != null && !cmds.isEmpty()) {
98+
placeholders.put("player", playerName);
99+
final ArrayList<String> commands = ArrayUtils.getInstance().replaceJavascript(Bukkit.getOfflinePlayer(playerName),
100+
ArrayUtils.getInstance().replacePlaceHolder(cmds, placeholders));
101+
Bukkit.getScheduler().runTask(plugin.getPlugin(), new Runnable() {
102+
103+
@Override
104+
public void run() {
105+
for (String cmd : commands) {
106+
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
107+
}
108+
}
109+
});
110+
}
111+
}
112+
94113
public void executeConsoleCommands(Player player, String command, HashMap<String, String> placeholders) {
95114
if (command != null && !command.isEmpty()) {
96115
final String cmd = StringUtils.getInstance().replaceJavascript(player,

AdvancedCore/src/com/Ben12345rocks/AdvancedCore/Util/Misc/StringUtils.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.Map.Entry;
66
import java.util.regex.Pattern;
77

8+
import org.bukkit.OfflinePlayer;
89
import org.bukkit.command.CommandSender;
910
import org.bukkit.entity.Player;
1011

@@ -115,6 +116,11 @@ public String replaceJavascript(Player player, String text) {
115116
JavascriptEngine engine = new JavascriptEngine().addPlayer(player);
116117
return replaceJavascript(replacePlaceHolders(player, text), engine);
117118
}
119+
120+
public String replaceJavascript(OfflinePlayer player, String text) {
121+
JavascriptEngine engine = new JavascriptEngine().addPlayer(player);
122+
return replaceJavascript(text, engine);
123+
}
118124

119125
public String replaceJavascript(String text) {
120126
return replaceJavascript(text, null);

0 commit comments

Comments
 (0)