Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> |
Жидкости в Core Engine представлены как некоторый материал, который может храниться в tile entity или наполнять предмет, но при этом не могут находиться в мире. | Жидкости в Core Engine представлены как некоторый материал, который может храниться в tile entity или наполнять предмет, но при этом не могут находиться в мире. | ||
Строка 24: | Строка 24: | ||
*''LiquidRegistry.getFullItem(id, data, "строковый id") ''- принимает на вход пустой предмет и строковый id жидкости, возвращает объект формата {id: id полного предмета, data: data полного предмета}, если предмет не является предметом, который может содержать жидкость, или такая жидкость не существует, вернет null | *''LiquidRegistry.getFullItem(id, data, "строковый id") ''- принимает на вход пустой предмет и строковый id жидкости, возвращает объект формата {id: id полного предмета, data: data полного предмета}, если предмет не является предметом, который может содержать жидкость, или такая жидкость не существует, вернет null | ||
− | + | == Хранилище жидкости == | |
Объект хранилища жидкости позволяет хранить жидкости и оперировать с ними. Каждый объект tile entity по умолчанию имеет объект хранилища жидкости (this.liquidStorage), которые привязаны к нему, так же его можно создать командой ''new LiquidRegistry.Storage()'' - новый объект хранилища. | Объект хранилища жидкости позволяет хранить жидкости и оперировать с ними. Каждый объект tile entity по умолчанию имеет объект хранилища жидкости (this.liquidStorage), которые привязаны к нему, так же его можно создать командой ''new LiquidRegistry.Storage()'' - новый объект хранилища. | ||
Строка 42: | Строка 42: | ||
*''addLiquid("строковый id", объем в ведрах) ''- добавляет данный объем данной жидкости в хранилище, возвращает объем лишней жидкости (которая не уместилась в лимит) | *''addLiquid("строковый id", объем в ведрах) ''- добавляет данный объем данной жидкости в хранилище, возвращает объем лишней жидкости (которая не уместилась в лимит) | ||
*''getLiquid("строковый id", объем в ведрах) ''- забирает данный объем данной жидкости из хранилища, возвращает объем, который удалось забрать (если жидкости меньше требуемого кол-ва, то отдает не переданный объем, а меньше). Если жидкости в хранилище не хватает и хранилище привязано к tile entity будет вызвано событие requireMoreLiquid в tile entity. | *''getLiquid("строковый id", объем в ведрах) ''- забирает данный объем данной жидкости из хранилища, возвращает объем, который удалось забрать (если жидкости меньше требуемого кол-ва, то отдает не переданный объем, а меньше). Если жидкости в хранилище не хватает и хранилище привязано к tile entity будет вызвано событие requireMoreLiquid в tile entity. | ||
− | </div> </div> </div> </div> | + | </div> </div> </div> </div> </div> |
Жидкости в Core Engine представлены как некоторый материал, который может храниться в tile entity или наполнять предмет, но при этом не могут находиться в мире.
Core Engine позволяет регистрировать новые жидкости, имеющие название и текстуру, предметы содержащие эти жидкости, а так же дает всем tile entity встроенный объект для хранения и работы с жидкостями, аналогичный контейнеру для хранения предметов и отображения слотов.
Стандартные жидкости - молоко, лава и вода и их текстуры уже зарегистрированы, как и предметы, содержащие их, их строковые id:
LiquidRegistry.registerLiquid("строковый id", "название", [массив имен текстур в интерфейсе]) - регистрирует жидкость под данным строковым id и с данным названием и задает ей варианты текстур интерфейса, которые задаются как массив строковых имен текстур. Текстур интерфейса может быть несколько для того, чтобы при использовании их в шкалах различных размеров, Core Engine подбирал лучшее отношение сторон и изменял размер под размер шкалы (жидкость может быть использована другими модами с другим интерфейсом). Если вы хотите задать только одну текстуру для жидоксти, просто напишите ["имя текстуры"].
Объект хранилища жидкости позволяет хранить жидкости и оперировать с ними. Каждый объект tile entity по умолчанию имеет объект хранилища жидкости (this.liquidStorage), которые привязаны к нему, так же его можно создать командой new LiquidRegistry.Storage() - новый объект хранилища.
Методы объекта хранилища жидкости: