Skip to content

Feature: Crafting CPU contents #30

@Niels1006

Description

@Niels1006

Hey,

Since currently it is not possible to see actual contents of a crafting CPU, would it be possible to implement that?

First, we need a craftingItem object (table, but ykwim):

Key Type Description
amount number The number of pending, crafting or stored objects.
type string The type of the object.
id string The ID of the object.
displayName string The display name of the object.
status string The crafting status of the object. Can be pending (not crafting yet), crafting (well, crafting), stored (finished crafting, so it is stored in the cpu)

Then, either cpu or jobStatus needs a function to get all craftingItems in the CPU:

Key Type Description
getItems table Table of all items in the CPU. Could also be an iterator to save on memory

Another way could be to remove status of craftingItem and add more functions to cpu or jobStatus:

Key Type Description
getPendingItems table Table of all items in the CPU with status pending
getCraftingItems table Table of all items in the CPU with status crafting
getStoredItems table Table of all items in the CPU with status stored

It already got implemented for OC here, if you wanna take a look: https://github.com/GTNewHorizons/OpenComputers/blob/master/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala

With those features, very nice ae2 visualizations can be made, for example a treemap with size of tiles being time with status=crafting:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions