Skip to content

Support for Hoppers #39

Description

@JU12000

I was planning to try and implement support for Vanilla hoppers as they're covered by Automate, and it would increase compatability with certain mods e.g. Walk of Life.

There's a number of ways I think this could be implemented but to me it seems like a hopper should contain some elements of both GameStorage and ObjectMachine.

The hopper is a type of chest, so we wouldn't necessarily care about the MachineState of the ObjectMachine it's attached to, instead preferring to load it with materials to feed the attached machines recipies until we're out of materials or the chest is full. Unlike a chest - since the hopper would be feeding the attached machine instead of the Junimo - we would need to keep track of the following useful data encompassed by ObjectMachine:

  • The IsStillPresent status of the attached machine, to decide if we should keep loading the hopper.
  • The recipe returned by GetRecipeFromChest. We'd have to proxy the call to this function through the hopper to the attached machine and return the result.
  • The category of the attached machine, to decide which Junimos could add items to the hopper
  • The result of IsCompatibleWithJunimo

There are some other quirks, but I'm not sure if it actually matters to solve for them:

  1. If a hopper and its attached machine are on the same network, do we care to stop Junimos from interacting with the machine?
  2. Should Junimos be allowed to remove items from a Hopper in order to feed other machines on the network which take the same items for their recipies?

I'm interested to hear your feedback.

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