Custom Machinery
make your dream machine come true
Did you ever been in the situation where, when creating your awesome modpack, you wanted to add a custom recipe but no available machine in your pack match what you want ?
Like "I want a machine that takes 3 items, 5 differents fluids and some energy to create another item" but no machine can do that.
Or the case when you found a mod that add a machine that can fit your needs but the mod also add tons of stuff that you don't want in your pack.
Well this mod let you create your own machines using datapacks and add them in the game.
You can customise everything about your custom machine, from the appearance (model, textures, sounds, lightning, custom gui) to the functionality (how many inputs and outputs, their type and capacity) and of course you can add your own recipes that will be processed by the machine.
Currently a custom machine can :
- Have the appearance you want (item, block, or even a custom model).
- Have differents appearances based on it's status (idle/running/errored/paused).
- Emit light based on if the machine is processing a recipe.
- Play a sound when the machine is processing a recipe.
- Contains FE (Forge Energy, compatible with RF)
- Contains any fluid, you decide the number of internal fluid tanks, their capacity and max input and output.
- Contains any item, you decide the number of internal item slots.
- Have a custom GUI when you click on the machine, where you can see the contents of the machine and the progress of the recipe.
- Pause based on a redstone signal (configurable in the machine json)
- Emit a redstone signal based on it's status (also configurable in the machine json)
- Receive custom defined upgrades that change the processing of recipes (inputs/outputs/speed)
- Be configured to allow input or outputs of energy, items and fluid for each slot/tank/buffer for each side separately.
Currently a custom machine recipe can :
- Consume or produce FE (Forge Energy, compatible with RF) on a per-tick basis or in one time.
- Consume or produce any fluid on a per-tick basis or in one time, works with fluid tags.
- Consume or produce any item, works with item tags. Support NBT and durability.
- Process a recipe only at a certain time of the Minecraft world day.
- Process a recipe only at a certain world position, biome or dimension.
- Use a command when a recipe start, is processing or finish.
- Require the usage of a fuel item to burn (like the furnace).
- Consume or produce FE, fluids, items and use commands with a probablity (chance to be consumed/produced).
- Give effects to nearby mobs.
- Process a recipe only under a specific weather.
- Process a recipe only when the machine receive a specific redstone signal.
- Check for nearby entities, consume their health points or kill them.
- Check for a specific sky/block light level.
- Check/place/replace/break/destroy nearby blocks.
- Require a complex structure to be formed around the machine.
- Output items based on a loot table file.
- Drop or consume items on ground.
- Process Crafttweaker and KubeJS scripts.
You can find som examples of working custom machines here or download the Test Datapack.
You can download the Test Resourcepack to see how a custom json model can be applied to a machine (the "stone generator" in this example)
All of this can be made using a json file in a datapack, and all changes to this file can ba applied in-game with the /reload command, no reboot of the game are needed.
This mod comes with a full compatibility with JEI and The One Probe and the usage of these mods are heavily advised to use Custom Machinery in the best conditions.
You can create Custom Machines recipes via Crafttweaker too, see more here
You can also use KubeJS to create your recipes, see more here.
Wiki : All infos you may need to make your custom machines can be found on the wiki : https://frinn.gitbook.io/custom-machinery-1.18/
Issues : If you find any bugs or if you want to suggest a new feature or functionality : https://github.com/Frinn38/Custom-Machinery/issues
Discord : For questions or support, join the Discord Server : https://discord.gg/dw9tjY4eKY
License : This mod is licensed under the GNU LESSER GENERAL PUBLIC LICENSE you are free to use this mod in any modpack.