80LK (обсуждение | вклад) м (Отмена правки 2197, сделанной 80LK (обсуждение)) |
80LK (обсуждение | вклад) м |
||
Строка 61: | Строка 61: | ||
*''canExtractEnergy: function(type, side) {return true/false;}'' – определяет, с каких сторон tile entity может выдавать энергию. | *''canExtractEnergy: function(type, side) {return true/false;}'' – определяет, с каких сторон tile entity может выдавать энергию. | ||
</div> <div class="mw-parser-output"> | </div> <div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
== Объект EnergySource == | == Объект EnergySource == | ||
Строка 67: | Строка 68: | ||
*''src.add(amount, voltage)'' - добавляет в сеть данное кол-во энергии ''(amount)'', возвращает, какое кол-во энергии добавить не удалось из-за переполнения (0, если вся энергия добавлена). Если значение ''voltage'' (напряжение) не указано, то оно будет равно ''amount''. | *''src.add(amount, voltage)'' - добавляет в сеть данное кол-во энергии ''(amount)'', возвращает, какое кол-во энергии добавить не удалось из-за переполнения (0, если вся энергия добавлена). Если значение ''voltage'' (напряжение) не указано, то оно будет равно ''amount''. | ||
*''src.addAll(amount, voltage)'' - аналогичен методу ''add'', но ничего не возвращает и работает быстрее, потому что добавляет энергию в буфер сети, позволяя объединять в один пакет множество пакетов, созданных генераторами. | *''src.addAll(amount, voltage)'' - аналогичен методу ''add'', но ничего не возвращает и работает быстрее, потому что добавляет энергию в буфер сети, позволяя объединять в один пакет множество пакетов, созданных генераторами. | ||
− | </div> | + | </div> |
+ | |||
== Работа с энгергитическими сетями == | == Работа с энгергитическими сетями == | ||
== Примеры == | == Примеры == | ||
</div> </div> </div> </div> | </div> </div> </div> </div> |
Данная библиотека для Inner Core представляет собой инструмент для быстрого создания новых типов энергии и имеет большой функционал для работы с ними.
IMPORT("EnergyNet");
EnergyTypeRegistry.assureEnergyType("name", value) - создает новый тип энергии и возвращает его, если такой тип энергии уже существует, новый создан не будет, а вернется уже существующий, таким образом если 2 мода создают один тип энергии, он будет общий.
Параметры:
Возвращает функция тип с данным именем (созданный или импортированый), который обладает следующими методами и значениями:
Пример:
// в начале мода импортируем библиотеку (она должна находиться в lib/) importLib("energylib.js", "*");
// создаем тип энергии redstone flux
var energyRF = EnergyTypeRegistry.assureEnergyType("RF", 0.25);
// регистрируем блок-проводник для данного типа энергии
energyRF.registerWire(BlockID.RFconduct, 2000);
Энергия может передаваться как по проводам, так и напрямую от генератора к соседним механизмам. Для этого подобные механизмы объдиняются в энергосети. Энергосети - это программные объекты, которые передают энергию к подключенным к ним механизмам или другим энергосетям. Энергия передаётся пакетами с определённым количеством энергии и напряжением.
Энергосети формируются следующим образом:
Для каждого блока генератора создаётся своя энергосеть, соединяющая его с подключенными к нему машинами-потребителями и энергосетями проводов. Энергосети проводов объединяют блоки с одним ид и соединяются с другими сетями того же типа энергии и машинами-потребителями энергии. Такая система позволяет разбивать провода по размеру пакета энергии, который они могут передать. Напряжение пакета энергии - это параметр, позволяющий объединять множество пакетов меньшего размера в один и передать его как будто бы с размером меньшего пакета.
EnergyTileRegistry.addEnergyTypeForId(tileEntityId, energyType) - добавляет tile entity с данным id дополнительные события, которые позволяют ему работать с данным типом энергии. К одному tile entity можно привязать несколько разных типов энергии.
Параметры:
Новые события:
Данный объект является интерфейсом для добавления энергии в сеть, который передается в события для работы с энергией (src).
Методы: