Sponge icon indicating copy to clipboard operation
Sponge copied to clipboard

Creating objective and setting display slot causes client error

Open SamB440 opened this issue 11 months ago • 0 comments

Affected Product(s)

SpongeVanilla

Version

1.20.4-11.0.0-SNAPSHOT

Operating System

Linux

Java Version

21.0.2

Plugins/Mods

WorldEdit
LuckPerms
Spark
SpongeTestPlugin (plugin used to test problem)
NuVotifier

Describe the bug

Creating an objective and setting the display slot causes the client to throw the following error:

[14:12:45] [Render thread/ERROR]: Error executing task on Client
net.minecraft.class_148: Main thread packet handler
	at net.minecraft.class_2600.method_11072(class_2600.java:33) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?]
	at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_5383(class_1255.java:115) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1283) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:265) ~[1.20.4-0.15.3.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
Caused by: java.lang.IllegalArgumentException: An objective with the name 'sponge-test' already exists!
	at net.minecraft.class_269.method_1168(class_269.java:50) ~[client-intermediary.jar:?]
	at net.minecraft.class_634.method_11144(class_634.java:1924) ~[client-intermediary.jar:?]
	at net.minecraft.class_2751.method_11838(class_2751.java:63) ~[client-intermediary.jar:?]
	at net.minecraft.class_2751.method_11054(class_2751.java:14) ~[client-intermediary.jar:?]
	at net.minecraft.class_2600.method_11072(class_2600.java:24) ~[client-intermediary.jar:?]
	... 10 more

To reproduce, use the following (only works for 1st join):

@Listener
public void onJoin(ServerSideConnectionEvent.Join event) {
    final Scoreboard scoreboard = Sponge.server().serverScoreboard().orElseThrow();
    Objective objective = Objective.builder().name("sponge-test").criterion(Criteria.DUMMY).displayName(Component.text("Tickets Left", NamedTextColor.YELLOW, TextDecoration.BOLD)).build();
    scoreboard.addObjective(objective);
    scoreboard.updateDisplaySlot(objective, DisplaySlots.SIDEBAR);
}

Link to logs

No response

SamB440 avatar Mar 23 '24 14:03 SamB440