CHANGELOG 3.0.1
ADDITIONS AND CHANGES
- fix: crashing game on JEI rendering progress
- fix: machine being dummy after world restart
RECOMENDATIONS
- 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.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 3.0.0
ADDITIONS AND CHANGES
- 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:
- JSON(all properties are optional):
//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):
// 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:
{ "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
.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:
.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)
.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
.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)
.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
// 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 complete, breaking a block that is on that structure)
- add: connectable textures (only works if the textures are the default version, in the case of controller, only if it is the default model [using athena mod, now it's a required dependency])
RECOMENDATIONS
- 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.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.5.1
ADDITIONS AND CHANGES
- 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
RECOMENDATIONS
- 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.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.5.0
ADDITIONS AND CHANGES
- 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.
- experience hatch item slot:
input: experience bottle -> gives 7xp points and remove bottle.output: glass bottle(1 at a time) -> consume 7xp points and gives bottle o'enchanting
- energy, fluid hatches item slot:
input: gives contentsoutput: extract contents
- experience hatch item slot:
- improved: energy output hatch -> auto-output energy to adjacent blocks that can handle NeoForge Energy (FE/RF commonly called)
- fix: experience requirement(output) not being processed at the end.
RECOMENDATIONS
- 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.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.7
ADDITIONS AND CHANGES
- fix: input and output slots not being remembered after world unload/load
- fix: structure throwing an error while trying to place structure
RECOMENDATIONS
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.6
ADDITIONS AND CHANGES
- fix: crashing on ticks due to integer max value issue.
- update:
- Move check icon on controller screen to the left side.
- 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)
RECOMENDATIONS
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.5
ADDITIONS AND CHANGES
- 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
RECOMENDATIONS
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.4
ADDITIONS AND CHANGES
- fix: repair durability not being processed
- fix: controller not remembering processed requirements after world restart
- fix: recipe progress ending while the machine is errored, sometime loosing outputs
- fix: machine recipes taking 1 more tick than specified
RECOMENDATIONS
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.3
ADDITIONS AND CHANGES
- redo: hatch types (mainly for pack devs and addon devs)
- improve structure renderer to use tinted block colors
- add: structure renderer now renders barriers on invalid blocks to help users identify which blocks are invalid
RECOMENDATIONS
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.2
ADDITIONS AND CHANGES
- add: durability hatches, requirement and recipe modifier stuff.
- fix: hatches/buses don't loading previous data on world load.
- fix: item container hatches not updating contents on GUI sometimes.
- fix: some controller screen duplicated rendering and add tooltip rendering on paused state.
- fix: correct test datapack and KubeJS examples
RECOMENDATIONS
- Remember backup your world before update.
- Update every addon you have to improve compat and don't break things.
WARNING
- This version is not compatible with any version below 2.0.0 of any addon.
CHANGELOG 2.4.1
ADDITIONS AND CHANGES
- add: coloring customizability per machine:
- KubeJS ->
.skipColor() // never try coloring.forceColor() // always try coloring - JSON ->
"should_color": true"should_color": false
- KubeJS ->
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.4.0
ADDITIONS AND CHANGES
- update: tab rendering now uses icons or items
- add: hatch customization by type, tier and mode(addons not implemented yet)
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.3.2
ADDITIONS AND CHANGES
- fix: item requirements with data components(NBT) always throws error on load
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.3.0
ADDITIONS AND CHANGES
- fix: function requirement not being processed
- update: item bus screen. Fully configurable on the config
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.2.2
ADDITIONS AND CHANGES
- fix: config miss-match property name
- update: machine modifier getting and sync
- update: message error on machine build error from kubejs
- fix: machine modifiers getting on every recipe check multiple times(due to missing ones)
- fix: machine modifiers not being applied correctly
- add: KubeJS Function Requirements see the KubeJS example script for more info
- update: kubejs example script with changes and additions
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.2.2
ADDITIONS AND CHANGES
- fix: config missmatch property name
- update: machine modifier getting and sync
- update: message error on machine build error from kubejs
- fix: machine modifiers getting on every recipe check multiple times(due to missing ones)
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.2.1
ADDITIONS AND CHANGES
- fix: unsupported KubeJS version
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon
CHANGELOG 2.2.0
ADDITIONS AND CHANGES
- updated NeoForge version to: 21.1.143
- updated JEI version to: 19.21.0.247
- updated EMI version to: 1.1.21
- updated Jade version to: 15.10.0
- updated TheOneProbe version to: 1.21_neo-12.0.4-6
- update: kubejs script to new version
- add: parallel processing.
- add: height requirement
- add: height meter block
- add: item tags so it can be used on recipes
- add: configure structure messages.
- add: replaceable tag so the auto-build can replace blocks even on survival mode.
- add: showing recipe tab button (JEI/EMI).
- add: info about cores tab button.
- add: recipe duration in arrow icon hover.
- remove: recipe duration text.
- update: Jade/TOP info about running machine, now don't display the current progress, just running cores, to see the progress see the core info tab button.
- update: recipe modifiers not being able to use multiple blocks for the same type on the same spot but with different modifier value.
- update: recipe modifier type: duration -> speed.
- fix: recipe modifiers not being synced between server and client.
- fix: structure preview not cycling between blocks.
- fix: items in gui not being updated.
- fix: recipe modifiers not being placed correctly with auto-build feature(not being correctly rotated).
- fix: processing with data components not working properly sometimes.
- fix: sometimes recipes eats inputs and don't produce output.
RECOMENDATIONS
- Update every addon you have to improve compat and don't break things
WARNING
- This version is not compatible with any version below 2.0.0 of any addon



