681
edits
Akellagray (talk | contribs) (Created page with "== Регистрация ==") |
Akellagray (talk | contribs) (Created page with "Блок будет толкать два блока вместо одного, и игрок может тянуть его, крадясь, щелкая правой кно...") |
||
(19 intermediate revisions by the same user not shown) | |||
Line 62: | Line 62: | ||
== Регистрация == | == Регистрация == | ||
Чтобы зарегистрировать BlockBehavior, нам нужно создать класс мода, переопределить <code> Start (ICoreAPI) </code> и зарегистрировать его с заданным именем: | |||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
Line 77: | Line 77: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Распределение == | ||
Чтобы закончить все, откройте modtools и введите <code> pack <ваш mod id> </ code>. Теперь вы можете взять zip-файл и поделиться им с другими людьми. | |||
* | * Для VS 1.9: [https://wiki.vintagestory.at/images/2/2a/Moving_v1.0.0.zip Moving_v1.0.0.zip] | ||
* | * Для VS 1.6: [https://wiki.vintagestory.at/images/c/cb/Moving.zip Moving.zip] | ||
== | == Тестирование == | ||
<youtube>8eVG0uQF2xs</youtube> | <youtube>8eVG0uQF2xs</youtube> | ||
= | = Расширенное поведение = | ||
Наше поведение все еще довольно просто, но возможностей гораздо больше. Поведение может иметь специальные свойства, которые могут быть определены самим типом блока. | |||
== | == Пример == | ||
Поведение жидкости поддерживает некоторые специальные свойства, как показано в этом примере типа водяного блока: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
Line 110: | Line 110: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Разбор свойств == | ||
Чтобы позаботиться о специальных свойствах, существует метод <code> Initialize (JsonObject) </code>. Каждый тип блока создает новый экземпляр поведения, поэтому метод может использоваться для анализа свойств. | |||
Итак, какие свойства мы можем добавить? | |||
* | * толчок расстояние | ||
* | * собрать блок, если игрок крадется | ||
Прежде всего, нам нужно переопределить метод в нашем классе поведения блока ... | |||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
Line 127: | Line 127: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Кроме того, нам нужно добавить два поля, одно для расстояния и другое, если игрок должен вытащить блок когда крадется ... | |||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
Line 134: | Line 134: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Теперь мы можем проанализировать два свойства следующим образом: | |||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
Line 143: | Line 143: | ||
---- | ---- | ||
Следующее, что нам нужно изменить, - это сам метод взаимодействия, чтобы он позаботился о расстоянии и свойствах вытягивания ... | |||
== | == Добавление другого блока == | ||
Давайте создадим еще один блок, используя это поведение, но на этот раз мы настроим некоторые дополнительные свойства ... | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
Line 174: | Line 161: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Блок будет толкать два блока вместо одного, и игрок может тянуть его, крадясь, щелкая правой кнопкой мыши. | |||
= | = Загрузка мода = | ||
* | * Для VS 1.9: [https://wiki.vintagestory.at/images/7/7b/Advancedmoving_v1.0.0.zip AdvancedMoving_v1.0.0.zip] | ||
* | * Для VS 1.6: [https://wiki.vintagestory.at/images/7/72/AdvancedMoving.zip AdvancedMoving.zip] | ||
{{Navbox/modding|Vintage Story}} | {{Navbox/modding|Vintage Story}} |
edits