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 reloadreaches 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:
PlayerMachineInteractEventfires 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.