PartialShapelessResult

Partial-search result for a CRecipe.Type.SHAPELESS recipe.

Because shapeless recipes have no positional constraint, a recipe slot may be satisfiable by more than one input slot. relations captures these weak (non-exclusive) candidate associations; the true MatchState is determined by computing a maximum bipartite matching over relations in state.

Since

5.0.21

Parameters

recipe

The shapeless recipe that was evaluated.

relations

A map from each matchable recipe slot coordinate to the set of input slot coordinates that are individually compatible with that slot.

Constructors

Link copied to clipboard
constructor(recipe: CRecipe, relations: Map<CoordinateComponent, Set<CoordinateComponent>>)

Properties

Link copied to clipboard
open override val recipe: CRecipe

Functions

Link copied to clipboard
open override fun matched(): Set<CoordinateComponent>

Returns the recipe slot coordinates that have at least one compatible input slot.

Link copied to clipboard
open override fun notEnough(): Set<CoordinateComponent>

Returns the recipe slot coordinates that have no compatible input slot.

Link copied to clipboard
open override fun state(): PartialSearch.MatchState

Returns the MatchState by computing a maximum bipartite matching over relations.

Link copied to clipboard

Returns the weak candidate associations keyed by CMatter instead of by coordinate.