Skip to content

Commit a681c42

Browse files
committed
Fix sethome and hopefully add the ability for the config to update
1 parent 58b5dd5 commit a681c42

File tree

3 files changed

+27
-7
lines changed

3 files changed

+27
-7
lines changed

pom.xml

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

77
<groupId>simplexity</groupId>
88
<artifactId>SimpleHomes</artifactId>
9-
<version>1.2.1</version>
9+
<version>1.2.2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SimpleHomes</name>

src/main/java/simplexity/simplehomes/SimpleHomes.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,10 @@ public final class SimpleHomes extends JavaPlugin {
2626
@Override
2727
public void onEnable() {
2828
instance = this;
29-
saveDefaultConfig();
30-
ConfigHandler.getInstance().loadConfigValues();
31-
LocaleHandler.getInstance().loadLocale();
29+
handleConfig();
3230
SQLHandler.getInstance().init();
33-
this.getServer().getPluginManager().registerEvents(new PlayerMoveListener(), this);
34-
this.getServer().getPluginManager().registerEvents(new PlayerLeaveListener(), this);
3531
registerCommands();
32+
registerListeners();
3633
}
3734

3835
public static SimpleHomes getInstance() {
@@ -51,4 +48,17 @@ private void registerCommands() {
5148
Objects.requireNonNull(this.getCommand("homesreload")).setExecutor(new HomesReload());
5249
Objects.requireNonNull(this.getCommand("importhomes")).setExecutor(new ImportHomes());
5350
}
51+
52+
private void registerListeners(){
53+
this.getServer().getPluginManager().registerEvents(new PlayerMoveListener(), this);
54+
this.getServer().getPluginManager().registerEvents(new PlayerLeaveListener(), this);
55+
}
56+
57+
private void handleConfig(){
58+
saveDefaultConfig();
59+
getConfig().options().copyDefaults(true);
60+
saveConfig();
61+
ConfigHandler.getInstance().loadConfigValues();
62+
LocaleHandler.getInstance().loadLocale();
63+
}
5464
}

src/main/java/simplexity/simplehomes/commands/SetHome.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
2222
return false;
2323
}
2424
List<Home> playerHomes = SQLHandler.getInstance().getHomes(player.getUniqueId());
25-
25+
if (!canSetMoreHomes(player, playerHomes)) {
26+
sender.sendRichMessage(LocaleHandler.getInstance().getCannotSetMoreHomes(),
27+
Placeholder.parsed("value", String.valueOf(CommandUtils.maxHomesPermission(player))));
28+
return false;
29+
}
2630
if (args.length == 0) {
2731
handleNoArgs(player, playerHomes);
2832
return true;
@@ -57,4 +61,10 @@ private void handleSetHome(Player player, String homeName) {
5761
SQLHandler.getInstance().setHome(player.getUniqueId(), player.getLocation(), homeName);
5862
player.sendRichMessage(LocaleHandler.getInstance().getHomeSet(), Placeholder.unparsed("name", homeName));
5963
}
64+
65+
private boolean canSetMoreHomes(Player player, List<Home> homesList) {
66+
int maxHomes = CommandUtils.maxHomesPermission(player);
67+
int currentHomes = homesList.size();
68+
return currentHomes < maxHomes;
69+
}
6070
}

0 commit comments

Comments
 (0)