Моддинг:Дерево атрибутов

From Vintage Story Wiki
This page is a translated version of the page Modding:Tree Attribute and the translation is 100% complete.

This page was last verified for Vintage Story version 1.15.

Other languages:

TreeAttribute — это вложенная структура данных, основной целью которой является хранение данных. Он может содержать общие данные для большинства примитивов, таких как int, string, float, а также для более сложных типов, таких как ItemStacks и другие TreeAttributes (отсюда и вложенная структура).

Кроме того, вы можете хранить данные как byte[], если они не поддерживаются самим TreeAttribute (для этого вы можете использовать Vintagestory.API.Util.SerializerUtil). Атрибуты записываются и читаются с помощью ключей.

Чтобы использовать TreeAttribute, добавьте оператор using для Vintagestory.API.Datastructures.

Использовать в API

В рамках API TreeAttribute часто используется для хранения постоянных данных объектов (предметов, содержащихся в корзине, содержимого бочки/ведра) и для доступа к данным, извлеченным из файлов JSON. TreeAttribute часто предоставляется как интерфейс ITreeAttribute.

Пример в коде

using Vintagestory.API.Datastructures;

class Example
{
    Example()
    {
        // Setting and getting values
        TreeAttribute tree;
        tree = new TreeAttribute();

        float someValue = 0.35f;
        string someKey = "valueKey";

        // Set the value
        tree.SetFloat(someKey, someValue);
        // Retrieve the value
        tree.GetFloat(someKey);
    }
}

Документацию см. в TreeAttribute и html ITreeAttribute.


Modding
Green Items require C# coding
Basics

Getting Started | Mod Types | Simple Examples | Theme Pack

Asset System | Textures | Items | Recipes | Blocks | Entities | Model Creator | Animation Basics | VTML & Icons | Mod Packaging & Release | Modinfo | Debugging

Advanced

JSON Patching | Advanced JSON Items | The Remapper | Server-Client Considerations | Compatibility with other mods

Setting Up Your Development Environment (General - Windows - Linux)

Advanced Blocks | Advanced Items | Item-Block Interactions | Block Behavior | Block Entities | Particle Effects | World Access | Inventory Handling | Chat Commands | GUIs | Server-Client Networking | Monkey patching (Harmony)

Data Management

Savegame Data Storage | ModConfig File | Chunk Data Storage | Tree Attribute

Worldgen

WorldGen Concepts | Terrain | Ores | Trees | WorldGen API

Rendering

Shaders and Renderers

Property Overview

Item | Entity | Block | Block Behaviors | Block Classes | Block Entities | Block Entity Behaviors

Workflows & Infrastructure

Modding Efficiency Tips | Mod-engine compatibility | Mod Extensibility | Load Order

Additional Resources

List of server commands | List of client commands | Client startup parameters | Creative Starter Guide | ServerBlockTicking | Bot System | WorldEdit | Cinematic Camera

Example Mods | API Docs | GitHub Repository