Skip to content

Commit ea71518

Browse files
authored
Hotfix Update 3.2.1
Default Setup, ServiceInfoSnapshot-OnlineCount and SmartModule AutoStop Hotfix
2 parents a6f6391 + c52684e commit ea71518

File tree

14 files changed

+75
-24
lines changed

14 files changed

+75
-24
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defaultTasks 'clean', 'build', 'test', 'jar'
22

33
allprojects {
44

5-
def major = 3, minor = 2, patch = 0, versionType = "RELEASE"
5+
def major = 3, minor = 2, patch = 1, versionType = "RELEASE"
66

77
group 'de.dytanic.cloudnet'
88
version "$major.$minor.$patch-$versionType"

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/bukkit/BukkitCloudNetBridgePlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public synchronized void onDisable() {
3535

3636
private void initListeners() {
3737
//BukkitAPI
38-
Bukkit.getServer().getPluginManager().registerEvents(new BukkitPlayerListener(), this);
38+
Bukkit.getServer().getPluginManager().registerEvents(new BukkitPlayerListener(this), this);
3939

4040
//CloudNet
4141
CloudNetDriver.getInstance().getEventManager().registerListener(new BukkitCloudNetListener());

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/bukkit/listener/BukkitPlayerListener.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import de.dytanic.cloudnet.ext.bridge.BridgeConfiguration;
66
import de.dytanic.cloudnet.ext.bridge.BridgeConfigurationProvider;
77
import de.dytanic.cloudnet.ext.bridge.BridgeHelper;
8+
import de.dytanic.cloudnet.ext.bridge.bukkit.BukkitCloudNetBridgePlugin;
89
import de.dytanic.cloudnet.ext.bridge.bukkit.BukkitCloudNetHelper;
910
import de.dytanic.cloudnet.wrapper.Wrapper;
1011
import org.bukkit.Bukkit;
@@ -19,11 +20,14 @@
1920

2021
public final class BukkitPlayerListener implements Listener {
2122

23+
private final BukkitCloudNetBridgePlugin plugin;
24+
2225
private final BridgeConfiguration bridgeConfiguration;
2326

2427
private final boolean onlyProxyProtection;
2528

26-
public BukkitPlayerListener() {
29+
public BukkitPlayerListener(BukkitCloudNetBridgePlugin plugin) {
30+
this.plugin = plugin;
2731
this.bridgeConfiguration = BridgeConfigurationProvider.load();
2832
this.onlyProxyProtection = !Bukkit.getOnlineMode()
2933
&& this.bridgeConfiguration != null
@@ -71,7 +75,7 @@ public void handle(PlayerQuitEvent event) {
7175
BridgeHelper.sendChannelMessageServerDisconnect(BukkitCloudNetHelper.createNetworkConnectionInfo(event.getPlayer()),
7276
BukkitCloudNetHelper.createNetworkPlayerServerInfo(event.getPlayer(), false));
7377

74-
BridgeHelper.updateServiceInfo();
78+
Bukkit.getScheduler().runTask(this.plugin, BridgeHelper::updateServiceInfo);
7579
}
7680

7781
}

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/bungee/BungeeCloudNetBridgePlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ private void registerCommands() {
6565

6666
private void initListeners() {
6767
//BungeeCord API
68-
ProxyServer.getInstance().getPluginManager().registerListener(this, new BungeePlayerListener());
68+
ProxyServer.getInstance().getPluginManager().registerListener(this, new BungeePlayerListener(this));
6969

7070
//CloudNet
7171
CloudNetDriver.getInstance().getEventManager().registerListener(new BungeeCloudNetListener());

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/bungee/listener/BungeePlayerListener.java

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

33
import de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot;
44
import de.dytanic.cloudnet.ext.bridge.BridgeHelper;
5+
import de.dytanic.cloudnet.ext.bridge.bungee.BungeeCloudNetBridgePlugin;
56
import de.dytanic.cloudnet.ext.bridge.bungee.BungeeCloudNetHelper;
67
import de.dytanic.cloudnet.ext.bridge.player.NetworkServiceInfo;
78
import net.md_5.bungee.api.ProxyServer;
@@ -11,8 +12,16 @@
1112
import net.md_5.bungee.api.plugin.Listener;
1213
import net.md_5.bungee.event.EventHandler;
1314

15+
import java.util.concurrent.TimeUnit;
16+
1417
public final class BungeePlayerListener implements Listener {
1518

19+
private BungeeCloudNetBridgePlugin plugin;
20+
21+
public BungeePlayerListener(BungeeCloudNetBridgePlugin plugin) {
22+
this.plugin = plugin;
23+
}
24+
1625
@EventHandler
1726
public void handle(LoginEvent event) {
1827
BridgeHelper.sendChannelMessageProxyLoginRequest(BungeeCloudNetHelper.createNetworkConnectionInfo(event.getConnection()));
@@ -77,6 +86,6 @@ public void handle(ServerKickEvent event) {
7786
public void handle(PlayerDisconnectEvent event) {
7887
BridgeHelper.sendChannelMessageProxyDisconnect(BungeeCloudNetHelper.createNetworkConnectionInfo(event.getPlayer().getPendingConnection()));
7988

80-
BridgeHelper.updateServiceInfo();
89+
ProxyServer.getInstance().getScheduler().schedule(this.plugin, BridgeHelper::updateServiceInfo, 50, TimeUnit.MILLISECONDS);
8190
}
8291
}

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/nukkit/listener/NukkitPlayerListener.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import cn.nukkit.event.player.PlayerJoinEvent;
99
import cn.nukkit.event.player.PlayerLoginEvent;
1010
import cn.nukkit.event.player.PlayerQuitEvent;
11+
import cn.nukkit.scheduler.Task;
1112
import de.dytanic.cloudnet.common.collection.Iterables;
1213
import de.dytanic.cloudnet.driver.service.ServiceTask;
1314
import de.dytanic.cloudnet.ext.bridge.BridgeConfiguration;
@@ -70,7 +71,12 @@ public void handle(PlayerQuitEvent event) {
7071
BridgeHelper.sendChannelMessageServerDisconnect(NukkitCloudNetHelper.createNetworkConnectionInfo(event.getPlayer()),
7172
NukkitCloudNetHelper.createNetworkPlayerServerInfo(event.getPlayer(), false));
7273

73-
BridgeHelper.updateServiceInfo();
74+
event.getPlayer().getServer().getScheduler().scheduleDelayedTask(new Task() {
75+
@Override
76+
public void onRun(int currentTick) {
77+
BridgeHelper.updateServiceInfo();
78+
}
79+
}, 1);
7480
}
7581

7682
}

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/sponge/SpongeCloudNetBridgePlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public synchronized void handle(GameStoppingServerEvent event) {
3939

4040
private void initListeners() {
4141
//Sponge API
42-
Sponge.getEventManager().registerListeners(this, new SpongePlayerListener());
42+
Sponge.getEventManager().registerListeners(this, new SpongePlayerListener(this));
4343

4444
//CloudNet
4545
CloudNetDriver.getInstance().getEventManager().registerListener(new SpongeCloudNetListener());
Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
11
package de.dytanic.cloudnet.ext.bridge.sponge.listener;
22

33
import de.dytanic.cloudnet.ext.bridge.BridgeHelper;
4+
import de.dytanic.cloudnet.ext.bridge.sponge.SpongeCloudNetBridgePlugin;
45
import de.dytanic.cloudnet.ext.bridge.sponge.SpongeCloudNetHelper;
6+
import org.spongepowered.api.Sponge;
57
import org.spongepowered.api.event.Listener;
68
import org.spongepowered.api.event.network.ClientConnectionEvent;
9+
import org.spongepowered.api.scheduler.SpongeExecutorService;
710

811
public final class SpongePlayerListener {
912

13+
private SpongeExecutorService executorService;
14+
15+
public SpongePlayerListener(SpongeCloudNetBridgePlugin plugin) {
16+
this.executorService = Sponge.getGame().getScheduler().createSyncExecutor(plugin);
17+
}
18+
1019
@Listener
1120
public void handle(ClientConnectionEvent.Join event) {
1221
BridgeHelper.sendChannelMessageServerLoginSuccess(SpongeCloudNetHelper.createNetworkConnectionInfo(event.getTargetEntity()),
1322
SpongeCloudNetHelper.createNetworkPlayerServerInfo(event.getTargetEntity(), false)
1423
);
1524

16-
BridgeHelper.updateServiceInfo();
25+
this.executorService.execute(BridgeHelper::updateServiceInfo);
1726
}
1827

1928
@Listener
2029
public void handle(ClientConnectionEvent.Disconnect event) {
2130
BridgeHelper.sendChannelMessageServerDisconnect(SpongeCloudNetHelper.createNetworkConnectionInfo(event.getTargetEntity()),
2231
SpongeCloudNetHelper.createNetworkPlayerServerInfo(event.getTargetEntity(), false));
2332

24-
BridgeHelper.updateServiceInfo();
33+
this.executorService.execute(BridgeHelper::updateServiceInfo);
2534
}
2635
}

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/velocity/VelocityCloudNetBridgePlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void handleShutdown(ProxyShutdownEvent event) {
5353

5454
private void initListeners() {
5555
//Velocity API
56-
this.proxyServer.getEventManager().register(this, new VelocityPlayerListener());
56+
this.proxyServer.getEventManager().register(this, new VelocityPlayerListener(this));
5757

5858
//CloudNet
5959
CloudNetDriver.getInstance().getEventManager().registerListener(new VelocityCloudNetListener());

cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/velocity/listener/VelocityPlayerListener.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,20 @@
1010
import de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot;
1111
import de.dytanic.cloudnet.ext.bridge.BridgeHelper;
1212
import de.dytanic.cloudnet.ext.bridge.player.NetworkServiceInfo;
13+
import de.dytanic.cloudnet.ext.bridge.velocity.VelocityCloudNetBridgePlugin;
1314
import de.dytanic.cloudnet.ext.bridge.velocity.VelocityCloudNetHelper;
1415
import net.kyori.text.TextComponent;
1516

17+
import java.util.concurrent.TimeUnit;
18+
1619
public final class VelocityPlayerListener {
1720

21+
private VelocityCloudNetBridgePlugin plugin;
22+
23+
public VelocityPlayerListener(VelocityCloudNetBridgePlugin plugin) {
24+
this.plugin = plugin;
25+
}
26+
1827
@Subscribe
1928
public void handle(LoginEvent event) {
2029
BridgeHelper.sendChannelMessageProxyLoginRequest(VelocityCloudNetHelper.createNetworkConnectionInfo(event.getPlayer()));
@@ -24,7 +33,8 @@ public void handle(LoginEvent event) {
2433
public void handle(PostLoginEvent event) {
2534
BridgeHelper.sendChannelMessageProxyLoginSuccess(VelocityCloudNetHelper.createNetworkConnectionInfo(event.getPlayer()));
2635

27-
VelocityCloudNetHelper.updateServiceInfo();
36+
VelocityCloudNetHelper.getProxyServer().getScheduler().buildTask(this.plugin, VelocityCloudNetHelper::updateServiceInfo)
37+
.delay(50, TimeUnit.MILLISECONDS).schedule();
2838
}
2939

3040
@Subscribe
@@ -82,6 +92,7 @@ public void handle(KickedFromServerEvent event) {
8292
public void handle(DisconnectEvent event) {
8393
BridgeHelper.sendChannelMessageProxyDisconnect(VelocityCloudNetHelper.createNetworkConnectionInfo(event.getPlayer()));
8494

85-
VelocityCloudNetHelper.updateServiceInfo();
95+
VelocityCloudNetHelper.getProxyServer().getScheduler().buildTask(this.plugin, VelocityCloudNetHelper::updateServiceInfo)
96+
.delay(50, TimeUnit.MILLISECONDS).schedule();
8697
}
8798
}

0 commit comments

Comments
 (0)