Module: skin
Overview
This module provides the skin
management for players.
Color Boxes
◉ How it works?
This module provides the skin
management:
- This module will
modify the skin
when the the playerlogin the server
.
1.a. If there is existing skin data
for this player
, then we use that data.
1.b. If there is no existing skin data
for this player
.
1.b.i. If the apply_default_skin_if_no_data
option is true
, then we use default skin
defined in the config file.
1.b.ii. If the apply_default_skin_if_no_data
option is false
, then we fetch the skin from Mojang online server
.
- A player can use
/skin
command tochange the skin
in-game.
◉ Use the Mojang skin
.
Issue: /skin use-my-mojang-skin
to use your own skin.
Issue: /skin use-mojang-skin Alice
to use another player's skin.
NOTE: This requires fetching the skin from the Mojang server, which may be time-consuming.
◉ Set a skin from custom URL
Issue: /skin use-url-skin alex https://s.namemc.com/i/2af8c11db5fe6061.png
◉ Use a specified skin name
from the default skin list
defined in the config file.
Issue: /skin use-default-skin reimu-hakurei
◉ Use a random
skin from the default skin list
defined in the config file.
Issue: /skin use-random-default-skins
Configurations
The following JSON content is provided for reference only. It must NOT be copied directly into the configuration directory, as it does not represent valid JSON syntax.
- File Name:
config.json
- File Content:
Click to see the default
content...
{
"default_skin": {
"apply_default_skin_if_no_data": false,
"preferred_skin_name": "reimu-hakurei",
"default_skin_list": [
{
"skin_name": "reimu-hakurei",
"skin_property": {
"name": "textures",
"value": "ewogICJ0aW1lc3RhbXAiIDogMTYyMDIyMDc4MTQyNCwKICAicHJvZmlsZUlkIiA6ICJiYjdjY2E3MTA0MzQ0NDEyOGQzMDg5ZTEzYmRmYWI1OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJsYXVyZW5jaW8zMDMiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjVmMTcyMGM3ODBhNzk1OGI0MWYxNTNlNTA2OWRiNjg2MWJkMjgxYmU0MzJlN2JjNzk0MTE0YTdmNGVjNTJmZCIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9",
"signature": "olnQih89nZxKFe0UzWiXU8+wlndGBClUqXxAabwEm6j15SZH9ue7Xd2OM2kRKBiHoqbT+2TSg4xG7cBeAeapVN4vpRP5NPujERl/JI41jYNhMb+DmskreS59fh0QfZPAxOpj/rmmAJVfNN1QblxRM3wlMGaEgS5TH9HfeehgLrBaaDM8/JAgnas4Yh6L0uRoNebjXHrhqgguVBMF3xsWpvpAPCzQCYX2vjCCF3WtOEy7EEUF4u5Lo4teQhr9yfnYGBc/ktE4I0MByqTaKrLqvF45n4jOShPP0RcmLh9JpOXyrScRuaUDhQ8bd8xhkWEb94HMzwznvDLNh1/nbNybCMb5GydYf51hJVfqjU5TMWID71F8FTTBJrCZDBRESFIP+QZ3czYP+urgzmfLgDmcoPIukMaHWLU6qFpTF0QazAgF4u5Fe4J6QEZSyZz0B2kqQG3vN1dXxLgHItjQbEeceChNYNjuZFOTleXzpYkg5/4Zqy6Oek3bMscTYY7IPBV56WiO8eGw5JYMfyDeM3iyh4ZxLEC3HDRtOTBHo7WxWPR/AUOU9HP9CdmKQbGThGAUuqlqRJzbg5XNRvKIcnngI329VZV5RmAnt+G5Vfy6uqBagpMQZ3720PXPG6H5q4SBuXmHt1ccKgJvQv9lTh20EymuIALTnCodr8qDbnRfdrI="
}
},
{
"skin_name": "remilia-scarlet",
"skin_property": {
"name": "textures",
"value": "ewogICJ0aW1lc3RhbXAiIDogMTYzODY4MjMwMjQ3MSwKICAicHJvZmlsZUlkIiA6ICI0ZjU2ZTg2ODk2OGU0ZWEwYmNjM2M2NzRlNzQ3ODdjOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJDVUNGTDE1IiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzE0YjRlODI2OTJiOWRjYmY2YzEyOTJkNjJiNzMxN2MxMjRjNGMzOTQ2Y2FiMjFlY2E4NDJiNDJlNzBmMGMwMjIiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ==",
"signature": "renIrkVFQUor3+5AeDYOcGtUnUpdk9/i5ANWFGCBTSVZjeKQ/t5xDEe9kqwsWawR/55N2+1Db2c7lIpHpJ4cGqtG7BzTm+TZNUgSOu0rG27DwxheiuGbYSMm/lQSiNi7FvRlhLXuxsYZ0nHhXKoeG4xW5PXaE/zjXeXR1hffnfR/ROanmK/m2nIbkfPo59wjc+ZTF3nxhX+tGay+7dy/Y6xqhyZ4ZnM1a9+z8hC8ERgXzUUczfhRaDPQcv9dEdpyQhlfJyEV6r6NBSpBVVNaZ2bGs+VyxrRVtr/nXigps1KtFXH3j+gBiNYJWu7LpDS+1DTezlP9qkbDUPSKuO1O913GDRdJxdcVn7HGYD3W6yGB0r6sDBvb7RYESMzafRIFbBjhJrJFi3/aQjxTuFSc66bUkDqNBGYQcXyUXP1wEuB22mwQABv2OZiFdXMMRDniSZvPsxoriDdAS+umHcrAgTApu13xLyJJa8tFBD9rpGxDDoUbnNJdzZSpjrgfu38Kgpa3pW45HY21eSOubQNdz7qBTBmQwVViuVoAqH9mM/HqeIrGzwdRJaOH3GsZRofr4zh9HVc+5o02W72d39BskA56ae8zjGza9sF1jhkgiaW1NH/zuu7LnfujjvvMcczrddv8P1r7yqsIwUrP0ObB+ylsCsrb6mAV5uqXuklS7e4="
}
},
{
"skin_name": "koishi-komeiji",
"skin_property": {
"name": "textures",
"value": "eyJ0aW1lc3RhbXAiOjE1ODc4MDcxMTkyNzEsInByb2ZpbGVJZCI6IjIzZjFhNTlmNDY5YjQzZGRiZGI1MzdiZmVjMTA0NzFmIiwicHJvZmlsZU5hbWUiOiIyODA3Iiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iMjI4MTk0OWZlZDc2M2Q3OWYwODZiNGU4MjE0ZGVjNTdiZDM4NzgzODhkOTJmYWQ4NmRjMzQxNzE2MWNkYjJkIiwibWV0YWRhdGEiOnsibW9kZWwiOiJzbGltIn19fX0=",
"signature": "N/b/lSK6Y3Wqm4lTj47YHbec9yVAj7XmDjfWhVAa033UNA30U8o+2pTY0aVDAzFut624iC3xjqMzBlXt7SczsT0w8EV+MnW51V6aPlanj5SQ6zVwB20TdhhAzBNvIQbvo4x4BL99ZpyBJMBRcCVEehjaD3rgshBxH6t2z7WzzYM1cij/5egedjhm8ek8DMdYYakN6DWIOWDv05VQSiWRMhitSI2sqJMTYKaJcLph7/56Ke5zRNtA2mwEcdB+GnDPkeEINzx3A0WG/vOS3iYL8L4T5Dv1GzBlq9s10R1K4Ks5TQLhVJ4Rp2S4COLvvWsgREHQVf6NEIOG2ww4wqTi/xmHni2d6TM9K+vtLSBE7umEvLeOzp8oqbQvtD1ipa0iatR8lEXU1bcGITtwZi+i+zLeOIfx2592XevcOGwTuvhBBM53rN5suLnpcGFIT5TuOQrFinT1+vXoE2D/UkDll8nvtGzJyqFgSSFDrvf0e6ZkbFlIQRoJGkfhnDLON2aEycOe9EcD+NiLDXQc9++j+3Kl5QFyze3xd21+ConIZRGDXKqvoEhfp1ovR7ND76IVOAoGMcDT4N+n+NWdXIilipux3gQ5UZkALw1ocFzhEZY9pCYw9e7XGQRh27N/RYns+sSI1qXbtBbl0FCl7X5efvsJLWId0JuEag5f5RAYYYo="
}
}
]
}
}
- File Name:
skin-data.json
- File Content:
Click to see the default
content...
{
"nodes": []
}
Commands
-
Command Syntax:
/skin
-
Document: Alias to
/skin gui
command. -
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin gui
-
Document: Open the
skin
GUI. -
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin use-default-skin <DefaultSkinName defaultSkinName>
-
Document: Use the
default skin
with specifiedskin name
. -
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin use-default-skin others <PlayerCollection others> <DefaultSkinName defaultSkinName>
-
Document: Use the
default skin
with specifiedskin name
. -
Can be executed by console:
false
-
Required Level Permission:
4
-
Required String Permission:
null
-
Command Syntax:
/skin use-mojang-skin others <PlayerCollection others> <Word skinName>
-
Document: Set skin to an online skin of the specified name.
-
Can be executed by console:
false
-
Required Level Permission:
4
-
Required String Permission:
null
-
Command Syntax:
/skin use-mojang-skin <Word skinName>
-
Document: Set skin to an online skin of the specified name.
-
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin use-my-mojang-skin
-
Document: Set skin to an online skin of the same name.
-
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin use-my-mojang-skin others <PlayerCollection others>
-
Document: Set skin to an online skin of the same name.
-
Can be executed by console:
false
-
Required Level Permission:
4
-
Required String Permission:
null
-
Command Syntax:
/skin use-random-default-skins
-
Document: Set skin to a random default skin.
-
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin use-random-default-skins others <PlayerCollection others>
-
Document: Set skin to a random default skin.
-
Can be executed by console:
false
-
Required Level Permission:
4
-
Required String Permission:
null
-
Command Syntax:
/skin use-url-skin alex others <PlayerCollection others> <GreedyString url>
-
Document: Set skin to a custom url in Alex model.
-
Can be executed by console:
false
-
Required Level Permission:
4
-
Required String Permission:
null
-
Command Syntax:
/skin use-url-skin alex <GreedyString url>
-
Document: Set skin to a custom url in Alex model.
-
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
-
Command Syntax:
/skin use-url-skin steve others <PlayerCollection others> <GreedyString url>
-
Document: Set skin to a custom url in Steve model.
-
Can be executed by console:
false
-
Required Level Permission:
4
-
Required String Permission:
null
-
Command Syntax:
/skin use-url-skin steve <GreedyString url>
-
Document: Set skin to a custom url in Steve model.
-
Can be executed by console:
false
-
Required Level Permission:
0
-
Required String Permission:
null
Argument Types
- Argument Type Name:
[default-skin-name]
- Argument Type Class:
[DefaultSkinName]