Skip to content

PLAYER_HEAD with base64 texture not working as protection block in Minecraft 1.21.10 #450

@piodois

Description

@piodois

Custom player heads with base64 textures are not functioning correctly as protection blocks in
Minecraft 1.21.10 (Paper). The plugin loads and recognizes the block type in the configuration, but
when placing the player head in the world, it does not create a protection region.

Environment:

  • Minecraft Version: 1.21.10
  • Server Type: Paper (Build 113)
  • ProtectionStones Version: 2.10.5
  • Dependencies: WorldGuard, Vault, LuckPerms

Configuration:

type = "PLAYER_HEAD:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3Rle
HR1cmUvM2NjNzg3ZDJlMWJkOWI4ZjI3NWYyMGY4ZjY5ZWMxZDFmMDhjZmZiNjcwZmUzYWQ4ZDk0YjlkMDEwZGViMGMyYSJ9fX0="
alias = "chunk"
description = "Protects a complete chunk (16x16)"
restrict_obtaining = false

[region]
chunk_radius = 1
# ... other region settings

[player]
permission = ""
# ... other player settings

Steps to Reproduce:

  1. Install ProtectionStones 2.10.5 on Paper 1.21.10
  2. Create a block configuration with type = "PLAYER_HEAD:base64value"
  3. Set restrict_obtaining = false
  4. Reload the plugin with /ps reload
  5. Obtain the block with /ps give chunk
  6. Place the player head block in the world

Expected Behavior:

The player head should create a protection region when placed, similar to how standard blocks like
BEACON work.

Actual Behavior:

  • The plugin successfully loads and recognizes the player head type in console logs
  • The player receives the player head item with correct texture
  • When placed in the world, the block appears as a normal player head
  • No protection region is created
  • No error messages appear in the console
  • Breaking the block returns a regular player head, not a protection stone

Server Logs:

[Server thread/INFO]: [ProtectionStones] Protection Stone Blocks:
[Server thread/INFO]: [ProtectionStones] -
PLAYER_HEAD:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM
2NjNzg3ZDJlMWJkOWI4ZjI3NWYyMGY4ZjY5ZWMxZDFmMDhjZmZiNjcwZmUzYWQ4ZDk0YjlkMDEwZGViMGMyYSJ9fX0= (chunk)

No error messages appear when placing or breaking the block.

Additional Context:

  • The same configuration file works correctly when type = "BEACON" is used instead of PLAYER_HEAD
  • With BEACON, the protection region is created successfully and all features work as expected
  • This issue may be related to changes in Paper 1.21.x regarding custom player head handling
  • According to Paper API changes, the old reflection-based method for setting custom skulls was
    deprecated in 1.21

Workaround:

Currently using type = "BEACON" as a temporary workaround, which works perfectly.

Possible Cause:

This may be related to Paper 1.21 API changes for player profile handling. The new PlayerProfile API
requires different methods to set custom textures compared to previous versions.

Related Resources:

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions