Score Component not being rendered on signs
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 12.7k
- Forks
- 3.5k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 11
Description
Expected behavior
When creating a Adventure score component and putting it onto a sign, it should display the score immediately upon update.
Observed/Actual behavior
The sign will change the component without rendering a score number.
Only when then cloning the sign with nbt, using middle click, and placing it as a new block, the component is rendered properly.
Steps/models to reproduce
In this example, I created a command, using the CommandAPI, that interpretes MiniMessage, but it will behave the same way, when directly manipulating a sign on a hardcoded location and without interpreting MiniMessage or executing a command.
return new CommandAPICommand("setline")
.withArguments(
new IntegerArgument("line", 1, 4),
new TextArgument("text")
).executesPlayer((player, args) -> {
Sign sign = getSign(player); // this method just traces the sign in sight
sign.line((Integer) args[0] - 1, MiniMessage.miniMessage().deserialize((String) args[1]));
sign.update();
});
You can see the behaviour in this video: https://youtu.be/TK64-E8hQAQ
Plugin and Datapack List
Server Plugins (19):
Bukkit Plugins:
- Bansystem, Chunky, ChunkyBorder, Faradize, FaradizeApi, FaradizeDB, Inventories, LuckPerms, Magellan, Multiverse-Core
*ParticleLIB, Protect, ProtocolLib, ServerSigns, Vault, verbereitet, Votifier, WorldEdit, WorldGuard
There are 2 data packs enabled: [vanilla (built-in)], [file/bukkit (world)]
There are no more data packs available
Paper version
This server is running Paper version git-Paper-508 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 5ffdff8)
You are running the latest version
Previous version: git-Paper-489 (MC: 1.19.4)
Other
I already discussed this issue with the folks of Kyori and they noted that this is probably an issue with the implementing platform.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the sign.update() behavior with the provided Java command and a score component on a sign. Trace the sign update path in the Paper implementation and compare it with the NBT clone-and-place behavior described in the report. Done means the score renders immediately after the sign is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100