PowerAE2CC Bridge

PowerAE2CC Bridge

Mod

A fork of AE2CC Bridge that adds a simple peripheral block that may be used to access an Applied Energistics 2 ME system from ComputerCraft computers.

Client and server ManagementTechnologyUtility

3,806 downloads
5 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

PowerAE2CC Bridge

PowerAE2CC Bridge is a fork of AE2CC Bridge that adds a simple peripheral block that may be used to access an Applied Energistics 2 ME system from ComputerCraft computers.

Note: Currently, the peripheral only exposes a fairly small API. If you find that functionality you need is missing, please file a feature request in our issue tracker.

Block

The bridge block will use when connected to an Applied system 5 AE/t of power as well as consume a channel.

Peripheral API (Functions)

getAvailableObjects()

Returns a list of objects that are currently available in the ME system.

Returns

  1. { { type = string, id = string, displayName = string, amount = number }... } – a table with a list of objects available in the ME system

getCraftableObjects()

Returns a list of objects that can be crafted by the ME system.

Returns

  1. { { type = string, id = string, displayName = string }... } – a table with a list of objects that can be crafted by the ME system

getCraftingCPUs()

Returns a list of crafting CPUs available in the ME system.

Returns

  1. { cpu... }

where cpu is a table defined as follows:

Key Type Description
availableCoProcessors number The number of available co-processors.
availableStorage number The amount of available crafting storage.
selectionMode string The selection mode of the CPU. (Either ANY, MACHINE_ONLY, or PLAYER_ONLY.)
jobStatus string? Information about the currently running job.
name string? The custom name of the CPU.

where jobStatus is a table defined as follows:

Key Type Description
totalObjects number The total amount of objects that will be crafted during the job.
craftedObjects number The amount of crafted objects.
elapsedNanos number The time (in nanoseconds) that has elapsed since the job has started.
systemID string? The ID given to the running job by the ME system.
output output The job's output.

where output is defined as follows:

Key Type Description
amount number The number of requested objects.
type string The type of the object.
id string The ID of the object.
displayName string The display name of the object.

Remarks

For technical reasons, determining the systemID may fail in some cases. If this happens, the systemID is not included and an error is logged. If you are using up-to-date versions of AE2 and AE2CC Bridge, please make sure this issue is known in the issue tracker for your versions.

getIssuedCraftingJobs

Returns a list of unfinished crafting jobs issued by the peripheral.

Returns

  1. { { state = string, jobID = string, systemID = string? }... } – a table with a list of objects for each unfinished job issued by the peripheral.

Remarks

For a job to be included in the output, its state must either be SCHEDULED or STARTED. If the job has started running, an additional systemID is field is included. This ID is the ID given to the running job by the ME system (opposed to the jobID which is local to a peripheral).

getAllCraftingRequests

Returns a list of all the currently being processed crafts by all crafting cpus

Returns

  1. { craftingRequest, ...}

where craftingRequest is a table with the following attributes

Key Type Description
amount number The amount of the item currently being crafted
displayName string The display name of the item being crafted (AKA the in game item name)
systemID string The id of the item being crafted (following minecraft's id system)
Example:
{
   {
      amount = 1,
      displayName = "Oak Planks",
      systemID = "minecraft:oak_planks"
   }
}

scheduleCrafting(type, id, amount)

Schedules a crafting job.

Parameters

  1. type: string – the type of the object to craft ("fluid" or "item")
  2. id: string – the ID of the object to craft
  3. amount: number – the amount of the object to craft

Returns

  1. string – a unique ID representing the crafting job

Remarks

Note: This method is deliberately named scheduleCrafting as scheduling a crafting job does not actually start a crafting process immediately. Instead, the crafting job is started at some point in the future when the ME system is ready.

To work with crafting jobs, it is necessary to understand their lifecycle.

flowchart LR
Scheduled --> Started
Started --> Done
Started --> Cancelled
Scheduled --> Cancelled

Initially, a newly created crafting job's state is SCHEDULED. During creation, the ME system is instructed to prepare for the crafting job (which includes calculating) the exact crafting plan.

Once the system has finished all necessary preparations, the crafting job's state changes to STARTED. The ae2cc:crafting_started event can be used to listen to this state change.

Finally, when the crafting job is finished, it's state changes to DONE and the ae2cc:crafting_done event is fired.

Additionally, if the job is cancelled or an error occurs at any point of the crafting job's lifecycle, the ae2cc:crafting_cancelled event is fired.

Peripheral API (Events)

ae2cc:crafting_cancelled

The ae2cc:crafting_cancelled event is fired when a crafting job is cancelled.

Return Values

  1. string – the name of the event
  2. string – the ID of the cancelled crafting job
  3. string - the reason for the cancellation

Remarks

The reason for the cancellation is always one of:

Value Description
CANCELLED The job was cancelled (either manually or by a machine).
CPU_NOT_FOUND The selected crafting CPU was not found.
INCOMPLETE_PLAN No crafting plan could be calculated for the job.
NO_CPU_FOUND No crafting CPU to execute the job was found.
CPU_BUSY The selected crafting CPU is busy.
CPU_OFFLINE The selected crafting CPU is offline.
CPU_TO_SMALL The selected crafting CPU is too small to process the job.
MISSING_INGREDIENT Could not obtain one of the ingredients needed for the job.

ae2cc:crafting_done

The ae2cc:crafting_done event is fired when a crafting job is done.

Return Values

  1. string – the name of the event
  2. string – the ID of the finished crafting job

ae2cc:crafting_started

The ae2cc:crafting_started event is fired when the state of a previously SCHEDULED crafting job changes to STARTED.

Return Values

  1. string – the name of the event
  2. string – the ID of the started crafting job

Project members

LoboMetalurgico

Owner

SpaceFox

Mantainer

Details

Licensed MIT
Published 10 months ago
Updated 10 months ago