Updated to latest changes from private repo
parent
d8a895f7f3
commit
bc4e7d5aab
2
pom.xml
2
pom.xml
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>xyz.etztech</groupId>
|
||||
<artifactId>mixtape</artifactId>
|
||||
<artifactId>Mixtape</artifactId>
|
||||
<version>1.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@ public final class Mixtape extends JavaPlugin {
|
|||
private static Mixtape instance;
|
||||
public static FileConfiguration config;
|
||||
|
||||
private static int loops;
|
||||
|
||||
private static Map<String, Map<String, String>> chatAliases = new HashMap<>();
|
||||
private static Map<String, Map<String, String>> commandAliases = new HashMap<>();
|
||||
private static boolean global;
|
||||
|
@ -45,6 +47,7 @@ public final class Mixtape extends JavaPlugin {
|
|||
public void reloadConfig() {
|
||||
super.reloadConfig();
|
||||
config = Bukkit.getPluginManager().getPlugin("Mixtape").getConfig();
|
||||
loops = config.getInt("loop");
|
||||
validate();
|
||||
}
|
||||
|
||||
|
@ -92,6 +95,10 @@ public final class Mixtape extends JavaPlugin {
|
|||
global = bool;
|
||||
}
|
||||
|
||||
public static int getLoops() {
|
||||
return loops;
|
||||
}
|
||||
|
||||
private void validate() {
|
||||
List<String> errors = new ArrayList<>();
|
||||
try {
|
||||
|
|
|
@ -13,10 +13,7 @@ import org.bukkit.event.server.ServerCommandEvent;
|
|||
import xyz.etztech.mixtape.Mixtape;
|
||||
import xyz.etztech.mixtape.MixtapeUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
@ -25,6 +22,8 @@ public class CommandPreprocessListener implements Listener {
|
|||
private final String ERROR = "Mixtape/Error";
|
||||
private final Pattern PATTERN = Pattern.compile("<([^>]+)>");
|
||||
|
||||
private static Map<String, Integer> loops = new HashMap<>();
|
||||
|
||||
Mixtape plugin;
|
||||
|
||||
public CommandPreprocessListener(Mixtape plugin) {
|
||||
|
@ -78,13 +77,20 @@ public class CommandPreprocessListener implements Listener {
|
|||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
|
||||
if (!increment(player.getUniqueId().toString())) {
|
||||
player.sendMessage(ChatColor.RED + "You went too deep! What is this, Inception?");
|
||||
loops.put(player.getUniqueId().toString(), 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Command aliases
|
||||
Map<String, String> commands = Mixtape.getCommandAliases(player.getUniqueId().toString());
|
||||
for (String alias : commands.keySet()) {
|
||||
if (alias.equalsIgnoreCase(base)) {
|
||||
String resolved = resolve(commands.get(alias), args);
|
||||
resolved = resolved.startsWith("/") ? resolved : "/" + resolved;
|
||||
if (!ERROR.equalsIgnoreCase(resolved)) {
|
||||
Bukkit.dispatchCommand(player, resolved);
|
||||
player.chat(resolved);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + usage(base, commands.get(alias)));
|
||||
}
|
||||
|
@ -106,6 +112,7 @@ public class CommandPreprocessListener implements Listener {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
loops.put(player.getUniqueId().toString(), 0);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -136,5 +143,13 @@ public class CommandPreprocessListener implements Listener {
|
|||
return template.trim() + " " + StringUtils.join(Arrays.copyOfRange(parts, idx, parts.length), " ");
|
||||
}
|
||||
|
||||
private static boolean increment(String uuid) {
|
||||
Integer current = loops.get(uuid);
|
||||
current = current == null ? 1 : ++current;
|
||||
loops.put(uuid, current);
|
||||
return current <= Mixtape.getLoops();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -4,3 +4,7 @@
|
|||
aliases:
|
||||
- alias: /donator
|
||||
command: /lp user <username> parent addtemp donator <time> accumulate
|
||||
|
||||
|
||||
# How many times can an alias call another alias before aborting?
|
||||
loop: 5
|
Loading…
Reference in New Issue