Skip to main content

Integrations

CraftEngine (required)​

CraftEngine provides every machine's block and item, and sends them to players in its resource pack. MachineEngine adds CraftEngine block behaviors (machineengine:machine, machineengine:transport), item behaviors (energy items, fluid containers, wrenches, upgrades, a storage reader) and templates β€” see Blocks and items.

  • A machine's data is saved with its CraftEngine block, in the world.
  • /ce reload reaches machines already in the world: they read their block's numbers (capacities, rates) again.
  • At startup and after each CraftEngine reload, MachineEngine logs any block or item that refers to a machine, transport, resource or upgrade type nobody registered.

zMenu (optional)​

With zMenu, right-clicking a machine opens its menu: ordinary zMenu inventory files in plugins/MachineEngine/menus/, with machine placeholders and button types for slots, upgrades and machine actions. See Machine menus. Without zMenu, machines work but have no menu.

Folia​

MachineEngine runs on Folia: each machine ticks on the thread of its region, and transfers between machines in different regions are handed over safely instead of touching the other region directly. Commands that change a machine run on its region's thread.

Vanilla blocks​

  • Hoppers, droppers and hopper minecarts move items in and out of machines through their ports.
  • Comparators read how full a machine is, like a chest.

Both can be turned off per block β€” see Blocks and items.

Other plugins​

  • Bukkit events: plugins that do not use the MachineEngine API can listen to machine events (create, load, process start and complete, interact…) β€” see Events.
  • Protection plugins: PlayerMachineInteractEvent fires before a machine menu opens and can be cancelled, so a protection plugin (or a small hook) can stop players from using machines they should not.