Skip to content

Commit e707d82

Browse files
committed
Created layout for default config
1 parent 6da91c3 commit e707d82

20 files changed

+468
-332
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ jobs:
4343
path: target/surefire-reports
4444

4545
- store_artifacts:
46-
path: target/PlayerBalancer.jar
46+
path: target/PlayerBalancer.jar

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
<scope>compile</scope>
104104
<exclusions>
105105
<exclusion>
106+
<!-- Already shaded in bungee -->
106107
<groupId>com.google.guava</groupId>
107108
<artifactId>guava</artifactId>
108109
</exclusion>

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

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44
import com.jaimemartz.playerbalancer.commands.FallbackCommand;
55
import com.jaimemartz.playerbalancer.commands.MainCommand;
66
import com.jaimemartz.playerbalancer.commands.ManageCommand;
7-
import com.jaimemartz.playerbalancer.connection.ServerAssignRegistry;
87
import com.jaimemartz.playerbalancer.listener.*;
98
import com.jaimemartz.playerbalancer.manager.NetworkManager;
109
import com.jaimemartz.playerbalancer.manager.PasteHelper;
1110
import com.jaimemartz.playerbalancer.manager.PlayerLocker;
1211
import com.jaimemartz.playerbalancer.ping.StatusManager;
1312
import com.jaimemartz.playerbalancer.section.SectionManager;
14-
import com.jaimemartz.playerbalancer.settings.MainSettings;
13+
import com.jaimemartz.playerbalancer.settings.SettingsHolder;
1514
import net.md_5.bungee.api.plugin.Command;
1615
import net.md_5.bungee.api.plugin.Listener;
1716
import net.md_5.bungee.api.plugin.Plugin;
@@ -31,7 +30,7 @@
3130
public class PlayerBalancer extends Plugin {
3231
private boolean failed = false;
3332
private StatusManager statusManager;
34-
private MainSettings mainSettings;
33+
private SettingsHolder mainSettings;
3534
private ConfigurationLoader<CommentedConfigurationNode> loader;
3635
private SectionManager sectionManager;
3736
private NetworkManager networkManager;
@@ -63,11 +62,11 @@ private void enable() {
6362
CommentedConfigurationNode node = loader.load();
6463

6564
if (!file.exists()) {
66-
mainSettings = new MainSettings().__defaults();
67-
node.setValue(TypeToken.of(MainSettings.class), mainSettings);
65+
mainSettings = new SettingsHolder(); //.__defaults(); todo load defaults from default config
66+
node.setValue(TypeToken.of(SettingsHolder.class), mainSettings);
6867
loader.save(node);
6968
} else {
70-
mainSettings = node.getValue(TypeToken.of(MainSettings.class));
69+
mainSettings = node.getValue(TypeToken.of(SettingsHolder.class));
7170
}
7271
} catch (Exception e) {
7372
e.printStackTrace();
@@ -76,7 +75,7 @@ private void enable() {
7675
mainCommand = new MainCommand(this);
7776
getProxy().getPluginManager().registerCommand(this, mainCommand);
7877

79-
if (mainSettings.getGeneralProps().isActive()) {
78+
if (mainSettings.getGeneralProps().isEnabled()) {
8079
if (mainSettings.getGeneralProps().isSilent()) {
8180
getLogger().setLevel(Level.WARNING);
8281
}
@@ -99,11 +98,11 @@ private void enable() {
9998
sectionManager.load();
10099

101100
statusManager = new StatusManager(this);
102-
if (mainSettings.getServerCheckerProps().isActive()) {
101+
if (mainSettings.getServerCheckerProps().isEnabled()) {
103102
statusManager.start();
104103
}
105104

106-
if (mainSettings.getFallbackCommandProps().isActive()) {
105+
if (mainSettings.getFallbackCommandProps().isEnabled()) {
107106
fallbackCommand = new FallbackCommand(this, mainSettings.getFallbackCommandProps().getCommand());
108107
getProxy().getPluginManager().registerCommand(this, fallbackCommand);
109108
}
@@ -123,7 +122,7 @@ private void enable() {
123122

124123
PasteHelper.reset();
125124

126-
if (mainSettings.getKickHandlerProps().isActive()) {
125+
if (mainSettings.getKickHandlerProps().isEnabled()) {
127126
kickListener = new ServerKickListener(this);
128127
getProxy().getPluginManager().registerListener(this, kickListener);
129128
}
@@ -151,7 +150,7 @@ private void disable() {
151150
getProxy().getPluginManager().unregisterCommand(mainCommand);
152151
mainCommand = null;
153152

154-
if (mainSettings.getGeneralProps().isActive()) {
153+
if (mainSettings.getGeneralProps().isEnabled()) {
155154
//Do not try to do anything if the plugin has not loaded correctly
156155
if (failed) return;
157156

@@ -160,15 +159,20 @@ private void disable() {
160159
reloadListener = null;
161160
}
162161

163-
if (mainSettings.getServerCheckerProps().isActive()) {
162+
if (mainSettings.getServerCheckerProps().isEnabled()) {
164163
statusManager.stop();
165164
}
166165

167-
if (mainSettings.getFallbackCommandProps().isActive()) {
166+
if (mainSettings.getFallbackCommandProps().isEnabled()) {
168167
getProxy().getPluginManager().unregisterCommand(fallbackCommand);
169168
fallbackCommand = null;
170169
}
171170

171+
if (mainSettings.getKickHandlerProps().isEnabled()) {
172+
getProxy().getPluginManager().unregisterListener(kickListener);
173+
kickListener = null;
174+
}
175+
172176
getProxy().getPluginManager().unregisterListener(connectListener);
173177
connectListener = null;
174178

@@ -178,16 +182,13 @@ private void disable() {
178182
getProxy().getPluginManager().unregisterCommand(manageCommand);
179183
manageCommand = null;
180184

181-
if (mainSettings.getKickHandlerProps().isActive()) {
182-
getProxy().getPluginManager().unregisterListener(kickListener);
183-
kickListener = null;
184-
}
185-
186185
sectionManager.flush();
187186

187+
/*
188188
if (mainSettings.getGeneralProps().isAssignTargets()) {
189189
ServerAssignRegistry.getTable().clear();
190190
}
191+
*/
191192
}
192193

193194
PlayerLocker.flush();
@@ -207,7 +208,7 @@ public boolean reloadPlugin() {
207208
return !failed;
208209
}
209210

210-
public MainSettings getSettings() {
211+
public SettingsHolder getSettings() {
211212
return mainSettings;
212213
}
213214

src/main/java/com/jaimemartz/playerbalancer/commands/FallbackCommand.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import com.jaimemartz.playerbalancer.PlayerBalancer;
44
import com.jaimemartz.playerbalancer.connection.ConnectionIntent;
55
import com.jaimemartz.playerbalancer.section.ServerSection;
6-
import com.jaimemartz.playerbalancer.settings.props.FallbackCommandProps;
76
import com.jaimemartz.playerbalancer.settings.props.MessagesProps;
8-
import com.jaimemartz.playerbalancer.settings.shared.CommandProps;
7+
import com.jaimemartz.playerbalancer.settings.props.features.FallbackCommandProps;
8+
import com.jaimemartz.playerbalancer.settings.props.shared.CommandProps;
99
import com.jaimemartz.playerbalancer.utils.MessageUtils;
1010
import net.md_5.bungee.api.ChatColor;
1111
import net.md_5.bungee.api.CommandSender;

src/main/java/com/jaimemartz/playerbalancer/listener/ServerKickListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import com.jaimemartz.playerbalancer.connection.ConnectionIntent;
55
import com.jaimemartz.playerbalancer.manager.PlayerLocker;
66
import com.jaimemartz.playerbalancer.section.ServerSection;
7-
import com.jaimemartz.playerbalancer.settings.props.KickHandlerProps;
87
import com.jaimemartz.playerbalancer.settings.props.MessagesProps;
8+
import com.jaimemartz.playerbalancer.settings.props.features.KickHandlerProps;
99
import com.jaimemartz.playerbalancer.utils.MessageUtils;
1010
import net.md_5.bungee.api.Callback;
1111
import net.md_5.bungee.api.chat.TextComponent;

src/main/java/com/jaimemartz/playerbalancer/section/SectionCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.jaimemartz.playerbalancer.PlayerBalancer;
44
import com.jaimemartz.playerbalancer.commands.FallbackCommand;
5-
import com.jaimemartz.playerbalancer.settings.shared.CommandProps;
5+
import com.jaimemartz.playerbalancer.settings.props.shared.CommandProps;
66
import net.md_5.bungee.api.CommandSender;
77
import net.md_5.bungee.api.connection.ProxiedPlayer;
88

src/main/java/com/jaimemartz/playerbalancer/section/SectionManager.java

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,13 @@
99
import java.util.HashMap;
1010
import java.util.Map;
1111
import java.util.Optional;
12-
import java.util.TreeMap;
1312

1413
public class SectionManager {
1514
private final PlayerBalancer plugin;
1615
private ScheduledTask updateTask;
1716
private ServerSection principal;
1817

19-
private final Map<String, ServerSection> sections = new TreeMap<>(
20-
String.CASE_INSENSITIVE_ORDER
21-
);
22-
18+
private final Map<String, ServerSection> sections = new HashMap<>();
2319
private final Map<ServerInfo, ServerSection> servers = new HashMap<>();
2420

2521
public SectionManager(PlayerBalancer plugin) {
@@ -36,46 +32,15 @@ public void load() throws RuntimeException {
3632
sections.put(name, object);
3733
});
3834

39-
this.sections.forEach((name, section) -> {
40-
plugin.getLogger().info(String.format("Pre-Initialization of section with name \"%s\"", name));
41-
//section.preInit();
42-
});
43-
44-
this.sections.forEach((name, section) -> {
45-
plugin.getLogger().info(String.format("Initialization of section with name \"%s\"", name));
46-
//section.load();
47-
});
35+
//todo validate principal section
36+
//todo validate dummy sections
4837

49-
this.sections.forEach((name, section) -> {
50-
plugin.getLogger().info(String.format("Post-Initialization of section with name \"%s\"", name));
51-
//section.postInit();
38+
sections.forEach((name, section) -> {
39+
//load section
5240
});
5341

54-
/*
55-
//todo unify loading code with SectionManager
56-
if (ConfigEntries.SERVERS_UPDATE.get()) {
57-
updateTask = plugin.getProxy().getScheduler().schedule(plugin, () -> {
58-
this.sections.forEach((name, section) -> {
59-
section.getConfiguration().getStringList("servers").forEach(entry -> {
60-
Pattern pattern = Pattern.compile(entry);
61-
plugin.getProxy().getServers().forEach((key, value) -> {
62-
Matcher matcher = pattern.matcher(key);
63-
if (matcher.matches()) {
64-
if (!section.getServers().contains(value)) {
65-
plugin.getLogger().info(String.format("Found a new match with \"%s\" for entry \"%s\"", key, entry));
66-
this.register(value, section);
67-
section.getServers().add(value);
68-
}
69-
}
70-
});
71-
});
72-
});
73-
}, 1, 1, TimeUnit.MINUTES);
74-
}
75-
*/
76-
7742
long ending = System.currentTimeMillis() - starting;
78-
plugin.getLogger().info(String.format("A total of %s section(s) have been loaded in %sms", this.sections.size(), ending));
43+
plugin.getLogger().info(String.format("A total of %s section(s) have been loaded in %sms", sections.size(), ending));
7944
}
8045

8146
public void flush() {

src/main/java/com/jaimemartz/playerbalancer/section/ServerSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.jaimemartz.playerbalancer.section;
22

33
import com.jaimemartz.playerbalancer.connection.ProviderType;
4-
import com.jaimemartz.playerbalancer.settings.shared.SectionProps;
4+
import com.jaimemartz.playerbalancer.settings.props.shared.SectionProps;
55
import net.md_5.bungee.api.config.ServerInfo;
66

77
import java.util.List;

src/main/java/com/jaimemartz/playerbalancer/settings/MainSettings.java

Lines changed: 0 additions & 110 deletions
This file was deleted.

0 commit comments

Comments
 (0)