完整版BedrockWiki镜像!

This commit is contained in:
boybook
2025-03-20 11:52:46 +08:00
parent 1994c41f01
commit bf9aa4b056
214 changed files with 9042 additions and 8867 deletions

View File

@@ -1,23 +1,26 @@
---
title: Skin Packs
title: 皮肤包
mentions:
- MedicalJewel105
- SirLich
- Joelant05
- TheItsNameless
category:
- General
category: 基础
---
Many people wrongly assume that skin packs are only available for creation to Marketplace Partners. No! It's a very easy process, which can easily be fully automated by python. But that's not it. Let's learn how to make a skin pack!
# 皮肤包
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
许多人错误地认为只有市场合作伙伴才能创建皮肤包。其实不然这是一个非常简单的流程甚至可以用Python轻松实现全自动化。不过这不是重点让我们来学习如何制作皮肤包吧
:::warning
The `development_skin_packs` doesn't seem to function correctly. You need to use `skin_packs` folder and reload Minecraft every time you made a change.
`development_skin_packs` 似乎无法正常工作。你需要使用 `skin_packs` 文件夹,且每次修改后都要重启 Minecraft。
:::
## What is needed
## 所需文件
Here is what is needed:
以下是制作皮肤包需要的文件结构:
<FolderView
:paths="[
@@ -30,13 +33,12 @@ Here is what is needed:
## manifest.json
<CodeHeader>skin_packs/tutorial_skin_pack/manifest.json</CodeHeader>
```json
::: code-group
```json [skin_packs/tutorial_skin_pack/manifest.json]
{
"format_version": 2,
"header": {
"name": "Tutorial Skin Pack",
"name": "教程皮肤包",
"uuid": "bb9616eb-327c-4a81-9f00-064cae820cd5",
"version": [
1,
@@ -57,19 +59,19 @@ Here is what is needed:
]
}
```
:::
- `format_version` can be 1 too, as v2 doesn't change much for skin packs.
- `name` is self explanatory. However, it isn't of great importance.
- `uuid` and `version` are already familiar to us. Both UUIDs in the manifest need to be different. You can generate them via a generator linked in [useful links](/meta/useful-links). As a reminder, you CANNOT use the same UUID TWICE.
- `type` in `modules` needs to be set to `skin_pack`, of course.
- `format_version` 也可以设为 1因为对于皮肤包来说版本 2 没有太大变化
- `name` 字段不言自明,但实际影响不大
- `uuid` 和 `version` 是我们熟悉的配置。清单中的两个 UUID 必须不同,可通过[实用链接](/wiki/meta/useful-links)中的生成器获取。**重要提示**:绝对不要重复使用相同 UUID
- `modules` 中的 `type` 必须设为 `skin_pack`
## skins.json
This file is used to define textures and shortnames for skins. Most of the options are, however, hard-coded or unchangeable.
这个文件用于定义皮肤纹理和简称。不过大部分配置都是硬编码或不可修改的。
<CodeHeader>skin_packs/tutorial_skin_pack/skins.json</CodeHeader>
```json
::: code-group
```json [skin_packs/tutorial_skin_pack/skins.json]
{
"geometry": "geometry.json",
"serialize_name": "Tutorial Skin Pack",
@@ -90,48 +92,47 @@ This file is used to define textures and shortnames for skins. Most of the optio
]
}
```
:::
- The `geometry` object must be the same as on the example code in every object. Mojang removed the ability to add custom geometries via skin packs, because the feature was abused.
- `serialize_name` is for marketplace.
- `localization_name` is a pack identifier. **Don't use in other skin packs** as it affects translations.
- `skins` array, where you define your each skin. The skins will be displayed in the same order in minecraft as they are defined here.
> - `localization_name` is going to be used in the .lang file. Think of it as the skins identifier.
> - `geometry` you can use `geometry.humanoid.custom` and `geometry.humanoid.customSlim` here.
> - `texture` is the name of the image file, located in the main skin pack folder.
> - `type` is only accessible to marketplace partners, leave it as `free`, otherwise it will be locked.
- `geometry` 字段必须与示例代码保持一致。由于该功能曾被滥用Mojang移除了通过皮肤包添加自定义模型的功能
- `serialize_name` 用于市场平台
- `localization_name` 是包的标识符,**不要在其他皮肤包中使用相同名称**,会影响多语言系统
- `skins` 数组定义每个皮肤,游戏内显示顺序与此处的定义顺序一致
> - `localization_name` 将用于.lang文件相当于皮肤标识符
> - `geometry` 可选 `geometry.humanoid.custom` `geometry.humanoid.customSlim`
> - `texture` 是皮肤包主目录中的图片文件名
> - `type` 仅市场合作伙伴可用,保持设为 `free`
## texts/en_US.lang
Finally, we'll define the names of the skin pack and every skin in the `.lang` file. Of course "en_US" can be replaced with any language.
最后在 `.lang` 文件中定义皮肤包和每个皮肤的显示名称。"en_US" 可替换为其他语言代码。
<CodeHeader>skin_packs/tutorial_skin_pack/texts/en_US.lang</CodeHeader>
::: code-group
``` [skin_packs/tutorial_skin_pack/texts/en_US.lang]
skinpack.tutorial=教程皮肤包
skin.tutorial.tutorial_skin_1=皮肤1号
skin.tutorial.tutorial_skin_2=皮肤2号
```
skinpack.tutorial=Tutorial Skin Pack
:::
skin.tutorial.tutorial_skin_1=Skin 1
skin.tutorial.tutorial_skin_2=Skin 2
```
第一行定义整个皮肤包的名称,格式为:
`skinpack.[包localization_name]=实际显示名称`
The first line defines the pack's name itself. It's done in this format:
其他行定义单个皮肤名称:
`skin.[包localization_name].[皮肤localization_name]=实际显示名称`
`skinpack.[pack localization_name]=Actual Pack Name`
大功告成!现在进入角色创建界面就能看到你的自定义皮肤啦!
The other lines define the skins' names:
## 故障排查
`skin.[pack localization_name].[skin localization_name]=Actual Skin Name`
Done! Now, when you open Character Creator, you'll see your skins available to be chosen!
## Troubleshooting
If you play on MC version lower than 1.18.30, you might experience a bug when "Equip" button is not showing. You need to download a special texture pack.
在低于1.18.30的MC版本中可能会出现"装备"按钮不显示的问题,需要下载特殊材质包修复。
![](/assets/images/visuals/skin-packs/troubleshooting-1.png)
<BButton
link="/assets/packs/visuals/skin-packs/equip_button_fix.mcpack" download
color=default
>Download Equip Button Fix</BButton>
>下载装备按钮修复补丁</BButton>
![](/assets/images/visuals/skin-packs/troubleshooting-2.png)
![](/assets/images/visuals/skin-packs/troubleshooting-2.png)