Class MultiblockMember.Builder

java.lang.Object
fr.robie.machineengine.api.multiblock.MultiblockMember.Builder
Enclosing class:
MultiblockMember

public static final class MultiblockMember.Builder extends Object
Makes the behavior factories of members.
  • Method Details

    • portMode

      @NotNull public @NotNull MultiblockMember.Builder portMode(@NotNull @NotNull MachineDataKey<String> key)
      The machine data key ports keep their mode in (an addon keeping its own saved key).
    • frame

      @NotNull public MachineBehavior.Factory frame()
      A casing or glass: finds the structure; anchors it when it is the anchor block.
    • frame

      @NotNull public MachineBehavior.Factory frame(@NotNull @NotNull MultiblockMember.AnchorTask task, long everyTicks)
      A frame block whose anchor also runs task every everyTicks while the structure is formed.
    • valve

      @NotNull public MachineBehavior.Factory valve(@NotNull @NotNull List<String> storages, boolean exclusive)
      A valve: passes through to the anchor's storages. With exclusive, the structure holds one of them at a time (a tank holds a fluid or a chemical).
    • valve

      @NotNull public MachineBehavior.Factory valve(@NotNull @NotNull List<String> insertInto, @NotNull @NotNull List<String> extractFrom)
      A valve filling the anchor's insertInto storages and emptying its extractFrom ones.
    • modal

      @NotNull public MachineBehavior.Factory modal(@NotNull @NotNull List<String> insertInto, @NotNull @NotNull Map<String, List<String>> pushes)
      A valve or port with modes (a configurator cycles them): it fills the anchor's insertInto storages, and in each mode gives out the storages pushes lists for it (pushed to its neighbors, and taken by pipes). The block shows the mode (mode property, or active when not in input).
    • port

      @NotNull public MachineBehavior.Factory port(@NotNull @NotNull String storage, @NotNull @NotNull ToLongFunction<MultiblockStructure> outputRate)
      A port: passes storage in, or (in output mode) pushes it out at outputRate per tick.
    • port

      @NotNull public MachineBehavior.Factory port(@NotNull @NotNull String storage, @NotNull @NotNull MultiblockMember.PortRate outputRate)
      A port whose output rate also depends on the port block's options (D34).