From 60d5629bac1425c8912f01f5cab639d77f450d9a Mon Sep 17 00:00:00 2001 From: MaXFeeD Date: Wed, 6 Nov 2024 21:09:41 +0300 Subject: [PATCH] Added typedoc links to documentation --- .../current/basics/evaluate-context.md | 2 +- .../current/blocks/first-block.md | 4 ++-- .../current/blocks/first-liquid.md | 4 ++-- .../current/blocks/renders/block-renderer.md | 2 +- .../current/blocks/renders/vanilla-shapes.md | 2 +- .../current/entities/actoring-entities.md | 4 ++-- .../current/environment/modifying-region.md | 8 ++++---- .../current/events/callbacks.md | 10 +++++----- .../current/items/first-item.md | 6 +++--- .../current/items/food-armor-and-throwables.md | 8 ++++---- .../current/items/recipes.md | 2 +- .../current/storage/saving-basics.md | 8 ++++---- .../current/storage/tile-entities.md | 4 ++-- .../current/ui/drawings.md | 2 +- .../current/ui/elements.md | 2 +- 15 files changed, 34 insertions(+), 34 deletions(-) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/basics/evaluate-context.md b/i18n/ru/docusaurus-plugin-content-docs/current/basics/evaluate-context.md index 0b8f907ce..3edf9d080 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/basics/evaluate-context.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/basics/evaluate-context.md @@ -36,7 +36,7 @@ Item.createDyeItem("blackDye", "Organic Black Dye", "black"); Item.createDyeItem("brownDye", "Organic Brown Dye", "brown"); ``` -Однако думайте о последствиях, это изменит контекст во всех модах. То есть, метод `Item.createDyeItem` может быть вызван из любого мода, если установлен Ender IO. Но в таком случае существует и опасность заменить существующие методы или добавленные с обновлениями. Если вам необходимо что-то эскпортировать, рассмотрите [ModAPI.registerAPI](/api/ModAPI/registerAPI), он создан именно для этих целей. +Однако думайте о последствиях, это изменит контекст во всех модах. То есть, метод `Item.createDyeItem` может быть вызван из любого мода, если установлен Ender IO. Но в таком случае существует и опасность заменить существующие методы или добавленные с обновлениями. Если вам необходимо что-то эскпортировать, рассмотрите [ModAPI.registerAPI](/api/modules/ModAPI.html#registerAPI), он создан именно для этих целей. ### Глобальные значения diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-block.md b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-block.md index 54331ac32..d2769c4f7 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-block.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-block.md @@ -301,7 +301,7 @@ IDRegistry.genBlockID("oxidized_log"); Block.createBlock("oxidized_log", [ /* ... */ ], BLOCK_TYPE_RADIACTIVE_LOG); ``` -Рассмотрите [SpecialType](/api/Block/SpecialType) для получения полной и актуальной информации по поводу доступности определенных свойств, статьи обновляются по мере необходимости. +Рассмотрите [SpecialType](/api/interfaces/Block.SpecialType.html) для получения полной и актуальной информации по поводу доступности определенных свойств, статьи обновляются по мере необходимости. ## Событий мало не бывает @@ -338,7 +338,7 @@ Callback.addCallback("ItemUse", (coords, item, block, isExternal, playerUid) => -В первую очередь, [BlockSource](/api/BlockSource) используется для получения данных об окружающем мире и его изменения. Мы еще неоднократно затронем этот класс. Убеждаясь, что мы дотронулись именно до блока новых бревен, будет получен источник блоков для игрока, вызвавшего событие; и в качестве примера блок будет повернут в следующую сторону, пока не пройдет через все вариации. +В первую очередь, [BlockSource](/api/classes/BlockSource-1.html) используется для получения данных об окружающем мире и его изменения. Мы еще неоднократно затронем этот класс. Убеждаясь, что мы дотронулись именно до блока новых бревен, будет получен источник блоков для игрока, вызвавшего событие; и в качестве примера блок будет повернут в следующую сторону, пока не пройдет через все вариации. Представим, что у вас появилась потребность создать подобие лаки-блока. Воспользуемся событием __DestroyBlock__ для обнаружения разрушения блока: diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-liquid.md b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-liquid.md index ff1f5f703..9a7c978b1 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-liquid.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/first-liquid.md @@ -31,7 +31,7 @@ Block.createLiquidBlock("ink", { }); ``` -Это создаст текучий и стоячий блоки жидкостей, а также добавит полнофункциональное ведро для использования игроком и разлитием с помощью раздатчиков. Для последнего задействованы функции [Item.setLiquidClip](/api/Item/setLiquidClip) и [Item.registerDispenseFunction](/api/Item/registerDispenseFunction). +Это создаст текучий и стоячий блоки жидкостей, а также добавит полнофункциональное ведро для использования игроком и разлитием с помощью раздатчиков. Для последнего задействованы функции [Item.setLiquidClip](/api/modules/Item.html#setLiquidClip) и [Item.registerDispenseFunction](/api/modules/Item.html#registerDispenseFunction).
Стандарты для создания локализации @@ -57,7 +57,7 @@ Translation.addTranslation("Bucket of Ink", { ## Прочие возможности -Любые взаимодействия с жидкостями должны быть обработаны разработчиком, конкретных событий или рекомендаций здесь нет. Рассмотрите [LiquidRegistry](/api/LiquidRegistry) для получения подробностей. +Любые взаимодействия с жидкостями должны быть обработаны разработчиком, конкретных событий или рекомендаций здесь нет. Рассмотрите [LiquidRegistry](/api/modules/LiquidRegistry.html) для получения подробностей. ### Дополнительные свойства diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/block-renderer.md b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/block-renderer.md index db97d03fd..bcf9e0fc5 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/block-renderer.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/block-renderer.md @@ -1,6 +1,6 @@ # Модели блоков -Если в двух словах попытаться описать предназначение [ICRender](/api/ICRender), окажется что формы или же модели блоков прекрасно подойдут под него. Эта технология позволит связать новосозданные модели с определенным блоком, разместить нужную модель по координатам, динамично обновлять рендеры, физические и визуальные формы блоков, а возможно и вовсе, заменять модели обычных предметов. Начнем с рассмотрения моделей [BlockRenderer](/api/BlockRenderer) и закончим несколькими формами для самых разных целей. +Если в двух словах попытаться описать предназначение [ICRender](/api/modules/ICRender.html), окажется что формы или же модели блоков прекрасно подойдут под него. Эта технология позволит связать новосозданные модели с определенным блоком, разместить нужную модель по координатам, динамично обновлять рендеры, физические и визуальные формы блоков, а возможно и вовсе, заменять модели обычных предметов. Начнем с рассмотрения моделей [BlockRenderer](/api/classes/BlockRenderer.Model.html) и закончим несколькими формами для самых разных целей. :::note Чем отличаются простые формы от моделей diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/vanilla-shapes.md b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/vanilla-shapes.md index e4a9b3f75..aa8b47567 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/vanilla-shapes.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/blocks/renders/vanilla-shapes.md @@ -611,7 +611,7 @@ Translation.addTranslation("tile.oxidized_log_stairs.name", { ## Реализация собственных форм -Сложна не более, чем создание полублоков. Как уже было сказано, формы блоков представляют собой параллелепипед или же типичную коробку в трехмерном мире. Для этого задействуется функция [Block.setShape](/api/Block/setShape): +Сложна не более, чем создание полублоков. Как уже было сказано, формы блоков представляют собой параллелепипед или же типичную коробку в трехмерном мире. Для этого задействуется функция [Block.setShape](/api/modules/Block.html#setShape): ```js Block.setShape(<числовой идентификатор>, , , , , , , <вариация>); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/entities/actoring-entities.md b/i18n/ru/docusaurus-plugin-content-docs/current/entities/actoring-entities.md index 747ebb5a9..92621cb37 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/entities/actoring-entities.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/entities/actoring-entities.md @@ -67,7 +67,7 @@ Callback.addCallback("ItemUse", function(coords, item, block, isRemote, playerUi }); ``` -Используя относительные координаты (соседний блок к той стороне, на которую мы нажали) получим углы поворота, на который должна быть повернута стрела для достижения цели. Учитывая, что запускаем стрелу именно мы, неплохим вариантом будет изменить [еще и игровые данные](#прочие-свойства), указывая игрока как источника урона этого снаряда. Стрела по умолчанию не имеет ускорения, так что она просто "выпадет" относительно нажатого блока. Рассмотрите [World.getRelativeCoords](/api/World/getRelativeCoords) для получения относительных координат. +Используя относительные координаты (соседний блок к той стороне, на которую мы нажали) получим углы поворота, на который должна быть повернута стрела для достижения цели. Учитывая, что запускаем стрелу именно мы, неплохим вариантом будет изменить [еще и игровые данные](#прочие-свойства), указывая игрока как источника урона этого снаряда. Стрела по умолчанию не имеет ускорения, так что она просто "выпадет" относительно нажатого блока. Рассмотрите [World.getRelativeCoords](/api/modules/World.html#getRelativeCoords) для получения относительных координат. Помимо простого установки угла обзора, движок предоставляет функционал для наиболее часто используемых формул. К ним относятся и методы, упрощающие предыдущую реализацию вылета стрелы: @@ -185,7 +185,7 @@ Callback.addCallback("ItemUseNoTarget", function(item, playerUid) { }); ``` -Теперь огненные шары могут быть запущены не только раздатчиком или гастом, но и нами. Использование метода [Entity.moveToAngle](/api/Entity/moveToAngle) позволяет упростить код с запуском стрелы выше, задействуя ускорение еще быстрее. Дополнительные примеры использования механики ускорения можно найти в моде Portal Gun, это отличный способ путешествовать по миру. В нем нет сложных формул, что на самом деле лишь помогает еще лучше понять как все работает. +Теперь огненные шары могут быть запущены не только раздатчиком или гастом, но и нами. Использование метода [Entity.moveToAngle](/api/modules/Entity.html#moveToAngle) позволяет упростить код с запуском стрелы выше, задействуя ускорение еще быстрее. Дополнительные примеры использования механики ускорения можно найти в моде Portal Gun, это отличный способ путешествовать по миру. В нем нет сложных формул, что на самом деле лишь помогает еще лучше понять как все работает. ## Инвентарь diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/environment/modifying-region.md b/i18n/ru/docusaurus-plugin-content-docs/current/environment/modifying-region.md index 7970dc964..125d8d5b6 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/environment/modifying-region.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/environment/modifying-region.md @@ -61,7 +61,7 @@ Callback.addCallback("PlayerChangedDimension", function(playerUid, currentId, la ### А вот и блок -Любой блок в мире определяется на основе координат, идентификатора, вариации и описания состояний. C технической точки зрения, даже воздух является блоком, заполняя все пустые ячейки конструктора из чанков. Для описания идентификаторов в мире используйте [VanillaTileID](/api/VanillaTileID), они актуальны только для мира, не инвентаря. +Любой блок в мире определяется на основе координат, идентификатора, вариации и описания состояний. C технической точки зрения, даже воздух является блоком, заполняя все пустые ячейки конструктора из чанков. Для описания идентификаторов в мире используйте [VanillaTileID](/api/enums/VanillaTileID.html), они актуальны только для мира, не инвентаря. Начнем с метода установки/замены блока, старый блок будет заменен новым: @@ -247,7 +247,7 @@ Callback.addCallback("ItemUse", function(coords, item, block, isExternal, player }); ``` -Использование блокстейтов необходимо только для обычной древесины, в случае адской вариация служит показателем поворота блока. Здесь нас интересуют несколько функций и класс [BlockState](/api/BlockState). Функция `getBlock`, о которой было сказано ранее, возвращает необходимый нам класс блокстейта. В частности, он содержит следующие методы и данные: +Использование блокстейтов необходимо только для обычной древесины, в случае адской вариация служит показателем поворота блока. Здесь нас интересуют несколько функций и класс [BlockState](/api/classes/BlockState.html). Функция `getBlock`, о которой было сказано ранее, возвращает необходимый нам класс блокстейта. В частности, он содержит следующие методы и данные: ```js // получая блокстейт, у нас есть вся информация об этом блоке @@ -304,7 +304,7 @@ region.setExtraBlock(coords.x, coords.y, coords.z, block); :::caution Список свойств для блоков -Пока находится в разработке, но как только мы закончим его, здесь обязательно появится ссылка с описанием каждого из них. А пока, воспользуйтесь получением состояний, используя метод `getNamedStatesScriptable`. Актуальный список доступных состояний можно найти в [EBlockStates](/api/EBlockStates). +Пока находится в разработке, но как только мы закончим его, здесь обязательно появится ссылка с описанием каждого из них. А пока, воспользуйтесь получением состояний, используя метод `getNamedStatesScriptable`. Актуальный список доступных состояний можно найти в [EBlockStates](/api/enums/EBlockStates.html). ::: @@ -383,7 +383,7 @@ const item = Entity.getCarriedItem(playerUid); region.spawnDroppedItem(position.x, position.y, position.z, item.id, item.count, item.data, item.extra || null); ``` -После призыва предмет может быть изменен с помощью [Entity.setDroppedItem](/api/Entity/setDroppedItem), используя уникальный идентификатор существа. Воспользуйтесь для этого возвращаемым результатом метода или событиями. +После призыва предмет может быть изменен с помощью [Entity.setDroppedItem](/api/modules/Entity.html#setDroppedItem), используя уникальный идентификатор существа. Воспользуйтесь для этого возвращаемым результатом метода или событиями. Ну а помимо калбеков `EntityAdded` или `EntityAddedLocal`, всегда можно получить список мобов между двумя точками в мире. Результат будет возвращен в виде массива и отфильтрован по типу существа: diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/events/callbacks.md b/i18n/ru/docusaurus-plugin-content-docs/current/events/callbacks.md index c708a2152..bedfc7694 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/events/callbacks.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/events/callbacks.md @@ -4,7 +4,7 @@ ## Регистрация обработчика -Для события производится с помощью метода [Callback.addCallback](/api/Callback/addCallback): +Для события производится с помощью метода [Callback.addCallback](/api/modules/Callback.html#addCallback): @@ -27,7 +27,7 @@ Callback.addCallback("НазваниеСобытия", (/* его аргумен -Указание аргументов для события опционально, для всех действий в результате событий приходит одинаковое количество аргументов. Если событие поддерживает отмену действия, вы можете воспользоваться [Game.prevent](/api/Game/prevent), а также проверить было ли оно уже отменено с помощью [Game.isActionPrevented](/api/Game/isActionPrevented). +Указание аргументов для события опционально, для всех действий в результате событий приходит одинаковое количество аргументов. Если событие поддерживает отмену действия, вы можете воспользоваться [Game.prevent](/api/modules/Game.html#prevent), а также проверить было ли оно уже отменено с помощью [Game.isActionPrevented](/api/modules/Game.html#isActionPrevented). Приоритет определяет порядок выполнения событий. Чем он больше, тем раньше других будет вызван ваш обработчик. Не указывайте слишком большие числа, ограничьтесь, скажем, значениями от 0 до 9. Если приоритет не указан, будет использоваться стандартный (0). @@ -37,11 +37,11 @@ Callback.addCallback("НазваниеСобытия", (/* его аргумен ::: -Вы можете провести эксперимент с одним из существующих примеров в [Callback](/api/Callback/addCallback), там приведен полный список игровых событий на текущий момент. +Вы можете провести эксперимент с одним из существующих примеров в [Callback](/api/modules/Callback.html#addCallback), там приведен полный список игровых событий на текущий момент. ### Вызов своих событий -Производится с помощью метода [Callback.invokeCallback](/api/Callback/invokeCallback). Общий синтаксис весьма прост: +Производится с помощью метода [Callback.invokeCallback](/api/modules/Callback.html#invokeCallback). Общий синтаксис весьма прост: ```js Callback.invokeCallback("НазваниеСобытия", /* аргументы, которые будут переданы в событие */); @@ -86,7 +86,7 @@ Callback.invokeCallback("MyMod:HelloWorld", "Мир"); 2. Все действия, зарегистрированные на событие, выполняются последовательно. - И в порядке добавления событий с помощью [Callback.addCallback](/api/Callback/addCallback), включая приоритеты. + И в порядке добавления событий с помощью [Callback.addCallback](/api/modules/Callback.html#addCallback), включая приоритеты. 3. Ограничтесь одной функцией для одного события. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/items/first-item.md b/i18n/ru/docusaurus-plugin-content-docs/current/items/first-item.md index ee30e06c8..b2214d662 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/items/first-item.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/items/first-item.md @@ -86,7 +86,7 @@ Item.createItem("oxidized_stick", "item.oxidized_stick.name", { Прежде чем создать предмет, мы генерируем числовой идентификатор для строкового. В игре он будет представлен как `minecraft:item_<идентификатор>`, в нашем случае `minecraft:item_oxidized_stick`. -И наконец, вызывается комплексный метод [Item.createItem](/api/Item/createItem), вот его параметры: +И наконец, вызывается комплексный метод [Item.createItem](/api/modules/Item.html#createItem), вот его параметры: 1. Зарегистрированный строковый идентификатор. 2. Имя предмета; мы не обязаны использовать формат `item.<идентификатор>[.<состояние>].name` здесь, и могли бы просто назвать предмет `"Oxidized Stick"` или `"Окислившаяся палка"`, но тогда потеряется смысл локализации. @@ -169,7 +169,7 @@ Item.registerUseFunctionForID(ItemID.oxidized_stick, (coords, item, block, playe -Объект [ItemID](/api/ItemID) предоставляет числовые идентификаторы для идентификаторов предметов, которые были созданы в следствии вызова метода [IDRegistry.genItemID](/api/IDRegistry/genItemID). Для игры основными являются именно числовые идентификаторы, строковые же отображаются в различных интерфейсах и используются нами для удобства. +Объект [ItemID](/api/index.html#ItemID) предоставляет числовые идентификаторы для идентификаторов предметов, которые были созданы в следствии вызова метода [IDRegistry.genItemID](/api/modules/IDRegistry.html#genItemID). Для игры основными являются именно числовые идентификаторы, строковые же отображаются в различных интерфейсах и используются нами для удобства.
Почему просто не воспользоваться калбеком? @@ -199,7 +199,7 @@ Callback.addCallback("ItemUse", (coords, item, block, isExternal, playerUid) => -Вот список дополнительных проверок, которые осуществляет функция [Item.registerUseFunction](/api/Item/registerUseFunction) перед вызовом вашего события: +Вот список дополнительных проверок, которые осуществляет функция [Item.registerUseFunction](/api/modules/Item.html#registerUseFunction) перед вызовом вашего события: 1. Проверяется является ли блок тайлом, мы еще рассмотрим их, главное здесь лишь знать что они могут прервать дальнейший вызов события. 2. В случае если у блока есть интерфейс (например открылся верстак или сундук), событие будет остановлено. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/items/food-armor-and-throwables.md b/i18n/ru/docusaurus-plugin-content-docs/current/items/food-armor-and-throwables.md index 55b756dc9..b464ab3b2 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/items/food-armor-and-throwables.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/items/food-armor-and-throwables.md @@ -51,7 +51,7 @@ Item.registerThrowableFunction("diamond_bullet", (projectile, item, target) => -Если мы попадаем существо, ему наносится урон с помощью метода [Entity.damageEntity](/api/Entity/damageEntity) с таким количеством урона, сколько здоровья осталось у существа. То есть, алмазный снаряд гарантированно убьет существо в которое попадет, либо ничего не произойдет и снаряд просто исчезнет. +Если мы попадаем существо, ему наносится урон с помощью метода [Entity.damageEntity](/api/modules/Entity.html#damageEntity) с таким количеством урона, сколько здоровья осталось у существа. То есть, алмазный снаряд гарантированно убьет существо в которое попадет, либо ничего не произойдет и снаряд просто исчезнет. Свойство `projectile` представляет собой идентификатор существа, которое было создано вследствии броска предмета. Да, бросаемый предмет становится существом, и да, мы обязательно разберем это позже. @@ -59,7 +59,7 @@ Item.registerThrowableFunction("diamond_bullet", (projectile, item, target) => Свойство `target` содержит координаты места куда попал предмет и идентификатор существа если предмет попал в существо, а не блок. -Как и для метода [Item.registerUseFunction](/api/Item/registerUseFunction), для этого метода существует метод уже для обработки числовых идентификаторов. Его работа идентична, можете сами рассмотреть [Item.registerThrowableFunctionForID](/api/Item/registerThrowableFunctionForID) при необходимости. +Как и для метода [Item.registerUseFunction](/api/modules/Item.html#registerUseFunction), для этого метода существует метод уже для обработки числовых идентификаторов. Его работа идентична, можете сами рассмотреть [Item.registerThrowableFunctionForID](/api/modules/Item.html#registerThrowableFunctionForID) при необходимости. Что же касается калбека __ProjectileHit__, идентичная реализация метода выше будет: @@ -143,7 +143,7 @@ Callback.addCallback("FoodEaten", (food, saturation, playerUid) => Событие предоставляет аргументы количества востановленного голода, насыщения и идентификатора игрока соответственно. -Как только мы съедим только что созданный предмет, нам будут выданы эффект насыщения на 2 секунды и эффект замедления третьего уровня на 5 секунд. Частицы эффекта не будут видны для игрока, а в качестве времени здесь приведено количество тиков. Изучите функцию [Entity.addEffect](/api/Entity/addEffect) для получения подробностей. +Как только мы съедим только что созданный предмет, нам будут выданы эффект насыщения на 2 секунды и эффект замедления третьего уровня на 5 секунд. Частицы эффекта не будут видны для игрока, а в качестве времени здесь приведено количество тиков. Изучите функцию [Entity.addEffect](/api/modules/Entity.html#addEffect) для получения подробностей. Событие съедания предмета происходит независимо от того какой предмет был съеден, новый или внутреигровой; так что вы можете привязать это событие к любой еде. @@ -288,7 +288,7 @@ Armor.registerOnTakeOffListener(ItemID.emerald_boots, (item, slotId, entityUid) -В этом небольшом примере максимальное здоровье существа (в том числе и игрока) который надел ботинки увеличивается вдвое, возвращаясь на место если ботинки были сняты. Событие в методе [Armor.registerOnTakeOnListener](/api/Armor/registerOnTakeOnListener) вызывается и в том случае, если существо сразу появилось с этой броней. +В этом небольшом примере максимальное здоровье существа (в том числе и игрока) который надел ботинки увеличивается вдвое, возвращаясь на место если ботинки были сняты. Событие в методе [Armor.registerOnTakeOnListener](/api/modules/Armor.html#registerOnTakeOnListener) вызывается и в том случае, если существо сразу появилось с этой броней. Но что если у нас и вправду есть зависимость в добавлении здоровья лишь в случае, если существо надело целый сет брони? В таком случае нам нужно переписать код, это обычная практика для моддинга. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/items/recipes.md b/i18n/ru/docusaurus-plugin-content-docs/current/items/recipes.md index 87af7d003..a28abce96 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/items/recipes.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/items/recipes.md @@ -198,6 +198,6 @@ Callback.addCallback("VanillaWorkbenchCraft", function(result, container, player :::note Для чего нужны префиксы -Если заглянуть в сводку методов, методы рецептов последним аргументом принимают некий `prefix`. Он создан в первую очередь для поиска рецептов, создания верстаков на основе внутреигрового и прочего. Любые рецепты с префиксом не будут отображены в обычном верстаке. Рассмотрите [Recipes](/api/Recipes) для получения подробностей. +Если заглянуть в сводку методов, методы рецептов последним аргументом принимают некий `prefix`. Он создан в первую очередь для поиска рецептов, создания верстаков на основе внутреигрового и прочего. Любые рецепты с префиксом не будут отображены в обычном верстаке. Рассмотрите [Recipes](/api/modules/Recipes.html) для получения подробностей. ::: diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/storage/saving-basics.md b/i18n/ru/docusaurus-plugin-content-docs/current/storage/saving-basics.md index 7852847b8..66dc2d1d3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/storage/saving-basics.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/storage/saving-basics.md @@ -4,7 +4,7 @@ ## Конфиг -Пожалуй наиболее простым способом обработки данных остается конфиг, или же [\_\_config\_\_](/api/__config__). Он сохраняет сугубо клиентские настройки и может быть изменен через интерфейс браузера модов. Ранее, в статье [Конфигурация свойств](../basics/mod-structure.md#конфигурация-свойств) были рассмотрены форматы файлов *config.json* и *config.info.json*, теперь же будет рассмотрено считывание и изменение этих данных. +Пожалуй наиболее простым способом обработки данных остается конфиг, или же [\_\_config\_\_](/api/index.html#__config__). Он сохраняет сугубо клиентские настройки и может быть изменен через интерфейс браузера модов. Ранее, в статье [Конфигурация свойств](../basics/mod-structure.md#конфигурация-свойств) были рассмотрены форматы файлов *config.json* и *config.info.json*, теперь же будет рассмотрено считывание и изменение этих данных. ```js __config__.getBool("change_quantum_suit_recipe"); // true @@ -69,7 +69,7 @@ __config__.checkAndRestore({ ### Дополнительные конфиги -В большинстве случаев, стандартного конфига будет вполне достаточно. Но возможно, вам необходимо разделить существующие данные, создать прототип со стандартными значениями или добавить уникальные вариации. На этот случай приходит конструктор класса [Config](/api/Config), такой конфиг ничем не будет отличаться от стандартного: +В большинстве случаев, стандартного конфига будет вполне достаточно. Но возможно, вам необходимо разделить существующие данные, создать прототип со стандартными значениями или добавить уникальные вариации. На этот случай приходит конструктор класса [Config](/api/classes/Config-1.html), такой конфиг ничем не будет отличаться от стандартного: ```js const PROTO_CONFIG = new Config(__dir__ + "config.proto.json"); @@ -88,7 +88,7 @@ __config__.checkAndRestore(FileTools.ReadText( ## Сохранения -Сохранения используются для хранения большого количества данных или любых других в виде объектов. Хотя само сохранение данных может быть зарегистрировано где угодно, использованы они будут лишь на стороне сервера. Хранение данных происходит с помощью [Saver](/api/Saver) и его нескольких методов. +Сохранения используются для хранения большого количества данных или любых других в виде объектов. Хотя само сохранение данных может быть зарегистрировано где угодно, использованы они будут лишь на стороне сервера. Хранение данных происходит с помощью [Saver](/api/modules/Saver.html) и нескольких методов в нем. ```js Saver.addSavesScope("Мод.Контекст", function read(data) { @@ -104,7 +104,7 @@ Saver.addSavesScope("Мод.Контекст", function read(data) { :::caution Воздержитесь от встроенного калбека -Раннее, сохранения на движке Core Engine реализовывались с помощью калбеков __ReadSaves__ и __WriteSaves__ соответственно, принципы схожи с модулем [Saver](/api/Saver): +Раннее, сохранения на движке Core Engine реализовывались с помощью калбеков __ReadSaves__ и __WriteSaves__ соответственно, принципы схожи с модулем [Saver](/api/modules/Saver.html): ```js Translation.addTranslation(" Your saves are outdated, it will be rewritten!", { diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/storage/tile-entities.md b/i18n/ru/docusaurus-plugin-content-docs/current/storage/tile-entities.md index 9a7c8a1a3..443d28dfe 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/storage/tile-entities.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/storage/tile-entities.md @@ -1,6 +1,6 @@ # Тайлы -Один из основных элементов взамодействия с контейнерами это тайлы. Технология [TileEntity](/api/TileEntity) позволяет связать контейнер с блоками, добавив к нему интерфейс и обновляемый функционал. Это несколько отличается от того, что обычно называют блок-энтити, однако методы их при весьма схожи. +Один из основных элементов взамодействия с контейнерами это тайлы. Технология [TileEntity](/api/interfaces/TileEntity-1.html) позволяет связать контейнер с блоками, добавив к нему интерфейс и обновляемый функционал. Это несколько отличается от того, что обычно называют блок-энтити, однако их возможности весьма схожи. ## Принципы применения @@ -20,7 +20,7 @@ ### Привязка интерфейсов -По умолчанию, любой тайл вызывает интерфейс, если его имя было возвращено функцией [getScreenName](/api/TileEntity/TileEntityPrototype/getScreenName) и он есть у клиента в методе [getScreenByName](/api/TileEntity/TileEntityPrototype/getScreenByName) прототипа. +По умолчанию, любой тайл вызывает интерфейс, если его имя было возвращено функцией [getScreenName](/api/interfaces/TileEntity.TileEntityPrototype.html#getScreenName) и он есть у клиента в методе [getScreenByName](/api/interfaces/TileEntity.TileEntityPrototype.html#getScreenByName) прототипа. ## Хранилища diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/ui/drawings.md b/i18n/ru/docusaurus-plugin-content-docs/current/ui/drawings.md index 43ece96a0..0c682ff84 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/ui/drawings.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/ui/drawings.md @@ -16,7 +16,7 @@ stateDiagram-v2 end note ``` -Весь цикл сводится к обновлению (перерисовке компонента, первая отрисовка тоже вызывает ее) если таковое было запрошено. Для этого задействуются функции [invalidateDrawing](/api/com/zhekasmirnov/innercore/api/mod/ui/window/IWindow/invalidateDrawing) окна или [invalidateUIDrawing](/api/com/zhekasmirnov/innercore/api/mod/ui/container/Container/invalidateUIDrawing) контейнера. +Весь цикл сводится к обновлению (перерисовке компонента, первая отрисовка тоже вызывает ее) если таковое было запрошено. Для этого задействуются функции [invalidateDrawing](/api/interfaces/UI.IWindow.html#invalidateDrawing) окна или [invalidateUIDrawing](/api/classes/UI.Container.html#invalidateUIDrawing) контейнера. Фоновая компоновка не имеет событий, даже расширяемые компоненты могут быть лишь отрисованы. На то это и статичные компоненты, чтобы ни с чем не взаимодействовать. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/ui/elements.md b/i18n/ru/docusaurus-plugin-content-docs/current/ui/elements.md index cbce907c1..85667a9c8 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/ui/elements.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/ui/elements.md @@ -26,7 +26,7 @@ stateDiagram-v2 Помимо стандартного обновления фоновой компановки, элементы определяют прикосновения пользователя, обрабатывают биндинги и кешируются для автоматического обновления самих себя. -Как и другие компоненты, элементы могут быть перерисованы с помощью функции [invalidateElements](/api/com/zhekasmirnov/innercore/api/mod/ui/window/IWindow/invalidateElements) или [invalidateUIElements](/api/com/zhekasmirnov/innercore/api/mod/ui/container/Container/invalidateElements) контейнера. Это немедленно приведет к перекешированию всех элементов, правда обычно стандартного кеширования раз в пол секунды вполне достаточно для стабильного обновления. +Как и другие компоненты, элементы могут быть перерисованы с помощью функции [invalidateElements](/api/interfaces/UI.IWindow.html#invalidateElements) или [invalidateUIElements](/api/classes/UI.Container.html#invalidateUIElements) контейнера. Это немедленно приведет к перекешированию всех элементов, правда обычно стандартного кеширования раз в пол секунды вполне достаточно для стабильного обновления. Некоторые элементы имеют собственные события, они напрямую связаны с взаимодействиями пользователя, практически все (за исключением слотов инвентаря) обрабатывают еще и прикосновения, объекты описания которых приведены в [соответствующем параграфе](#общие-свойства).