Skip to content

Commit 4071fc1

Browse files
committed
Some more progress, really want to this this out...
1 parent 6205a61 commit 4071fc1

File tree

9 files changed

+49
-29
lines changed

9 files changed

+49
-29
lines changed

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313
import com.jaimemartz.playerbalancer.section.SectionManager;
1414
import com.jaimemartz.playerbalancer.settings.Settings;
1515
import com.jaimemartz.playerbalancer.settings.SettingsProvider;
16-
import com.jaimemartz.playerbalancer.settings.types.CheckerProperties;
17-
import com.jaimemartz.playerbalancer.settings.types.CommandProperties;
18-
import com.jaimemartz.playerbalancer.settings.types.GeneralProperties;
19-
import com.jaimemartz.playerbalancer.settings.types.ReconnectorProperties;
16+
import com.jaimemartz.playerbalancer.settings.beans.SectionHandler;
17+
import com.jaimemartz.playerbalancer.settings.types.*;
2018
import lombok.Getter;
2119
import net.md_5.bungee.api.ProxyServer;
2220
import net.md_5.bungee.api.plugin.Command;
@@ -56,6 +54,7 @@ public void onEnable() {
5654
injector.registerProvider(Settings.class, SettingsProvider.class);
5755

5856
settings = injector.getSingleton(Settings.class);
57+
injector.register(SectionHandler.class, settings.getProperty(SectionsHolder.SECTION_HOLDER));
5958

6059
Metrics metrics = new Metrics(this);
6160
if (this.enable()) {

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

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,39 @@
11
package com.jaimemartz.playerbalancer.commands;
22

3-
import com.jaimemartz.playerbalancer.PlayerBalancer;
3+
import com.google.common.collect.Iterables;
44
import com.jaimemartz.playerbalancer.connection.ConnectionIntent;
55
import com.jaimemartz.playerbalancer.section.ServerSection;
6-
import com.jaimemartz.playerbalancer.settings.ConfigEntries;
6+
import com.jaimemartz.playerbalancer.settings.Settings;
7+
import com.jaimemartz.playerbalancer.settings.beans.MapBean;
8+
import com.jaimemartz.playerbalancer.settings.types.CommandProperties;
9+
import com.jaimemartz.playerbalancer.settings.types.GeneralProperties;
10+
import com.jaimemartz.playerbalancer.settings.types.MessageProperties;
11+
import com.jaimemartz.playerbalancer.settings.types.SectionsHolder;
712
import com.jaimemartz.playerbalancer.utils.MessageUtils;
813
import net.md_5.bungee.api.ChatColor;
914
import net.md_5.bungee.api.CommandSender;
1015
import net.md_5.bungee.api.chat.ComponentBuilder;
1116
import net.md_5.bungee.api.config.ServerInfo;
1217
import net.md_5.bungee.api.connection.ProxiedPlayer;
1318
import net.md_5.bungee.api.plugin.Command;
14-
import net.md_5.bungee.config.Configuration;
1519

20+
import javax.inject.Inject;
1621
import java.util.concurrent.Callable;
1722

1823
public class FallbackCommand extends Command {
19-
private final PlayerBalancer plugin;
24+
@Inject
25+
private Settings settings;
2026

21-
public FallbackCommand(PlayerBalancer plugin) {
22-
super(ConfigEntries.FALLBACK_COMMAND_NAME.get(), ConfigEntries.FALLBACK_COMMAND_PERMISSION.get(), (ConfigEntries.FALLBACK_COMMAND_ALIASES.get().stream()).toArray(String[]::new));
23-
this.plugin = plugin;
27+
@Inject
28+
private SectionsHolder sections;
29+
30+
@Inject
31+
public FallbackCommand(Settings settings) {
32+
super(
33+
settings.getProperty(CommandProperties.COMMAND).getName(),
34+
settings.getProperty(CommandProperties.COMMAND).getPermission(),
35+
Iterables.toArray(settings.getProperty(CommandProperties.COMMAND).getAliases(), String.class)
36+
);
2437
}
2538

2639
@Override
@@ -29,38 +42,38 @@ public void execute(CommandSender sender, String[] args) {
2942
ProxiedPlayer player = (ProxiedPlayer) sender;
3043

3144
Callable<ServerSection> callable = () -> {
32-
ServerSection current = plugin.getSectionManager().getByPlayer(player);
45+
ServerSection current = sections.getByPlayer(player);
3346

3447
if (current != null) {
35-
if ((ConfigEntries.FALLBACK_COMMAND_IGNORED_SECTIONS.get()).contains(current.getName())) {
36-
MessageUtils.send(player, ConfigEntries.UNAVAILABLE_MESSAGE.get());
48+
if (settings.getProperty(CommandProperties.IGNORED_SECTIONS).contains(current.getName())) {
49+
MessageUtils.send(player, settings.getProperty(MessageProperties.UNAVAILABLE_SERVER));
3750
return null;
3851
}
3952

40-
Configuration rules = plugin.getConfigHandle().getSection("settings.fallback-command.rules");
41-
String bind = rules.getString(current.getName());
42-
ServerSection target = plugin.getSectionManager().getByName(bind);
53+
MapBean rules = settings.getProperty(CommandProperties.RULES);
54+
String bind = rules.getMap().get(current.getName());
55+
ServerSection target = sections.getByName(bind);
4356

4457
if (target == null) {
4558
if (current.getParent() != null) {
4659
target = current.getParent();
4760
} else {
48-
MessageUtils.send(player, ConfigEntries.UNAVAILABLE_MESSAGE.get());
61+
MessageUtils.send(player, settings.getProperty(MessageProperties.UNAVAILABLE_SERVER));
4962
return null;
5063
}
5164
}
5265

53-
if (ConfigEntries.FALLBACK_COMMAND_RESTRICTED.get()) {
66+
if (settings.getProperty(CommandProperties.RESTRICTED)) {
5467
if (current.getPosition() >= 0 && target.getPosition() < 0) {
55-
MessageUtils.send(player, ConfigEntries.UNAVAILABLE_MESSAGE.get());
68+
MessageUtils.send(player, settings.getProperty(MessageProperties.UNAVAILABLE_SERVER));
5669
return null;
5770
}
5871
}
5972

6073
return target;
6174
} else {
62-
if (ConfigEntries.FALLBACK_PRINCIPAL_ENABLED.get()) {
63-
return plugin.getSectionManager().getPrincipal();
75+
if (settings.getProperty(GeneralProperties.FALLBACK_PRINCIPAL)) {
76+
return sections.getPrincipal();
6477
}
6578
}
6679

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.jaimemartz.playerbalancer.connection.ConnectionIntent;
66
import com.jaimemartz.playerbalancer.ping.ServerStatus;
77
import com.jaimemartz.playerbalancer.section.ServerSection;
8-
import com.jaimemartz.playerbalancer.settings.ConfigEntries;
98
import com.jaimemartz.playerbalancer.utils.MessageUtils;
109
import net.md_5.bungee.api.ChatColor;
1110
import net.md_5.bungee.api.CommandSender;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public Settings get() {
3535
PropertyResource resource = new YamlFileResource(configFile);
3636
ConfigurationData configurationData = ConfigurationDataBuilder.collectData(
3737
GeneralProperties.class, CheckerProperties.class, ReconnectorProperties.class,
38-
CommandProperties.class, MessagesProperties.class, SectionsHolder.class
38+
CommandProperties.class, MessageProperties.class, SectionsHolder.class
3939
);
4040

4141
return new Settings(resource, new PlainMigrationService(), configurationData);

src/main/java/com/jaimemartz/playerbalancer/settings/beans/CommandBean.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package com.jaimemartz.playerbalancer.settings.beans;
22

3+
import lombok.Data;
4+
35
import java.util.List;
46

7+
@Data
58
public final class CommandBean {
69
private final String name;
710
private final String permission;

src/main/java/com/jaimemartz/playerbalancer/settings/beans/SectionHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@ public class SectionHandler {
99
public SectionHandler() {
1010
//Default constructor?
1111
}
12+
13+
//TODO The methods in SectionManager
1214
}

src/main/java/com/jaimemartz/playerbalancer/settings/types/MessagesProperties.java renamed to src/main/java/com/jaimemartz/playerbalancer/settings/types/MessageProperties.java

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

88
import static ch.jalu.configme.properties.PropertyInitializer.optionalStringProperty;
99

10-
public class MessagesProperties implements SettingsHolder {
10+
public class MessageProperties implements SettingsHolder {
1111
public static final Property<Optional<String>> CONNECTING_SERVER = optionalStringProperty("settings.messages.connecting-server");
1212

1313
public static final Property<Optional<String>> CONNECTED_SERVER = optionalStringProperty("settings.messages.connected-server");

src/main/java/com/jaimemartz/playerbalancer/settings/types/SectionsHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
import static ch.jalu.configme.properties.PropertyInitializer.newBeanProperty;
88

99
public class SectionsHolder implements SettingsHolder {
10-
public static final Property<SectionHandler> SECTIONS_STORAGE = newBeanProperty(SectionHandler.class, "", new SectionHandler());
10+
public static final Property<SectionHandler> SECTION_HOLDER = newBeanProperty(SectionHandler.class, "", new SectionHandler());
1111
}

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.jaimemartz.playerbalancer.utils;
22

3-
import ch.jalu.configme.properties.Property;
43
import net.md_5.bungee.api.ChatColor;
54
import net.md_5.bungee.api.CommandSender;
65
import net.md_5.bungee.api.chat.TextComponent;
76

7+
import java.util.Optional;
88
import java.util.function.Function;
99

1010
public final class MessageUtils {
@@ -23,7 +23,11 @@ public static void send(CommandSender sender, String text, Function<String, Stri
2323
send(sender, text);
2424
}
2525

26-
public static void send(CommandSender sender, Property<String> property) {
27-
throw new UnsupportedOperationException();
26+
public static void send(CommandSender sender, Optional<String> message) {
27+
message.ifPresent(text -> send(sender, text));
28+
}
29+
30+
public static void send(CommandSender sender, Optional<String> message, Function<String, String> after) {
31+
message.ifPresent(text -> send(sender, text, after));
2832
}
2933
}

0 commit comments

Comments
 (0)