Skip to content

Commit 86c6b06

Browse files
fix: fix cloning user data
1 parent 0473644 commit 86c6b06

3 files changed

Lines changed: 29 additions & 15 deletions

File tree

type.generic/src/main/java/net/swofty/type/generic/data/HypixelDataHandler.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,10 @@ public enum Data {
174174
// Delay this as player needs to be loaded
175175
MathUtility.delay(() -> {
176176
if (!player.isOnline()) return;
177+
if (HypixelConst.getTypeLoader().getType().isSkyBlock()) return;
177178

178-
String teamName = StringUtility.limitStringLength(rank.getPriorityCharacter() + "_" + player.getUsername(), 16);
179-
Team team = new TeamBuilder("ZZZZZ" + teamName, MinecraftServer.getTeamManager())
179+
String teamName = StringUtility.limitStringLength(rank.getPriorityCharacter() + player.getUsername(), 15);
180+
Team team = new TeamBuilder("Z" + teamName, MinecraftServer.getTeamManager())
180181
.prefix(Component.text(rank.getPrefix()))
181182
.teamColor(rank.getTextColor())
182183
.build();
@@ -185,8 +186,11 @@ public enum Data {
185186
}, 5);
186187
}, (player, datapoint) -> {
187188
player.sendPacket(MinecraftServer.getCommandManager().createDeclareCommandsPacket(player));
189+
if (HypixelConst.getTypeLoader().getType().isSkyBlock()) return;
190+
188191
Rank rank = (Rank) datapoint.getValue();
189-
player.setTeam(new TeamBuilder("ZZZZZ" + rank.getPriorityCharacter() + "_" + player.getUsername(), MinecraftServer.getTeamManager())
192+
String teamName = StringUtility.limitStringLength(rank.getPriorityCharacter() + player.getUsername(), 15);
193+
player.setTeam(new TeamBuilder("Z" + teamName, MinecraftServer.getTeamManager())
190194
.prefix(Component.text(rank.getPrefix()))
191195
.teamColor(rank.getTextColor())
192196
.build());

type.skyblockgeneric/src/main/java/net/swofty/type/skyblockgeneric/event/actions/custom/levels/ActionChangeHypixelXP.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import net.swofty.type.generic.event.EventNodes;
44
import net.swofty.type.generic.event.HypixelEvent;
55
import net.swofty.type.generic.event.HypixelEventClass;
6+
import net.swofty.type.skyblockgeneric.event.actions.player.ActionAddSkyBlockXPToNametag;
67
import net.swofty.type.skyblockgeneric.event.custom.SkyBlockXPModificationEvent;
78
import net.swofty.type.skyblockgeneric.levels.SkyBlockLevelCause;
89
import net.swofty.type.skyblockgeneric.levels.SkyBlockLevelRequirement;
@@ -26,6 +27,7 @@ public void run(SkyBlockXPModificationEvent event) {
2627
if (event.getCause().shouldDisplayMessage(player))
2728
player.sendMessage("§b+§3" + (event.getNewXP() - event.getOldXP()) + " §bSkyBlock XP");
2829
} else {
30+
ActionAddSkyBlockXPToNametag.updatePlayerNametag(player);
2931
if (!(event.getCause() instanceof LevelCause)) {
3032
player.getSkyBlockExperience().addExperience(
3133
SkyBlockLevelCause.getLevelCause(newLevel.asInt())

type.skyblockgeneric/src/main/java/net/swofty/type/skyblockgeneric/event/actions/player/ActionAddSkyBlockXPToNametag.java

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.minestom.server.event.player.PlayerSpawnEvent;
66
import net.minestom.server.scoreboard.Team;
77
import net.minestom.server.scoreboard.TeamBuilder;
8+
import net.swofty.commons.StringUtility;
89
import net.swofty.type.generic.event.EventNodes;
910
import net.swofty.type.generic.event.HypixelEvent;
1011
import net.swofty.type.generic.event.HypixelEventClass;
@@ -21,18 +22,25 @@ public void run(PlayerSpawnEvent event) {
2122
if (!event.isFirstSpawn()) return;
2223

2324
MathUtility.delay(() -> {
24-
DatapointSkyBlockExperience.PlayerSkyBlockExperience experience = player.getSkyBlockExperience();
25-
Rank rank = player.getRank();
26-
27-
Team team = new TeamBuilder("ZZZZ" + player.getUsername(), MinecraftServer.getTeamManager())
28-
.prefix(Component.text(
29-
"§8[" + experience.getLevel().getColor() + experience.getLevel() + "§8] " +
30-
rank.getPrefix()
31-
))
32-
.teamColor(rank.getTextColor())
33-
.build();
34-
player.setTeam(team);
35-
player.getTeam().sendUpdatePacket();
25+
updatePlayerNametag(player);
3626
}, 15);
3727
}
28+
29+
public static void updatePlayerNametag(SkyBlockPlayer player) {
30+
if (!player.isOnline()) return;
31+
32+
DatapointSkyBlockExperience.PlayerSkyBlockExperience experience = player.getSkyBlockExperience();
33+
Rank rank = player.getRank();
34+
35+
String teamName = StringUtility.limitStringLength(rank.getPriorityCharacter() + player.getUsername(), 15);
36+
Team team = new TeamBuilder("Z" + teamName, MinecraftServer.getTeamManager())
37+
.prefix(Component.text(
38+
"§8[" + experience.getLevel().getColor() + experience.getLevel() + "§8] " +
39+
rank.getPrefix()
40+
))
41+
.teamColor(rank.getTextColor())
42+
.build();
43+
player.setTeam(team);
44+
player.getTeam().sendUpdatePacket();
45+
}
3846
}

0 commit comments

Comments
 (0)