Skip to content

Commit 8db9300

Browse files
committed
Finished implementation of some channels, fixed some stuff up, added regex caching
1 parent 0e5ee0e commit 8db9300

File tree

12 files changed

+71
-14
lines changed

12 files changed

+71
-14
lines changed

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ private void execStart() {
9191
}
9292

9393
try {
94-
CommentedConfigurationNode node = loader.load();
95-
settings = node.getValue(TypeToken.of(SettingsHolder.class));
96-
9794
mainCommand = new MainCommand(this);
9895
getProxy().getPluginManager().registerCommand(this, mainCommand);
9996

97+
CommentedConfigurationNode node = loader.load();
98+
settings = node.getValue(TypeToken.of(SettingsHolder.class));
99+
100100
if (settings.getGeneralProps().isEnabled()) {
101101
if (settings.getGeneralProps().isSilent()) {
102102
getLogger().setLevel(Level.WARNING);

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/AbstractMoveCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public void execute(CommandSender sender, String[] args) {
4040
MessageUtils.send(player, messages.getInvalidInputMessage());
4141
} else {
4242
ServerInfo server = Iterables.get(target.getServers(), number - 1);
43-
ConnectionIntent.direct(plugin, player, server, (response, throwable) -> {});
43+
ConnectionIntent.direct(plugin, player, server, null);
4444
}
4545
} catch (NumberFormatException e) {
4646
MessageUtils.send(player, messages.getInvalidInputMessage());

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/MainCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void execute(final CommandSender sender, String[] args) {
3434
if (sender.hasPermission("playerbalancer.admin")) {
3535
sender.sendMessage(new ComponentBuilder("Reloading the configuration, this may take a while...").color(ChatColor.GREEN).create());
3636
if (plugin.reloadPlugin()) {
37-
sender.sendMessage(new ComponentBuilder("The plugin has successfully reloaded").color(ChatColor.GREEN).create());
37+
sender.sendMessage(new ComponentBuilder("The plugin has been successfully reloaded").color(ChatColor.GREEN).create());
3838
} else {
3939
sender.sendMessage(new ComponentBuilder("Something went badly while reloading the plugin").color(ChatColor.RED).create());
4040
}

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,22 @@ public void execute(CommandSender sender, String[] args) {
146146
.color(ChatColor.GRAY)
147147
.append(section.getCommand().getName())
148148
.color(ChatColor.AQUA)
149-
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Permission: ")
149+
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
150+
new ComponentBuilder("Name: ")
151+
.color(ChatColor.GRAY)
152+
.append(section.getCommand().getName())
153+
.color(ChatColor.AQUA)
154+
.append("\n")
155+
156+
.append("Permission: ")
150157
.color(ChatColor.GRAY)
151158
.append("\"")
159+
.color(ChatColor.AQUA)
152160
.append(section.getCommand().getPermission())
161+
.color(ChatColor.RED)
162+
.append("\"")
153163
.color(ChatColor.AQUA)
164+
154165
.append("\n")
155166
.append("Aliases: ")
156167
.color(ChatColor.GRAY)

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/connection/ConnectionIntent.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,9 @@ public static void direct(PlayerBalancer plugin, ProxiedPlayer player, ServerInf
116116
plugin.getProxy().getScheduler().schedule(plugin, () -> {
117117
PlayerLocker.unlock(player);
118118
}, 5, TimeUnit.SECONDS);
119-
callback.done(result, throwable);
119+
120+
if (callback != null)
121+
callback.done(result, throwable);
120122
});
121123
}
122124
}

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/listeners/PluginMessageListener.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.io.ByteArrayOutputStream;
2121
import java.io.DataOutputStream;
2222
import java.io.IOException;
23-
import java.util.concurrent.TimeUnit;
2423

2524
public class PluginMessageListener implements Listener {
2625
private final PlayerBalancer plugin;
@@ -212,10 +211,12 @@ public void onPluginMessage(PluginMessageEvent event) {
212211
if (server == null)
213212
break;
214213

215-
PlayerLocker.lock(player);
216-
plugin.getProxy().getScheduler().schedule(plugin, () -> {
217-
PlayerLocker.unlock(player);
218-
}, 5, TimeUnit.SECONDS);
214+
ConnectionIntent.direct(
215+
plugin,
216+
player,
217+
server,
218+
null
219+
);
219220
}
220221
break;
221222
}

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/StatusManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.jaimemartz.playerbalancer.PlayerBalancer;
66
import com.jaimemartz.playerbalancer.section.ServerSection;
77
import com.jaimemartz.playerbalancer.settings.props.features.ServerCheckerProps;
8+
import com.jaimemartz.playerbalancer.utils.RegExUtils;
89
import net.md_5.bungee.api.config.ServerInfo;
910
import net.md_5.bungee.api.connection.Server;
1011
import net.md_5.bungee.api.event.PluginMessageEvent;
@@ -108,7 +109,7 @@ public boolean isAccessible(ServerInfo server) {
108109
}
109110

110111
for (String pattern : props.getMarkerDescs()) {
111-
if (status.getDescription().matches(pattern)) {
112+
if (RegExUtils.matches(status.getDescription(), pattern)) {
112113
return false;
113114
}
114115
}

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/utils/DigitUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@ public static int getDigits(String string) {
3232

3333
return Integer.parseInt(builder.toString());
3434
}
35+
36+
private DigitUtils() {}
3537
}

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/utils/MessageUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,6 @@ public static void send(CommandSender sender, String text, Function<String, Stri
2525
public static String revertColor(String string) {
2626
return string.replace(ChatColor.COLOR_CHAR, '&');
2727
}
28+
29+
private MessageUtils() {}
2830
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.jaimemartz.playerbalancer.utils;
2+
3+
import com.google.common.cache.CacheBuilder;
4+
import com.google.common.cache.CacheLoader;
5+
import com.google.common.cache.LoadingCache;
6+
7+
import java.util.concurrent.ExecutionException;
8+
import java.util.regex.Matcher;
9+
import java.util.regex.Pattern;
10+
11+
public final class RegExUtils {
12+
private static final LoadingCache<String, Pattern> COMPILED_PATTERNS = CacheBuilder.newBuilder().build(new CacheLoader<String, Pattern>() {
13+
@Override
14+
public Pattern load(String string) throws Exception {
15+
return Pattern.compile(string);
16+
}
17+
});
18+
19+
public static Pattern getPattern(String regexp) {
20+
try {
21+
return COMPILED_PATTERNS.get(regexp);
22+
} catch (ExecutionException e) {
23+
throw new RuntimeException("Error while getting a pattern from the cache");
24+
}
25+
}
26+
27+
public static boolean matches(String string, String expression) {
28+
return getMatcher(string, expression).matches();
29+
}
30+
31+
private static Matcher getMatcher(String string, String expression) {
32+
Pattern pattern = getPattern(expression);
33+
return pattern.matcher(string);
34+
}
35+
36+
private RegExUtils() {}
37+
}

0 commit comments

Comments
 (0)