Bedrock Skin Restorer [GeyserMC/Floodgate]

Bedrock Skin Restorer [GeyserMC/Floodgate]

Show a Bedrock player's skin on your server.

25 603 downloads
29 followers

Instead of making the description a long paragraph like every description ever, why don't I make it a little stylized?

Prequisites

What's things I should keep in mind?
  • The plugin is mainly built for Paper. (Paper/Bukkit/Spigot/Purpur/Folia), this is not a Geyser Extention.

  • 4D geometry or custom player model support can't and won't be added. It is not possible without server-side (on Forge, NeoForge, Fabric, Quilt servers) or client-side (Forge, NeoForge, Fabric, Quilt) mods anyway.

Are there any incompatibilities?
  • DiscordSRV: Not that it prevents the plugin from functioning, but the updated skin will likely not show up in things like Discord-to-server bridge channels. This is likely a non-issue to clients.

  • SkinsRestorer: Performs a risky and likely incompatible method of teleporting a player character to the void to refresh or load a skin. consider increasing the skin applying delay if this happens.

The Good Stuff

What is this plugin, and how is it doing what it claims to do?

The plugin simply show a Bedrock player's skin on your server, as Floodgate is currently horrible in doing its job.

It grabs your raw skin file via GeyserMC's Global API (Within the Skins Sub-article) and overrides the player's default skin with the corrected version upon certain actions modifiable via a config.

Okay, but why should I use this specifically?

Lightweight plugin (Compatible with the Paper ecosystem, multiversion), plug-and-play; It has config, but all game-changer options are disabled by default.

Other choices arent the best for your goal to just simply fix the dang skins;

  • SkinsRestorer: Requires manually assigning skins, which involves getting your hands on their skin file. Immediately returns to default skin if the player rejoins.

  • BedrockSkinUtility: It can display 4D geometry and accessories, however; To even see it, you must install a client-side mod. Immediately eliminating usabilty. This also entirely relies on my plugin being installed anyway.

  • GeyserSkinManager: It might work on really old Minecraft versions. As of now, it is entirely broken.

  • GeyserExtras, Floodgate (+ auth option in Geyser config): Doesn't work at all. Despite claiming it does.

Config

What can I customize about it?

It has a few things you can do, but usually it is plug-and-play unless you have an exception like the afformentioned Incompatibilities section.

# ---------------------------------------------------------------------------------------------------------------------------

# Bedrock Skin Restorer

# ---------------------------------------------------------------------------------------------------------------------------

fetch-retries: 2
# ^ How many times the plugin tries to fetch the Floodgate player's skin after the first attempt.
#   Higher values increase the chance that the skin will be fetched successfully,
#   (For example, if an arbitrary error occurs), but may also impact performance via API requests.

fetch-on-join: true
# ^ Whether to attempt to fetch the Floodgate player's skin upon joining.

fetch-on-join-delay-ticks: 15
# ^ How long to wait after a Floodgate player joins before attempting to fetch/apply their skin.
#   20 ticks is roughly 1 second. Keeping this delayed gives Geyser/Floodgate time to finish
#   the Bedrock player's initial spawn and session setup. Use alongside compatibility-mode when needed.
 
 
fetch-on-character-refresh: false
# ^ Whether to fetch or re-fetch the Floodgate player's skin when respawning,
#   changing dimensions, or switching servers/hubs.

fetch-on-character-refresh-delay-ticks: 15
# ^ How long to wait after a Floodgate player "refreshes" before attempting to fetch/apply their skin.
#   20 ticks is roughly 1 second. Keeping this delayed gives Geyser/Floodgate time to finish
#   the Bedrock player's initial spawn and session setup. Use alongside compatibility-mode when needed.

compatibility-mode:
  skins-restorer: false
  bedrock-auto-auth: false
# ^ Only enable if you experience issues, these are experimental patches.
#   Do not add an entry, it does nothing.
#   SkinsRestorer - Skips automatic join/respawn skin fetches when SkinsRestorer is already busy.
#   Bedrock Auto-Auth - Checks that Bukkit still considers the player entity valid.

# ---------------------------------------------------------------------------------------------------------------------------

manual-fetch: false
# ^ Whether to allow the Floodgate players to fetch manually.
#   If *false*, ONLY OPs* can run the command below.


manual-fetch-command: "/bedrockskin"
# ^ The command players can call to attempt to fetch their skin, customizable.


manual-fetch-command-java: "[Bedrock Skin Restorer] You are not a Floodgate user!"
# ^ Error message if a Java player tries to run the command


manual-fetch-command-noperm: "[Bedrock Skin Restorer] You don't have permission to execute this command!" 
# ^ Error message if they don't have permission for manual fetching


manual-fetch-command-error: "[Bedrock Skin Restorer] Failed to fetch skin from GeyserMC's API, try again later."
# ^ General error message if it fails to fetch.

# ---------------------------------------------------------------------------------------------------------------------------