EnergyNet — различия между версиями

м
м
Строка 39: Строка 39:
 
</div> </div>
 
</div> </div>
  
 +
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
== Механика передачи энергии ==
 
== Механика передачи энергии ==
  
Энергия может передаваться как по проводам, так и напрямую от генератора к<br/> соседним механизмам. Для этого подобные механизмы объдиняются в энергосети.<br/> Энергосети - это программные объекты, которые передают энергию к<br/> подключенным к ним механизмам или другим энергосетям. Энергия передаётся<br/> пакетами с определённым количеством энергии и напряжением.
+
Энергия может передаваться как по проводам, так и напрямую от генератора к соседним механизмам. Для этого подобные механизмы объдиняются в энергосети. Энергосети - это программные объекты, которые передают энергию к подключенным к ним механизмам или другим энергосетям. Энергия передаётся пакетами с определённым количеством энергии и напряжением.
  
Энергосети формируются следующим образом:<br/> Для каждого блока генератора создаётся своя энергосеть, соединяющая его с<br/> подключенными к нему машинами-потребителями и энергосетями проводов.<br/> Энергосети проводов объединяют блоки с одним ид и соединяются с другими<br/> сетями того же типа энергии и машинами-потребителями энергии. Такая система<br/> позволяет разбивать провода по размеру пакета энергии, который они могут<br/> передать. Напряжение пакета энергии - это параметр, позволяющий объединять<br/> множество пакетов меньшего размера в один и передать его как будто бы с<br/> размером меньшего пакета.
+
Энергосети формируются следующим образом:<br/> Для каждого блока генератора создаётся своя энергосеть, соединяющая его с подключенными к нему машинами-потребителями и энергосетями проводов. Энергосети проводов объединяют блоки с одним ид и соединяются с другими сетями того же типа энергии и машинами-потребителями энергии. Такая система позволяет разбивать провода по размеру пакета энергии, который они могут передать. Напряжение пакета энергии - это параметр, позволяющий объединять множество пакетов меньшего размера в один и передать его как будто бы с размером меньшего пакета.
 
</div>
 
</div>
  

Версия 13:43, 27 июля 2019

Данная библиотека для Inner Core представляет собой инструмент для быстрого создания новых типов энергии и имеет большой функционал для работы с ними.

Импорт

Для добавления библиотеки в мод ее файл (energy-net.js) нужно добавить в директорию lib/ в директории мода (если таковой нету, то ее нужно создать).
Для импорта библиотеки в мод в заголовочном файле (или если он остутвует в первом файле кода) следует добавить строку:
IMPORT("EnergyNet");

Модули

  1. EnergyTypeRegistry - модуль для регистрации новых типов энергии.
  2. EnergyTileRegistry - модуль для привязки типов энергии к TileEntity. 
  3. EnergyNetBuilder - модуль построения энергосетей и взаимодействия с ними.

Создание нового типа энергии

EnergyTypeRegistry.assureEnergyType("name", value) - создает новый тип энергии и возвращает его, если такой тип энергии уже существует, новый создан не будет, а вернется уже существующий, таким образом если 2 мода создают один тип энергии, он будет общий.

Параметры:

  • name - уникальное название энергии, обычно используется сокращение ("Eu" - energy units, "RF" - redstone flux и т.п.)
  • value - сколько Eu (единиц энергии IndustrialCraft) содержится в 1 единице данного типа энергии, данное значение используется для конвертации из одного вида энергии в другой. Энергия Eu принята за эталон.

Возвращает функция тип с данным именем (созданный или импортированый), который обладает следующими методами и значениями:

  • <energyType>.name - имя данного типа энергии.
  • <energyType>.registerWire(id, value) – регистрирует провод с данным ид и устанавливает для него лимит по приёму энергии, записанный в параметре value.
  • <energyType>.onNetOverload – функция, вызывающаяся при превышение лимита энергии в проводе. Для продвинутых разработчиков

Пример:

// в начале мода импортируем библиотеку (она должна находиться в lib/) importLib("energylib.js", "*");

// создаем тип энергии redstone flux
var energyRF = EnergyTypeRegistry.assureEnergyType("RF", 0.25);
// регистрируем блок-проводник для данного типа энергии
energyRF.registerWire(BlockID.RFconduct, 2000);

Механика передачи энергии

Энергия может передаваться как по проводам, так и напрямую от генератора к соседним механизмам. Для этого подобные механизмы объдиняются в энергосети. Энергосети - это программные объекты, которые передают энергию к подключенным к ним механизмам или другим энергосетям. Энергия передаётся пакетами с определённым количеством энергии и напряжением.

Энергосети формируются следующим образом:
Для каждого блока генератора создаётся своя энергосеть, соединяющая его с подключенными к нему машинами-потребителями и энергосетями проводов. Энергосети проводов объединяют блоки с одним ид и соединяются с другими сетями того же типа энергии и машинами-потребителями энергии. Такая система позволяет разбивать провода по размеру пакета энергии, который они могут передать. Напряжение пакета энергии - это параметр, позволяющий объединять множество пакетов меньшего размера в один и передать его как будто бы с размером меньшего пакета.

Привязка типов энергии к TileEntity

Объект EnergySource

Работа с энгергитическими сетями

Примеры