Confirmedusers
1,783
edits
Mirotworez (talk | contribs) (Created page with "<syntaxhighlight lang="c#"> public void OnGameTick(float dt) { timer += dt; if(timer >= 3) { Block block = Api.World.BlockAccessor.GetBlock(Pos); if (block.Code.Path.EndsWith("-on")) { block = Api.World.GetBlock(block.CodeWithParts("off")); } else { block = Api.World.GetBlock(block.Code...") |
No edit summary Tags: Mobile edit Mobile web edit |
||
(5 intermediate revisions by one other user not shown) | |||
Line 4: | Line 4: | ||
= Введение = | = Введение = | ||
Блочная сущность — это конструкция, которую вы можете прикрепить к существующему блоку, чтобы придать ему дополнительную функциональность. Всякий раз, когда блок должен что-то делать через регулярные промежутки времени или хранить дополнительную информацию, например содержимое блока сундука, вам нужна сущность блока. Настоятельно рекомендуется прочитать руководство по [[ | Блочная сущность — это конструкция, которую вы можете прикрепить к существующему блоку, чтобы придать ему дополнительную функциональность. Всякий раз, когда блок должен что-то делать через регулярные промежутки времени или хранить дополнительную информацию, например содержимое блока сундука, вам нужна сущность блока. Настоятельно рекомендуется прочитать руководство по [[Modding:Asset System/ru|базовым блокам]] и [[Modding:Advanced Blocks/ru|классам блоков]], чтобы правильно понять это руководство. | ||
== Переключатель текстур == | == Переключатель текстур == | ||
Line 110: | Line 110: | ||
== Регистрация объекта блока == | == Регистрация объекта блока == | ||
Регистрация класса блочной сущности довольно проста (скорее похожа на регистрацию блочного класса). Вам нужен класс мода и переопределить <code>Start(ICoreAPI)</code>: | |||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
public class Ticking : ModSystem | public class Ticking : ModSystem | ||
{ | { | ||
public override void Start(ICoreAPI api) | |||
public override void Start(ICoreAPI api) | |||
{ | { | ||
base.Start(api); | base.Start(api); | ||
api.RegisterBlockEntityClass("tickingcounter", typeof(TickingBlockEntity)); | api.RegisterBlockEntityClass("tickingcounter", typeof(TickingBlockEntity)); | ||
} | } | ||
} | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Тестирование == | |||
= | |||
Теперь все готово для запуска первого теста: | |||
<youtube>QQUibC4H9TI</youtube> | <youtube>QQUibC4H9TI</youtube> | ||
== Распространение == | |||
= | |||
Чтобы все закончить, откройте modtools и введите <code>pack <your mod id></code>. Теперь вы можете взять zip-файл и поделиться им с другими людьми. Он будет работать так же, как и обычные моды, вы можете установить его, скопировав в папку с модами. | |||
= Скачать мод = | |||
* для VS 1.12 (только исходник): [https://github.com/anegostudios/vsmodexamples/tree/ac7eeaed597b8a25dcfc2366b9c51cd92850d2b9/Mods/Ticking GitHub] | |||
* | * для VS 1.9: [https://wiki.vintagestory.at/images/8/80/Ticking_v1.0.0.zip Ticking_v1.0.0.zip] | ||
* | * для VS 1.6: [https://wiki.vintagestory.at/images/6/65/Ticking.zip Ticking.zip] | ||
* | |||
{{Navbox/modding|Vintage Story}} | {{Navbox/modding|Vintage Story}} |