Confirmedusers
543
edits
Ninjanomnom (talk | contribs) m (Double checked information and added version) |
m (Updated navbox to new code navbox.) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{GameVersion|1. | {{GameVersion|1.19.3}} | ||
<languages/><translate> | |||
A TreeAttribute is a nested data structure whose primary purpose is to | <!--T:1--> | ||
A TreeAttribute is a nested data structure whose primary purpose is to represent the tree attribute [[Modding:Serialization_Formats|serialization format]] in memory. It can hold generic data for most primitives, such as int, string, float, as well as more complex types like ItemStacks and other TreeAttributes (hence a nested structure). | |||
<!--T:2--> | |||
Additionally you can store data as <code>byte[]</code> if it is not supported by the TreeAttribute itself (for this you could use <code>Vintagestory.API.Util.SerializerUtil</code>). | Additionally you can store data as <code>byte[]</code> if it is not supported by the TreeAttribute itself (for this you could use <code>Vintagestory.API.Util.SerializerUtil</code>). | ||
Attributes are written and read via keys. | Attributes are written and read via keys. | ||
To use TreeAttribute, add the using statement for '''Vintagestory.API.Datastructures'''. | To use TreeAttribute, add the using statement for '''Vintagestory.API.Datastructures'''. | ||
== Use in API == | == Use in API == <!--T:3--> | ||
Within the API, TreeAttribute is often employed to store persistent entity data (items a basket contains, content of a barrel/bucket) and to access data extracted from JSON files. '''TreeAttribute''' is often supplied as the interface '''ITreeAttribute'''. | Within the API, TreeAttribute is often employed to store persistent entity data (items a basket contains, content of a barrel/bucket) and to access data extracted from JSON files. '''TreeAttribute''' is often supplied as the interface '''ITreeAttribute'''. | ||
== Example in code == | == Example in code == <!--T:4--> | ||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
using Vintagestory.API.Datastructures; | using Vintagestory.API.Datastructures; | ||
class | <!--T:5--> | ||
public class TreeAttributeMod : ModSystem | |||
{ | { | ||
// Setting and getting values | public override void StartServerSide(ICoreServerAPI api) | ||
{ | |||
// 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); | |||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
For documentation, see [http://apidocs.vintagestory.at/api/Vintagestory.API.Datastructures.TreeAttribute.html TreeAttribute] and [http://apidocs.vintagestory.at/api/Vintagestory.API.Datastructures.ITreeAttribute.html ITreeAttribute]. | For documentation, see [http://apidocs.vintagestory.at/api/Vintagestory.API.Datastructures.TreeAttribute.html TreeAttribute] and [http://apidocs.vintagestory.at/api/Vintagestory.API.Datastructures.ITreeAttribute.html ITreeAttribute]. | ||
</translate> | |||
{{Navbox/ | {{Navbox/codemodding}} |