Skip to content

Commit 8b7a009

Browse files
committed
4.3.9
Fixed desynchronization issue Fixed migration: moved to enable instead of load Updated all dependencies Java 17 Dropped support for 1.16
1 parent 370fa8d commit 8b7a009

File tree

11 files changed

+265
-226
lines changed

11 files changed

+265
-226
lines changed

jitpack.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
jdk:
2-
- openjdk16
2+
- openjdk17
33
before_install:
4-
- sdk install java 16.0.1-open
5-
- sdk use java 16.0.1-open
4+
- sdk install java 17.0.1-open
5+
- sdk use java 17.0.1-open

pom.xml

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
<groupId>dev.unnm3d</groupId>
88
<artifactId>RedisEconomy</artifactId>
9-
<version>4.3.8-SNAPSHOT</version>
9+
<version>4.3.9-SNAPSHOT</version>
1010
<packaging>jar</packaging>
1111

1212
<name>RedisEconomy</name>
1313

1414
<properties>
15-
<java.version>16</java.version>
15+
<java.version>17</java.version>
1616
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1717
</properties>
1818

@@ -23,8 +23,8 @@
2323
<artifactId>maven-compiler-plugin</artifactId>
2424
<version>3.8.1</version>
2525
<configuration>
26-
<source>16</source>
27-
<target>16</target>
26+
<source>17</source>
27+
<target>17</target>
2828
</configuration>
2929
</plugin>
3030
<plugin>
@@ -113,17 +113,13 @@
113113
<id>placeholderapi</id>
114114
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
115115
</repository>
116-
<repository>
117-
<id>devmart-other</id>
118-
<url>https://nexuslite.gcnt.net/repos/other/</url>
119-
</repository>
120116
</repositories>
121117

122118
<dependencies>
123119
<dependency>
124120
<groupId>org.spigotmc</groupId>
125121
<artifactId>spigot-api</artifactId>
126-
<version>1.16.5-R0.1-SNAPSHOT</version>
122+
<version>1.17.1-R0.1-SNAPSHOT</version>
127123
<scope>provided</scope>
128124
</dependency>
129125
<dependency>
@@ -135,35 +131,35 @@
135131
<dependency>
136132
<groupId>org.projectlombok</groupId>
137133
<artifactId>lombok</artifactId>
138-
<version>1.18.26</version>
134+
<version>1.18.30</version>
139135
<scope>provided</scope>
140136
</dependency>
141137
<dependency>
142138
<groupId>net.kyori</groupId>
143139
<artifactId>adventure-text-minimessage</artifactId>
144-
<version>4.14.0</version>
140+
<version>4.16.0</version>
145141
</dependency>
146142
<dependency>
147143
<groupId>net.kyori</groupId>
148144
<artifactId>adventure-platform-bukkit</artifactId>
149-
<version>4.3.0</version>
145+
<version>4.3.2</version>
150146
</dependency>
151147
<dependency>
152148
<groupId>me.clip</groupId>
153149
<artifactId>placeholderapi</artifactId>
154-
<version>2.11.3</version>
150+
<version>2.11.5</version>
155151
<scope>provided</scope>
156152
</dependency>
157153
<dependency>
158154
<groupId>io.lettuce</groupId>
159155
<artifactId>lettuce-core</artifactId>
160-
<version>6.2.4.RELEASE</version>
156+
<version>6.3.2.RELEASE</version>
161157
<scope>provided</scope>
162158
</dependency>
163159
<dependency>
164-
<groupId>com.github.Emibergo02</groupId>
165-
<artifactId>ConfigLib</artifactId>
166-
<version>master-SNAPSHOT</version>
160+
<groupId>de.exlll</groupId>
161+
<artifactId>configlib-yaml</artifactId>
162+
<version>4.5.0</version>
167163
</dependency>
168164
<dependency>
169165
<groupId>com.github.Anon8281</groupId>

src/main/java/dev/unnm3d/rediseconomy/RedisEconomyPlugin.java

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
public final class RedisEconomyPlugin extends JavaPlugin {
3636

37+
@Getter
3738
private static RedisEconomyPlugin instance;
3839
//private EzRedisMessenger ezRedisMessenger;
3940
@Getter
@@ -43,6 +44,8 @@ public final class RedisEconomyPlugin extends JavaPlugin {
4344
private RedisManager redisManager;
4445
@Getter
4546
private TaskScheduler scheduler;
47+
@Getter
48+
private Plugin vaultPlugin;
4649

4750

4851
public Settings settings() {
@@ -53,10 +56,6 @@ public Langs langs() {
5356
return configManager.getLangs();
5457
}
5558

56-
public static RedisEconomyPlugin getInstance() {
57-
return instance;
58-
}
59-
6059
@Override
6160
public void onLoad() {
6261
instance = this;
@@ -67,27 +66,30 @@ public void onLoad() {
6766
this.getLogger().severe("Disabling: redis server unreachable!");
6867
this.getLogger().severe("Please setup a redis server before running this plugin!");
6968
this.getServer().getPluginManager().disablePlugin(this);
70-
return;
7169
} else {
7270
this.getLogger().info("Redis server connected!");
7371
}
74-
75-
if (!setupVault()) { //creates currenciesManager and exchange
76-
this.getLogger().severe("Disabled due to no Vault dependency found!");
77-
this.getServer().getPluginManager().disablePlugin(this);
78-
} else {
79-
this.getLogger().info("Hooked into Vault!");
80-
}
8172
}
8273

8374
@Override
8475
public void onEnable() {
8576
this.scheduler = UniversalScheduler.getScheduler(this);
8677
this.configManager.postStartupLoad();
78+
this.vaultPlugin = getServer().getPluginManager().getPlugin("Vault");
79+
if (this.vaultPlugin == null) { //creates currenciesManager and exchange
80+
this.getLogger().severe("Disabled due to no Vault dependency found!");
81+
this.getServer().getPluginManager().disablePlugin(this);
82+
return;
83+
}
84+
85+
this.currenciesManager = new CurrenciesManager(redisManager, this, configManager);
86+
this.getLogger().info("Hooked into Vault!");
87+
8788
if (settings().migrationEnabled) {
8889
scheduler.runTaskLater(() ->
89-
currenciesManager.getCompleteMigration().complete(null),
90-
100L);//load: STARTUP doesn't consider dependencies on load so i have to wait a bit (bukkit bug?)
90+
currenciesManager.migrateFromOfflinePlayers(getServer().getOfflinePlayers()), 100L);
91+
} else {
92+
currenciesManager.loadDefaultCurrency(this.vaultPlugin);
9193
}
9294

9395
getServer().getPluginManager().registerEvents(currenciesManager, this);
@@ -164,14 +166,6 @@ private boolean setupRedis() {
164166
}
165167
}
166168

167-
private boolean setupVault() {
168-
Plugin vault = getServer().getPluginManager().getPlugin("Vault");
169-
if (vault == null)
170-
return false;
171-
this.currenciesManager = new CurrenciesManager(redisManager, this, configManager);
172-
currenciesManager.loadDefaultCurrency(vault);
173-
return true;
174-
}
175169

176170
private void loadCommand(String cmdName, CommandExecutor executor, TabCompleter tabCompleter) {
177171
PluginCommand cmd = getServer().getPluginCommand(cmdName);

src/main/java/dev/unnm3d/rediseconomy/command/MainCommand.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.bukkit.command.CommandExecutor;
88
import org.bukkit.command.CommandSender;
99
import org.bukkit.command.TabCompleter;
10+
import org.bukkit.entity.Player;
1011
import org.jetbrains.annotations.NotNull;
1112

1213
import java.lang.reflect.Field;
@@ -25,6 +26,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
2526
plugin.getConfigManager().getLangs().send(sender, plugin.langs().missingArguments);
2627
return true;
2728
} else if (args.length == 1) {
29+
if(args[0].equalsIgnoreCase("stress")){
30+
stress();
31+
}
2832
if (!args[0].equalsIgnoreCase("reload")) return true;
2933
if (!sender.hasPermission("rediseconomy.admin")) return true;
3034
String serverId = plugin.getConfigManager().getSettings().serverId; //Keep serverId
@@ -79,6 +83,18 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
7983
return true;
8084
}
8185

86+
private void stress() {
87+
Player p=plugin.getServer().getPlayer("Unnm3d");
88+
for(int i=0;i<1000;i++){
89+
if(i==400)plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "balance Unnm3d vault set 0");
90+
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "balance Unnm3d vault give 1");
91+
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> {
92+
plugin.getCurrenciesManager().getDefaultCurrency().depositPlayer(p, 1);
93+
});
94+
}
95+
96+
}
97+
8298

8399
@Override
84100
public @NotNull List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) {

src/main/java/dev/unnm3d/rediseconomy/config/ConfigManager.java

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
import org.bukkit.event.EventHandler;
1212
import org.bukkit.event.HandlerList;
1313
import org.bukkit.event.Listener;
14+
import org.bukkit.plugin.messaging.ChannelNotRegisteredException;
1415

1516
import java.io.File;
17+
import java.nio.charset.StandardCharsets;
1618
import java.util.concurrent.CompletableFuture;
1719

1820
public class ConfigManager {
@@ -22,6 +24,19 @@ public class ConfigManager {
2224
@Getter
2325
private Langs langs;
2426

27+
private static final YamlConfigurationProperties PROPERTIES = YamlConfigurationProperties.newBuilder()
28+
.header(
29+
"""
30+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
31+
┃ RedisEconomy Config ┃
32+
┃ Developed by Unnm3d ┃
33+
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
34+
"""
35+
)
36+
.footer("Authors: Unnm3d")
37+
.charset(StandardCharsets.UTF_8)
38+
.build();
39+
2540
public ConfigManager(RedisEconomyPlugin plugin) {
2641
this.plugin = plugin;
2742
loadSettingsConfig();
@@ -36,28 +51,18 @@ public void postStartupLoad() {
3651
}
3752

3853
public void loadSettingsConfig() {
39-
YamlConfigurationProperties properties = YamlConfigurationProperties.newBuilder()
40-
.header(
41-
"""
42-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
43-
┃ RedisEconomy Config ┃
44-
┃ Developed by Unnm3d ┃
45-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
46-
"""
47-
)
48-
.footer("Authors: Unnm3d")
49-
.build();
54+
5055
File settingsFile = new File(plugin.getDataFolder(), "config.yml");
5156
settings = YamlConfigurations.update(
5257
settingsFile.toPath(),
5358
Settings.class,
54-
properties
59+
PROPERTIES
5560
);
5661
}
5762

5863
public void saveConfigs() {
59-
YamlConfigurations.save(new File(plugin.getDataFolder(), "config.yml").toPath(), Settings.class, settings);
60-
YamlConfigurations.save(new File(plugin.getDataFolder(), settings.lang + ".yml").toPath(), Langs.class, langs);
64+
YamlConfigurations.save(new File(plugin.getDataFolder(), "config.yml").toPath(), Settings.class, settings, PROPERTIES);
65+
YamlConfigurations.save(new File(plugin.getDataFolder(), settings.lang + ".yml").toPath(), Langs.class, langs, PROPERTIES);
6166
}
6267

6368
public void loadLangs() {
@@ -67,7 +72,8 @@ public void loadLangs() {
6772
}
6873
langs = YamlConfigurations.update(
6974
settingsFile.toPath(),
70-
Langs.class
75+
Langs.class,
76+
PROPERTIES
7177
);
7278
}
7379

@@ -92,8 +98,11 @@ public void onJoin(org.bukkit.event.player.PlayerJoinEvent event) {
9298
plugin.getScheduler().runTaskLaterAsynchronously(() -> sendServerIdRequest(event.getPlayer()), 20L);
9399
}
94100
};
95-
if (plugin.getServer().getOnlinePlayers().size() > 0) {
96-
sendServerIdRequest(plugin.getServer().getOnlinePlayers().iterator().next());
101+
if (!plugin.getServer().getOnlinePlayers().isEmpty()) {
102+
try {
103+
sendServerIdRequest(plugin.getServer().getOnlinePlayers().iterator().next());
104+
} catch (ChannelNotRegisteredException ignored) {
105+
}
97106
} else {
98107
plugin.getServer().getPluginManager().registerEvents(listener, plugin);
99108
}
@@ -107,7 +116,7 @@ public void onJoin(org.bukkit.event.player.PlayerJoinEvent event) {
107116
}
108117

109118
@SuppressWarnings("UnstableApiUsage")
110-
private void sendServerIdRequest(Player p) {
119+
private void sendServerIdRequest(Player p) throws ChannelNotRegisteredException {
111120
ByteArrayDataOutput out = ByteStreams.newDataOutput();
112121
out.writeUTF("GetServer");
113122
p.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());//Request server name

0 commit comments

Comments
 (0)