CoreProtect

CoreProtect

1M Downloads

Skulls Rollback as Steve

delbertina opened this issue · 5 comments

commented

image

Steps to Reproduce

  • Get a custom player head (such as from this website)
  • Place the head
  • Break the head
  • Rollback the block break action
  • The skull appears as a default skin skull

This is the same as #2 , but I assume it was closed due to age.
This is also an issue with rollback previews, but idk if that should be it's own ticket since that seems related to this.

commented

#2 is regarding SkullOwner, which is already logged. I.e. just setting a skull to a specific player head is correctly rolled back.

Unfortunately, Spigot and Paper don’t presently have functioning APIs for getting texture data from a block.

There’s an existing feature request from 2016, which can be tracked here: https://hub.spigotmc.org/jira/browse/SPIGOT-1562

commented

Why not serialize the whole block?

commented

Even though there is not an available Spigot API for it, I feel like this feature might have enough demand to consider supporting.

The GameProfile API in CraftBukkit is pretty stable, and doesn't need reflection to access (I'm willing to help implement it if you want)

commented

Still no updates? Looks like there are tools to solve it. If any help is needed -- all yours.

commented

Actually @Intelli I checked, and Spigot does provide a functioning API for doing this - I think it must have been added sometime in the last 1-3 years.

Skull s;
PlayerProfile p = s.getOwnerProfile();
PlayerTextures t = p.getTextures();
t.setSkin(url);

or something along those lines.
No NMS/reflection/extra libraries required, just the bukkit/spigot API