A modpack-maker toolset to create custom, massive, unique and complex machines and recipes from scratch with JSON or KubeJS.
The mod includes decorative casings and tiered, configurable tiers of item/fluid/energy input/output buses/hatches to allow for the creation of big multiblock machinery like Gregtech's Implosion Compressor, Vacuum Freezer, ... and whatever you might imagine.
The mod is intended as toolset for modpack makers and not meant to be just thrown into a pack and not modified at all. Adjust/Add/Remove recipes and machines to fit the pack you're creating!
This mod has also compat with KubeJS to create the recipes.
This mod needs a datapack loader to load the machines and recipe json
Discord : For questions or support, join the Discord Server : https://discord.gg/2XCPCVa59h
You can see the Test Datapack for example machines and recipe json.
You can see the Test KubeJS server script for example machine and recipe using kubejs
Original author: HellFirePvP
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 5d ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- fix redstone helper using non-existing classes on server side
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- add enum and component syncables
- fix: crash on core popup when reach certain level of active cores throwing max string packet limit (default)
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: crashing on world load on multiblock paused when clicking in show core info button [#108](https://github.com/alec016/modular-machinery-reborn/issues/108)
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: jei recipe crashing for a miss match package name between versions (jei - 19.38.0.366 is required now)
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- make default recipe behavior to not void inputs on error
- improve energy error message to reflect simulated extracted amount.
- fix #106
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- change: filter registration: Item -> ItemStack so it can use DatComponents to determine the filter conversion
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: slots in jei/emi in structure preview now showing correct amounts (max 64 - 1 unstackable items)
- fix: icon path not correct
- add: structure tool (vein miner mode), max configurable (with performance risks if increased) and only does the same type
- add: feedback message when clicked with structure tools with no paper.
- fix: fluid requirements always giving 1B in ae2 with EMI.
- add: configurable air-any in structure generation in box mode
- add: fluid hatches now can be configured to only accept certain fluid (use buckets to set the filter, does not consume it, or drag-drop from EMI/JEI)
- fix: some components(akka hatches) being duplicated and don't work as expected (specially chemical component)
- fix: ae2 not recognizing mmr slots with craftable items(blue slot in encoding terminal)
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: crash on creative tab search
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: fluid handler not using correct methods
- add: dynamic tooltips interval config
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: item component not using correct methods
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: items being removed twice on recipe processing
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: Fluid blocks not being shown in structure list(controller GUI), now shows as the fluid bucket
- improve: item removing
- add: dynamic tooltip generation
- fix: crashing client when clicking in a non-formed structure the core tab
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: JEI width/height caching per category ([PR#98](https://github.com/alec016/modular-machinery-reborn/pull/98))
- add: Crafting table item icon to Show Recipes tab
- change: machine lang key to use
.instead of/when no literal name is specified - add: uk_ua translation
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: force to have all possible states of IO even if are empty lists(no components for that IO)
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- change some checks to use interfaces instead of plain classes to improve compatibility and make possible some addons
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- add: extra tooltips event
- to add tooltips to each controller item(per id) or to the GUI controller of that machine id
- fix: ae2 encoding pattern not transferring fluids and xp correctly
- make multiblock checking not run while server is paused
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: core popup not being show correctly
- fix: machine blueprint not rendering structure
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- add: default info when only one core is running(items and fluids, amounts and chance)
- split structure creator item into 2(1 per mode) and add one template item to store the data
- either needs a paper or a template item to store the data, otherwise it will just pass to default interaction.
- fix: recipe priorities not being applied correctly
- add: reloading recipes in
/reloadand/mmr reloadcommands - // TODO: LOOK CORE GUI NOT WORKING CORRECTLY
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- add: controller models by machine status (KubeJS mantains current method to set for all states)
- fix: not updating correctly the structure on dedicated server
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: structure creator item not generating correctly kubejs script.
- fix: key mapping translation
- eventually and after a few tries(change the mode, switch to other slot and back to the structure creator item), the structure creator item will change between single and box, so you can use box to select an area and remove some of the blocks with the single mode
- fix: fluid handling, abstracted to a common one for all handling requirements(item, fluid,...)
- fix: auto input/output can access all sides that are not "accessible" internally
- fix: obtaining capability for a side that can be accessed
- add: structure preview in JEI/EMI if ldlib2 is present
- add: autoIO config per side, using the tab buttons or shift click on the side with the wrench
- fix: packet size making not syncing all multiblocks correctly
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: recipe modifiers (akka upgrades)
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- unified rendering of tab group tooltips to reduce code duplication
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: multiblocks not processing correctly recipes after world restart without breaking hatches and replacing
- fix: multiblocks not being checked on world load
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: crashing game on JEI rendering progress
- fix: machine being dummy after world restart
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- move: energy requirement to energyPerTick requirement
- add: energy requirement
- add: fluid per tick requirement
- add: experience per tick requirement
- add: durability per tick requirement
- add: args(strings) to requirement functions, access in the event through
.get(index)where index is the position argument starting from 0 - add:
.getEnergyCapacity(ioType)method to machine prop in FunctionRequirement - change: fluid requirements -> to use SizedFluidIngredient (now accepts tags[ONLY INPUT], output is still a FluidStack)
- update: to latest version of KubeJS, JEI and NeoForge
- improve: structure checking/caching
- add: negation to structure blocks/tags
- fix: textures in hatches growing over time
- progress arrow:
``
json5
//changed "progress_x" and "progress_y" for
"progress": {
"direction": "LEFT | RIGHT | TOP | BOTTOM", // default: "LEFT"
"position": {
"x": number, // default: 74
"y": number // default: 8
},
"emptyTexture": ResourceLocation, // default: "modular_machinery_reborn:textures/gui/empty_arrow.png"
"filledTexture": ResourceLocation // default: "modular_machinery_reborn:textures/gui/filled_arrow.png"
} // note: all textures must be under textures/gui
`
+ KubeJS(all properties are optional):
`js
// deleted: .progressX(number) and .progressY(number)
.progressData(
ProgressData.create()
.x(integer) // default 74
.y(integer) // default 8
.direction('left | right | top | bottom') // default 'left'
.emptyTexture(ResourceLocation) // default "modular_machinery_reborn:textures/gui/empty_arrow.png"
.filledTexture(ResourceLocation) // default "modular_machinery_reborn:textures/gui/filled_arrow.png"
// Other methods that can be used, after them you can use any of the methods listed above(except .create())
ProgressData.of(x, y, direction, emptyTexture, filledTexture)
ProgressData.of(x, y)
ProgressData.of(emptyTexture, filledtexture)
ProgressData.of(direction, emptyTexture, filledtexture)
ProgressData.of(x, y, emptyTexture, filledtexture)
)
`
- fix: sound not being fully played
- add: customizability to sounds
+ Sounds:
`json5
{
"ambient": {
"sound": "ResourceLocation", // same as before
"volume": number, // 0-Float.MaxValue default: 1
"pitch": number, // 0-Float.MaxValue default: 1
"source": "MASTER | MUSIC | RECORDS | WEATHER | BLOCKS | HOSTILE | NEUTRAL | PLAYERS | AMBIENT | VOICE", //default: BLOCKS,
"loop": boolean, // default: true
"attenuation": boolean, // default: true
"delay": number, // 0-Integer.MaxValue default: 0
"relative": boolean // default: false
} | "ResourceLocation", // this last part is the old one, with default values
"interaction": not changed
}
`
- add: fuel hatches
- add: fuel config file
- add: fuel requirement
`javascript
.requireFuel(amount)
.requireFuel(amount, data)
data: FuelData.create() // rest is the same as ProgressData (note: fuel is inverted, so, bottom means from top to bottom, this is the default behaviour)
FuelData.of(x, y, direction, emptyTexture, filledTexture)
FuelData.of(x, y)
FuelData.of(emptyTexture, filledtexture)
FuelData.of(direction, emptyTexture, filledtexture)
FuelData.of(x, y, emptyTexture, filledtexture)
`
- split configs to easier readability
- add:
.getFuelAmount() .getFuelCapacity() .addFuel(long amount) .removeFuel(long amount) to MachineControllerJS (akka Function Requirement)add effect requirement: `js
.giveEffect(effectId, time, level, entities[])
.giveEffect(effectId, time, entitites[]) // default level = 1
// effectId is a ResourceLocation, copy paste the one that you use in /effect give commond
// entities[] is a list of ResourceLocation of entity types to make that only those ones will affect the effect, otherwise it will affect all entity types
// you can use .giveEffect(effectId, time, level, entityType1, entityType2,...),
// no explicit array is needed
`
- change icons of biome, experience, experience per tick weather, time, height, chunkload and dimension requirements(now it doesn't need position, are placed like icons at the bottom)
- add: entity requirements (check amount, check health, kill, spawn, damage and heal)
`js
.healEntitiesInRadius(int radius, int amount, ResourceLocation... filter)
.healEntities(int amount, ResourceLocation...filter)
.hurtEntitiesInRadius(int radius, int amount, ResourceLocation... filter)
.hurtEntities(int amount, ResourceLocation...filter)
.checkEntitiesAmountInRadius(int radius, int amount, boolean whitelist, ResourceLocation...filter)
.checkEntitiesAmountInRadius(int radius, int amount, ResourceLocation...filter)
.checkEntitiesAmount(int amount, boolean whitelist, ResourceLocation... filter)
.checkEntitiesHealthInRadius(int radius, int amount, boolean whitelist, ResourceLocation...filter)
.checkEntitiesHealthInRadius(int radius, int amount, ResourceLocation...filter)
.checkEntitiesHealth(int amount, boolean whitelist, ResourceLocation...filter)
.checkEntitiesHealth(int amount, ResourceLocation...filter)
.killEntitiesInRadius(int radius, int amount, ResourceLocation...filter)
.killEntities(int amount, ResourceLocation...filter)
.killEntity(ResourceLocation...filter) // amount = 1
.spawnEntitiesInRadius(int radius, int amount, ResourceLocation type)
.spawnEntities(int amount, ResourceLocation type)
.spawnEntity(ResourceLocation type) // amount = 1
// default radius = 1
// default whitelist = true
`
- add: entity hatches (detect, kill, damage, spawn and heal)
- add: structure requirement
`js
.requireStructure(MMRStructureBuilder.createRequirement()*) // cecks structure
.destroyStructure(MMRStructureBuilder.createRequirement()*) // breaks without drops
.breakStructure(MMRStructureBuilder.createRequirement()*) // breaks with drops
.placeStructure(MMRStructureBuilder.createRequirement()*) // drops replaced blocks
.placeStructure(MMRStructureBuilder.createRequirement()*, boolean drops)
//* rest same as building multiblock except machine key, change m with $
`
- add: structure checker hatch
- add: redstone requirement(require and emit flat amount)
`js
.requireRedstone(int amount)
.emitRedstone(int amount)
`
- add: redstone port (hatch for both, input and output, set the mode with the GUI button inside)
- add: command requirement
`js
// default permissionLevel = 2
// default log = false
// commands must start with /
.runCommandOnStart(String command)
.runCommandOnStart(String command, int permissionLevel)
.runCommandOnStart(String command, boolean log)
.runCommandOnStart(String command, int permissionLevel, boolean log)
.runCommandEachTick(String command)
.runCommandEachTick(String command, int permissionLevel)
.runCommandEachTick(String command, boolean log)
.runCommandEachTick(String command, int permissionLevel, boolean log)
.runCommandOnEnd(String command)
.runCommandOnEnd(String command, int permissionLevel)
.runCommandOnEnd(String command, boolean log)
.runCommandOnEnd(String command, int permissionLevel, boolean log)
``- add: command executioner(hatch)
- add: auto input and auto output features (configurable through the hatch UI, default enabled)
- add: Jade/TheOneProbe fuel, redstone, effect and auto input/output status
- caching structure to reduce constant checks(now only checks on world load and periodically if the structure is not
- add: connectable textures (only works if the textures are the default version, in the case of controller, only if
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- add: EMI/JEI empty requirements for energy, fluid and item
- fix: experience click button can not access to the proper type
- fix: sounds still being played after breaking machine
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: clicking
Show Recipeswith EMI installed and not fully loaded or with dummy controllers crashing the client - fix: remove ticking from unnecessary block entities
- add: non controller key
_, easier to block sharing multiblocks. - add: JEI/EMI render only requirements
- add: possibility to hide recipes in JEI/EMI but still work in game.
- add: energy, fluid and experience item slots in hatches.
input: experience bottle -> gives 7xp points and remove bottle.output: glass bottle(1 at a time) -> consume 7xp points and gives bottle o'enchanting
input: gives contentsoutput: extract contents- improved: energy output hatch -> auto-output energy to adjacent blocks that can handle NeoForge Energy (FE/RF
- fix: experience requirement(output) not being processed at the end.
- Remember backup your world before update.
- Break and place energy, fluid, item and experience hatches to proper update new features and fixes.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: input and output slots not being remembered after world unload/load
- fix: structure throwing an error while trying to place structure
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- fix: crashing on ticks due to integer max value issue.
- update:
+ Make text in controller screen green on the blocks that you have in the inventory.
+ If there is more than one block in the list(like tags or block list) the first line between parenthesis is the
current displayed block(in orange)
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.
- Update translations: zn_ch pt_br
- fix: crashing when a recipe currently processed bya a machine is removed on /reload
- improve KubeJS recipe logging in case of wrong usage
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
- This version is not compatible with any version below 2.0.0 of any addon.