Page history
25 March 2024
no edit summary
−4
no edit summary
+1
Updating to match new version of source page
−144
Created page with "Варианты мода из этого руководства:"
−10
Created page with "= Загрузка мода ="
−43
Created page with "=== Использование Modtools(старый способ) ==="
+92
Created page with "Если вы используете шаблон мода, следуйте инструкциям Настройка среды разработки, чтобы упаковать ваш мод для дальнейшего распространения."
+65
Created page with "=== Использование нового Шаблона Мода ==="
−19
Created page with "== Распространение =="
−38
Created page with "== Тестирование =="
−73
Created page with "Вы также можете скачать файл напрямую: [https://wiki.vintagestory.at/images/a/ad/Tunnler.cs Tunnler.cs]."
−26
Created page with "Если вы всё сделали правильно, то ваш файл должен быть похож на:"
+53
Created page with "Нам нужно знать, с какой стороны стоит игрок (на какую сторону он ориентируется) и находится ли он в творческом режиме или режиме выживания (нужно ли сбрасывать добытые предметы или нет). Прежде чем переопределять <code>OnBlockBrokenWith</code>, мы должны создать метод, кото..."
+302
Created page with "В нашем конкретном случае мы можем переопределить метод <code>bool OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, float dropQuantityMultiplier = 1)</code>."
−1
Created page with "Как обычно, мы можем обратиться к [https://apidocs.vintagestory.at/api/Vintagestory.API.Common.Item.html#methods item api docs], чтобы найти функцию, которую мы можем использовать. Хотя сам класс item не содержит соответствующей функции, мы также можем обратиться к [https://apidocs.vintagestory.at/api/Vintagestory.API.Common.Collectible..."
+123
Created page with "'''Так что же должен делать наш инструмент?''' Когда игрок добывает блок с помощью этого инструмента, все блоки вокруг него также должны быть добыты."
+86
Created page with "Это должно решить все синтаксические ошибки."
−10
Created page with "При наименовании скриптов предметов рекомендуется называть их в формате "{Name}Item". В случае с туннельной киркой мы назовем наш скрипт <code>TunnlerItem.cs</code>. Любой itemclass должен наследоваться от Item, предоставляющий ему необходимую нам функциональность:"
+133
Created page with "=== Класс Предмета ==="
−43
Created page with "Так как класса <code>TunnlerItem</code> ещё не существует, это место будет отображаться как синтаксическая ошибка."
+38
Created page with "Переопределив метод <code>Start(ICoreAPI)</code>, мы можем зарегистрировать наш класс. Функция <code>RegisterItemClass</code> имеет два параметра: Первый - идентификатор класса предмета, поскольку именно так мы будем ссылаться на этот класс в наших json-файлах itemtype. Убедитесь, что он иден..."
+241
Created page with "Для того чтобы зарегистрировать ваш класс предмета, нам нужно создать мод, который представляет собой класс, наследующийся от ModSystem:"
+86
Created page with "=== Система Мода ==="
−47
Created page with "Если вы уже читали руководство - {{ll|Modding:Advanced Blocks|Функциональные Блоки}}, это должно быть вам знакомо."
+37
Created page with "Создание нашего предмета требует создания пары новых файлов <code>*.cs</code> в нашем проекте."
+24
no edit summary
−13
Created page with "Мы создадим этот класс, чтобы придать нашему предмету желаемую функциональность."
−19
Created page with "В json вашего itemtype есть только одно новое свойство, <code>class</code>. Это свойство указывает нашему новому предмету, что он будет управляться определенным классом C#."
+84
Created page with "Как и в случае с {{ll|Modding:Basic Item|Простым Предметом}}, нам нужно создать ассеты для нашего предмета, включая тип предмета, текстуру и lang-файл. Эти ассеты довольно простые, и вы можете скачать их [https://wiki.vintagestory.at/images/c/cd/Tunnler_-_No_CS_File.zip здесь]. Распакуйте файл в папку mods, и..."
+155
Created page with "== Ассеты Предмета =="
−38
Created page with "В этом уроке мы создадим предмет с более продвинутой функциональностью: Кирка, которая позволяет вырыть туннель 3x3, добыв всего один блок."
+51
Created page with "= Создание Туннельной Кирки ="
−33
Created page with "Этот руководство по '''code mod''' требует наличия среды разработки. Если у вас её еще нет, прочтите руководство по {{ll|Modding:Setting up your Development Environment|настройке среды для разработки}}. Также рекомендуется сначала прочитать про {{ll|Modding:Basic Item|Простые Предметы}} и изучить их у..."
+243
Created page with "{{GameVersion|1.19.3}}"
−56
Updating to match new version of source page
−683
24 March 2024
Created page with "{{Navbox/modding|Vintage Story}}"
−56
Created page with "Вот моя версия: * for VS v1.9: [https://wiki.vintagestory.at/images/7/7b/Tunnler_vs1.9_v1.0.0.zip Tunnler_vs1.9_v1.0.0.zip] * for VS v1.8: [https://wiki.vintagestory.at/images/6/66/Tunnler.zip Tunnler.zip]"
−48
Created page with "=== Использование (старого) Modtools === Если вы используете программу modtools, откройте ее и введите <code>pack <your mod id></code>. Теперь вы можете взять zip-файл и поделиться им с другими людьми. Он будет работать так же, как и обычные моды, вы можете установить его, скопировав в пап..."
+147
Created page with "=== Использование нового шаблона мода === При использовании шаблона мода следуйте инструкциям Setting up your Development Environment, чтобы упаковать и распространить свой мод."
+66
Created page with "== Распределение =="
−42
Created page with "Вот как это выглядит в игре:"
−90
Created page with "== Тестирование =="
−39
Created page with "Вы также можете скачать файл напрямую: [https://wiki.vintagestory.at/images/a/ad/Tunnler.cs Tunnler.cs]."
−26
Created page with "</syntaxhighlight>"
−56
Created page with "} }"
−56
Created page with "public override bool OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, float dropQuantityMultiplier = 1) { if (base.OnBlockBrokenWith(world, byEntity, itemslot, blockSel)) { if (byEntity is EntityPlayer) { IPlayer player = world.PlayerByUid((byEntity as EntityPlayer).PlayerUID); switch (blockSel.Face.Axis)..."
−56
Created page with "public void DestroyBlocks(IWorldAccessor world, BlockPos min, BlockPos max, IPlayer player) { BlockPos tempPos = new BlockPos(); for (int x = min.X; x <= max.X; x++) { for (int y = min.Y; y <= max.Y; y++) { for (int z = min.Z; z <= max.Z; z++) { tempPos.Set(x, y, z); if (player.WorldData.CurrentGameMode == Enu..."
−56
Created page with "public class TunnlerItem : Item {"
−56
Created page with "Если вы все сделали правильно, ваш файл должен выглядеть примерно так: <syntaxhighlight lang="c#"> using Vintagestory.API.Common; using Vintagestory.API.Common.Entities; using Vintagestory.API.MathTools;"
−169
Created page with "----"
−56