# Детали моделей стульев
- Этот вики применяется для Touhou Little Maid
1.12.2
и1.16.5
последней версии; - Требует понимания структуры набора ресурсов ванильного Minecraft;
- Требует понимания формата JSON;
- В настоящее время поддерживает только модели 1.10.0 или 1.12.0 Bedrock Edition.
- Для редактирования файлов мы рекомендуем
Visual Studio Code
, все связанные файлы должны быть сохранены с помощьюUTF-8 без BOM
.
# Структура наборов моделей
Чтобы лучше понять, как создать пакеты моделей, мы перечислили здесь формат структуры пакетов моделей
папка пакетов моделей
│
├─pack.mcmeta
├─pack.png
└─assets
└─my_model_pack
├─maid_chair.json
├─lang
│ ├─en_us.lang
│ └─zh_cn.lang
├─models
│ └─entity
│ ├─cushion.json
│ └─wheel_chair.json
└─textures
└─entity
├─cushion.png
└─wheel_chair.png
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Описание файлов наборов моделей
Структура полного файла ниже, только части, которые помечены как '(Обязательные)' должны быть заполнены, вы не должны заполнять всё.
Модель поддерживает JSON файлы с комментариями, пожалуйста, используйте их по своему усмотрению.
{
// Model pack name (Required)
"pack_name": "Custom Chair Model Packs",
// Author list
"author": [
"TartaricAcid",
"SuccinicAcid"
],
// Description for model packs
"description": [
"Default Model Packs"
],
// Model pack version
"version": "1.0.3",
// Date creation for model pack
"date": "2019-08-20",
// Model pack icon, without this, the model pack will have no icon
"icon": "touhou_little_maid:textures/chair_icon.png",
// Model list (Required)
"model_list": [
{
// Model id, no duplication allowed (Required)
"model_id": "touhou_little_maid:cushion",
// The path for the model, use the full resource path
"model": "touhou_little_maid:models/entity/cushion.json",
// The path for the texture, use the full resource path
"texture": "touhou_little_maid:textures/entity/cushion.png",
// The model size when rendering the item form, default is 1.0
"render_item_scale": 0.9,
// The size when render the entity, range is between 0.2~2.0, default is 1.0
"render_entity_scale": 0.75,
// The entity height(pixels) above ground when sat on, default is 3
"mounted_height": 3,
// Will tamed entities such as maids can sit on it, default is true
"tameable_can_ride": false,
// Whether the chair has gravity, the default is false
"no_gravity": true,
// Model name
"name": "Cushion",
// The description for the model
"description": [
"Just A Normal Cushion"
],
// Animation script reference, without this part, chair will not have any animation
// tlm-utils plugins can auto generate the correct animation reference based on the group name
"animation": [
"touhou_little_maid:animation/chair/passenger/rotation.js"
]
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
На примере выше перечислены все возможные поля, однако для заполнения обязательны только поля с '(Required)', остальные могут быть опущены.
Для простоты можно написать такой файл:
{
// Model pack name (Required)
"pack_name": "Custom Chair Model Packs",
// Model list (Required)
"model_list": [
{
// Model id, no duplication allowed (Required)
"model_id": "touhou_little_maid:cushion"
}
]
}
2
3
4
5
6
7
8
9
10
11
If we do not fill the field for model
or texture
, it will choose the default model and texture based on model_id
.
For the example above, model_id
is touhou_little_maid:cushion
, then the model file will be cushion.json
under models/entity
folder, the texture will be cushion.png
under textures/entity
folder.
If we filled the field for model
or texture
, then the content has no limit, and can even share a model or texture for multiple characters.
mounted_height
is the height of the entity when it is riding the model, the unit is the pixels above ground, you can use decimals.
The
X
andZ
position of the riding entity will always be the center of the chair entity, please preset theX
andZ
of the chair models when designing the models.
# Анимированная иконка
Icon does not have size limit, supports both static and animated icons.
Any icon with a scale of 1:1 will be interpreted as static icon. Any long icon that is not 1:1 scale, will be displayed slowly with a 0.1 second interval, which creates the animated effect.
The image below is the icon in the mod, left is static icon, and right is the animated icon.
# Файл моделей
- This mod is using JSON files in Bedrock
1.10.0
or1.12.0
for model loading, the document can be exported via model building software Blockbench (opens new window), without additional edits. - There are many preset animations, you only need to name a specific group, and then the plugin will automatically generate the corresponding animation script reference when exporting the model. For all available names, please see the Preset Animation chapter.
- Model also support JavaScript custom animations, you can find the introduction in the custom animation chapter.
# Интернационализация
As a game that are facing internationlization, part of the contents of model packs also have internationalization compability.
pack_name
anddescription
field in model packs support internationalization;name
anddescription
field in model list support internationalization.
The method of adding internationalization is pretty simple, just need to begin it using {
and end it using }
, the middle section is the internationlization key, and then followed by the corresponding language file.
For example we wrote the description as follow (taking just a small section)
"pack_name": "{pack.vanilla_chair_model.name}",
"description": ["{pack.vanilla_chair_model.desc}"]
2
and then under model pack namespace, in the lang
folder we create en_us.lang
file, and write the content below:
pack.vanilla_chair_model.name=Custom Chair Model Packs
pack.vanilla_chair_model.desc=Default Model Packs
2
We only added the English file, but if we want to support Chinese, we can create zh_cn.lang
file and write the content as below:
pack.vanilla_chair_model.name=自定义坐垫模型包
pack.vanilla_chair_model.desc=默认的模型包
2
For the first example, if we did not fill the name
file, then the system will automatically create the local key based on model_id
, for example model_id
is touhou_little_maid:cushion
, then the generated language key is model.touhou_little_maid.cushion.name
.
description
file is not generated by default, you will need to fill that in.