Skip to content

Commit dab5424

Browse files
committed
Attempt at fixing geyser issue
1 parent 3a60c56 commit dab5424

File tree

7 files changed

+74
-5
lines changed

7 files changed

+74
-5
lines changed

pom.xml

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

77
<groupId>simplexity</groupId>
88
<artifactId>SimpleNicks</artifactId>
9-
<version>2.1.1</version>
9+
<version>2.1.2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SimpleNicks</name>
@@ -73,6 +73,14 @@
7373
<id>placeholderapi</id>
7474
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
7575
</repository>
76+
<repository>
77+
<id>codemc-releases</id>
78+
<url>https://repo.codemc.io/repository/maven-releases/</url>
79+
</repository>
80+
<repository>
81+
<id>codemc-snapshots</id>
82+
<url>https://repo.codemc.io/repository/maven-snapshots/</url>
83+
</repository>
7684
</repositories>
7785

7886
<dependencies>
@@ -88,5 +96,11 @@
8896
<version>2.11.5</version>
8997
<scope>provided</scope>
9098
</dependency>
99+
<dependency>
100+
<groupId>com.github.retrooper</groupId>
101+
<artifactId>packetevents-spigot</artifactId>
102+
<version>2.9.3</version>
103+
<scope>provided</scope>
104+
</dependency>
91105
</dependencies>
92106
</project>

src/main/java/simplexity/simplenicks/SimpleNicks.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
import simplexity.simplenicks.commands.Delete;
88
import simplexity.simplenicks.commands.Help;
99
import simplexity.simplenicks.commands.Reset;
10+
import simplexity.simplenicks.commands.SNReload;
1011
import simplexity.simplenicks.commands.Save;
1112
import simplexity.simplenicks.commands.Set;
12-
import simplexity.simplenicks.commands.SNReload;
1313
import simplexity.simplenicks.commands.SubCommand;
1414
import simplexity.simplenicks.config.ConfigHandler;
1515
import simplexity.simplenicks.config.LocaleHandler;
1616
import simplexity.simplenicks.listener.LoginListener;
1717
import simplexity.simplenicks.util.Constants;
1818
import simplexity.simplenicks.util.NickHandler;
19+
import simplexity.simplenicks.util.PacketStuff;
1920
import simplexity.simplenicks.util.SNExpansion;
2021

2122
import java.util.Collections;
@@ -51,6 +52,9 @@ public void onEnable() {
5152
if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
5253
new SNExpansion().register();
5354
}
55+
if (this.getServer().getPluginManager().isPluginEnabled("floodgate")) {
56+
PacketStuff.registerPacketStuff();
57+
}
5458
instance.getServer().getPluginManager().registerEvents(new LoginListener(), this);
5559
configReload();
5660
}
@@ -84,4 +88,5 @@ public static void configReload() {
8488
ConfigHandler.getInstance().reloadConfig();
8589
NickHandler.getInstance().loadSavingType();
8690
}
91+
8792
}

src/main/java/simplexity/simplenicks/listener/LoginListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
public class LoginListener implements Listener {
1212
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
1313
public void onPlayerLogin(PlayerJoinEvent joinEvent) {
14-
Bukkit.getScheduler().runTaskLater(SimpleNicks.getInstance(), () -> NickHandler.getInstance().refreshNickname(joinEvent.getPlayer()), 20L);
14+
Bukkit.getScheduler().runTaskLater(SimpleNicks.getInstance(), () ->
15+
NickHandler.getInstance().refreshNickname(joinEvent.getPlayer()), 20L);
1516
}
1617
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package simplexity.simplenicks.listener;
2+
3+
import com.github.retrooper.packetevents.event.PacketListenerAbstract;
4+
import com.github.retrooper.packetevents.event.PacketSendEvent;
5+
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
6+
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoUpdate;
7+
import org.bukkit.Bukkit;
8+
import org.bukkit.entity.Player;
9+
import org.jetbrains.annotations.NotNull;
10+
import simplexity.simplenicks.SimpleNicks;
11+
import simplexity.simplenicks.util.NickHandler;
12+
13+
import java.util.EnumSet;
14+
import java.util.UUID;
15+
16+
public class NamePacketListener extends PacketListenerAbstract {
17+
18+
@Override
19+
public void onPacketSend(@NotNull PacketSendEvent sendEvent) {
20+
if (sendEvent.getPacketType() != PacketType.Play.Server.PLAYER_INFO_UPDATE) return;
21+
WrapperPlayServerPlayerInfoUpdate packet = new WrapperPlayServerPlayerInfoUpdate(sendEvent);
22+
EnumSet<WrapperPlayServerPlayerInfoUpdate.Action> actions = packet.getActions();
23+
24+
if (!actions.contains(WrapperPlayServerPlayerInfoUpdate.Action.ADD_PLAYER)
25+
&& !actions.contains(WrapperPlayServerPlayerInfoUpdate.Action.UPDATE_DISPLAY_NAME)) return;
26+
27+
packet.getEntries().forEach(entry -> {
28+
UUID uuid = entry.getGameProfile().getUUID();
29+
Player target = Bukkit.getPlayer(uuid);
30+
String nickname = NickHandler.getInstance().getNickname(target);
31+
if (target != null && nickname != null && !nickname.isEmpty()) {
32+
entry.setDisplayName(SimpleNicks.getMiniMessage().deserialize(nickname));
33+
}
34+
});
35+
36+
}
37+
38+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package simplexity.simplenicks.util;
2+
3+
import com.github.retrooper.packetevents.PacketEvents;
4+
import simplexity.simplenicks.listener.NamePacketListener;
5+
6+
public class PacketStuff {
7+
public static void registerPacketStuff(){
8+
PacketEvents.getAPI().getEventManager().registerListener(new NamePacketListener());
9+
PacketEvents.getAPI().load();
10+
}
11+
}

src/main/java/simplexity/simplenicks/util/SNExpansion.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
44
import org.bukkit.OfflinePlayer;
55
import org.jetbrains.annotations.NotNull;
6-
import simplexity.simplenicks.SimpleNicks;
76

87
public class SNExpansion extends PlaceholderExpansion {
98
@Override

src/main/resources/plugin.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ api-version: 1.19
66
description: "A simple plugin to allow players to set and reset nicknames."
77
softdepend:
88
- PlaceholderAPI
9+
- packetevents
910
commands:
1011
nick:
1112
description: "Base command for SimpleNicks, Admin permission required to alter other's names."
@@ -132,4 +133,4 @@ permissions:
132133
default: op
133134
children:
134135
simplenick.nick: true
135-
simplenick.nick.format: true
136+
simplenick.nick.format: true

0 commit comments

Comments
 (0)