Player Skull Generation Inconsistency in Paper 1.21.x with Player_skull_maker Datapack
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
Every time a signed written book and a wither skeleton skull are dropped together, a player skull should spawn with the texture matching the book's author name. This behavior should be consistent across multiple attempts, with no degradation or fallback to default textures (e.g., "Steve"). The correct workflow observed in Fabric 1.21.4—where the skull texture always matches the book's author—demonstrates the intended functionality.
Observed/Actual behavior
Versions:
PaperMC: 1.21.4#211 1.21.4#114 1.21.3#82 (reproducible in both)
Minecraft: 1.21.4
Datapack: Player_skull_maker (unknown version, attached in report)
Working reference: Fabric 1.21.4 (no issue observed)
Description:
When using the Player_skull_maker datapack, dropping a signed written book and a wither skeleton skull generates a player skull. The first execution works correctly (skull matches the book's author), but subsequent attempts produce a default "Steve" skull instead. This suggests a caching/state persistence issue in Paper's datapack handling after the initial successful trigger.
Reproduction Steps:
Install the Player_skull_maker datapack on a fresh Paper 1.21.x server.
Create a written book with a custom author name (e.g., "TestPlayer").
Obtain a wither skeleton skull.
Drop both items in the same block space.
First drop: Skull spawns with "TestPlayer" texture (correct).
Subsequent drops: Skull spawns with default Steve texture (incorrect).
Expected Result:
Consistent player skull generation matching the book's author name every time.
Actual Result:
Only the first skull generation succeeds; subsequent attempts default. Observed behavior difference compared to Fabric 1.21.4 (works consistently).
(use AI,My English is not good)
Steps/models to reproduce
https://github.com/user-attachments/assets/5940aeee-bc6f-4aad-b0c2-2179488a1a96
Plugin and Datapack List
not have plugins
datapack:Player_skull_maker
Paper version
D:\Games\MC\MC_Paper\1.21.4>java -jar paper-1.21.4-114.jar
Starting org.bukkit.craftbukkit.Main
*** Warning, you've not updated in a while! ***
*** Please download a new build as per instructions from https://papermc.io/downloads/paper ***
[14:58:28 INFO]: [bootstrap] Running Java 23 (Java HotSpot(TM) 64-Bit Server VM 23.0.2+7-58; Oracle Corporation null) on Windows 11 10.0 (amd64)
[14:58:28 INFO]: [bootstrap] Loading Paper 1.21.4-114-main@cd9d6d6 (2025-01-15T11:21:28Z) for Minecraft 1.21.4
[14:58:29 INFO]: [PluginInitializerManager] Initializing plugins...
[14:58:29 INFO]: [PluginInitializerManager] Initialized 0 plugins
[14:58:34 INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[14:58:37 INFO]: Loaded 1370 recipes
[14:58:37 INFO]: Loaded 1481 advancements
[14:58:37 INFO]: [MCTypeRegistry] Initialising converters for DataConverter...
[14:58:37 INFO]: [MCTypeRegistry] Finished initialising converters for DataConverter in 401.8ms
[14:58:38 INFO]: Starting minecraft server version 1.21.4
[14:58:38 INFO]: Loading properties
[14:58:38 INFO]: This server is running Paper version 1.21.4-114-main@cd9d6d6 (2025-01-15T11:21:28Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
[14:58:38 INFO]: [spark] This server bundles the spark profiler. For more information please visit https://docs.papermc.io/paper/profiling
[14:58:39 INFO]: Server Ping Player Sample Count: 12
[14:58:39 INFO]: Using 4 threads for Netty based IO
[14:58:39 INFO]: [MoonriseCommon] Paper is using 8 worker threads, 1 I/O threads
[14:58:39 INFO]: [ChunkTaskScheduler] Chunk system is using population gen parallelism: true
[14:58:40 INFO]: Default game type: SURVIVAL
[14:58:40 INFO]: Generating keypair
[14:58:40 INFO]: Starting Minecraft server on *:25565
[14:58:40 INFO]: Using default channel type
[14:58:40 INFO]: Paper: Using Java compression from Velocity.
[14:58:40 INFO]: Paper: Using Java cipher from Velocity.
[14:58:40 INFO]: Server permissions file permissions.yml is empty, ignoring it
[14:58:40 INFO]: Preparing level "world"
[14:58:41 INFO]: Preparing start region for dimension minecraft:overworld
[14:58:41 INFO]: Preparing spawn area: 0%
[14:58:41 INFO]: Preparing spawn area: 0%
[14:58:42 INFO]: Preparing spawn area: 2%
[14:58:42 INFO]: Time elapsed: 1069 ms
[14:58:42 INFO]: Preparing start region for dimension minecraft:the_nether
[14:58:42 INFO]: Preparing spawn area: 0%
[14:58:42 INFO]: Time elapsed: 76 ms
[14:58:42 INFO]: Preparing start region for dimension minecraft:the_end
[14:58:42 INFO]: Preparing spawn area: 0%
[14:58:42 INFO]: Time elapsed: 56 ms
[14:58:42 INFO]: [spark] Starting background profiler...
[14:58:42 INFO]: [spark] The async-profiler engine is not supported for your os/arch (windows11/amd64), so the built-in Java engine will be used instead.
[14:58:42 INFO]: Done preparing level "world" (2.264s)
[14:58:42 INFO]: Running delayed init tasks
[14:58:42 INFO]: Done (15.288s)! For help, type "help"
Other
No response
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 installing the linked Player_skull_maker datapack on Paper 1.21.4-114 and repeat the first and subsequent item drops described in the report. Compare the result with Fabric 1.21.4 and inspect Paper's datapack handling around repeated player-skull generation. Done means every attempt produces a skull textured with the signed book's author rather than the default Steve texture.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100