Page history
8 December 2023
17 October 2022
Created page with "= Скачать мод = * для 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]"
Created page with "Теперь все готово для запуска первого теста:"
+77
Created page with "Регистрация класса блочной сущности довольно проста (скорее похожа на регистрацию блочного класса). Вам нужен класс мода и переопределить <code>Start(ICoreAPI)</code>:"
−38
Created page with "----"
−116
Created page with "<syntaxhighlight lang="c#"> public override void Initialize(ICoreAPI api) { base.Initialize(api); } </syntaxhighlight>"
−101
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..."
−36
Created page with "Кроме того, нам нужно сохранить текущее время:"
−185
Created page with "Теперь нам нужно зарегистрировать наш класс blockentity и поэтому нам нужно создать новый файл *.cs в нашем проекте. Назовем его <code>Ticking.cs</code>."
−112
Created page with "Сам таймер должен увеличиваться на dt, разницу во времени в секундах между текущим тиком и предыдущим тиком. Он тикает примерно каждые 50 мс или реже, если игра медленная. Поэтому, если таймер больше 3, он должен заменить блок:"
−56
Created page with "Этот класс должен иметь таймер, когда таймер достигает 3 секунд, он должен заменить текущий блок другим состоянием."
+106
Created page with "Чтобы создать таймер, нам нужно зарегистрировать прослушиватель тиков. Поэтому нам нужно переопределить <code>Initialize(ICoreAPI)</code>:"
−41
Created page with "<syntaxhighlight lang="c#"> public void OnGameTick(float dt) { } </syntaxhighlight>"
−93
Created page with "добавить счетчик (который должен увеличиваться за тик)..."
−115
Created page with "<syntaxhighlight lang="c#"> public class TickingBlockEntity : BlockEntity { } </syntaxhighlight>"
−7
Created page with "== Сущность блока =="
−44
no edit summary
Created page with "Вы можете загрузить активы [https://wiki.vintagestory.at/images/d/d4/Ticking_-_No_CS_File.zip здесь] и поместить их в папку с модами."
−7
Created page with "Давайте создадим блок, который меняет свою текстуру каждые 3 секунды. Он должен иметь два варианта: <code>"on"</code> и <code>"off"</code>. Кроме того, нам нужно определить класс blockentity следующим образом: <syntaxhighlight lang="json"> entityClass: "tickingcounter", </syntaxhighlight>"
+87
Created page with "== Переключатель текстур =="
−34
Created page with "Блочная сущность — это конструкция, которую вы можете прикрепить к существующему блоку, чтобы придать ему дополнительную функциональность. Всякий раз, когда блок должен что-то делать через регулярные промежутки времени или хранить дополнительную информаци..."
+385