Custom Machinery 1.19.2-0.9.13
Additions :
-
Any recipe can now completely change the machine gui elements.
- Either use
"gui": [...]
in recipe json or.gui([...])
in CT/KJS recipes to specify gui elements to be shown only when that specific recipe is processing. - When the recipe start/end processing the gui will immediately adapt without players having to reopen it first.
- For CT/KJS integration the gui elements must still be written in json syntax, like they would be in the machine json.
- Either use
-
Every gui elements now have an
"id"
property.- This allows for recipe specific gui elements to override machine gui elements.
- Those which already had it (like slot, fluid, button...) just keep it like before (no changes are required).
- For those which didn't have it the new
"id"
property is optional so no changes are required either. - The only breaking change is the
"id"
property of dump gui element which was renamed to"tanks"
to avoid confusion.
-
Added
"custommachinery:empty
gui element type, an element that render nothing but can be used to replace another gui element when a recipe is processing. -
Added
/custommachinery reload
(or/cm reload
) command, which reload only machine json files (not recipes or upgrades).
Bugfix :
- Fix machine owner not saved when the machine is unloaded.
Custom Machinery 1.19.2-0.9.11
Additions :
- Added
.occlude()
property on KubeJS block builder to make the machine block full opaque. - Add "parent" property in custom machine json to make a machine inherit all properties of another machine.
The upgraded machine can also have some recipe modifiers attached to it that will be applied when processing recipes. - Add
ctx.success()
andctx.error("error")
methods for CT and JS function requirement context. The oldResult.success()
andResult.error("error")
methods still work but will be removed in the next MC version. - Allow adding items/blocks from other mods in catalysts.
- Added a "bar" gui element that can display a number value stored in the machine via CT/KJS scripts.
- Added Chinese translations, thanks to LingJiuQiSan.
- Added chunkload component to make the machine act as a chunkloader.
- Added chunkload requirement (Json, CT and JS) to make the machine act as a chunkloader only when a recipe is processing.
- Added utility methods to Machine object in CT/JS function requirement to enable/disable chunkloading.
Bugfix :
- Fix custommachinery.log not resetting before a reload.
- Fix shift-clicking on the structure requirement icon build the structure on a random machine rather than the nearest to the player.
Custom Machinery 1.19.2-0.9.10
Additions :
- Add "shape_collision" appearance property to customize collision shape of the machine independently of the render shape.
- Add "unique" property for fluid components.
Components with this property se to true won't accept fluids that already are in another tank of the machine.
Bugfix :
- Fix itemzoom render on top of the GUI instead of next to it.
- Fix config button texture not being resized when the width/height of the element is changed.
- Fix some bugs about experience component and element.
- Fix block tag ingredient can't take #tag syntax.
Custom Machinery 1.19.2-0.9.9
Additions :
- Added experience component, gui element and requirement
- The component can store player xp with configurable capacity, and can be set to give the stored xp to player when they take out items from specified slots (like vanilla furnace does).
- The gui element can be a button that allow the player to store/take 1, 10 or all levels to/from the machine (think EnderIO XP obelisk).
It can also display a bar showing the current amount of stored xp. - The requirement (available in Json, KubeJS and CraftTweaker as usual) can make a machine consume/produce a specified amount of xp points or levels.
- See wiki for more info about experience component, gui element and requirement.
- Thanks a lot to alec016 for making most of the work on that new feature.
- Added
"hold_time"
property for button gui element that define the time (in ticks) that the button will stay pressed before releasing (default 1 tick). - Fuel items will now prioritize fuel slots when shift clicked in the machine gui.
Custom Machinery 1.19.2-0.9.7
Additions :
- Add filter item component variant, make slot able to take ghost items instead of real items.
That can be used to make a filter slot for example. - Add item filter requirement (Json, KubeJS and Crafttweaker) that allows checking if a filter slot is set to a specific item.
- Add 'Configuration card' item, a tool for allowing players to copy-paste the component config of a machine to another.
Thanks a lot to andriihorpenko for his work on that feature.
Bugfix :
- Fix issue 92 (again) Crash with ConcurrentModificationException.
- Fix setBlock command place dummy machines when used for placing machine blocks created with KubeJS.
- Fix auto-input voiding energy of the neighbor energy storage. (Thanks again andriihorpenko)
Custom Machinery 1.19.2-0.9.6
Additions :
- Render type can now be set in custom machine blocks created in KubeJS startup scripts.
- Three render types are supported : solid, cutout and translucent (default).
- Set the render type using (for example)
.renderType("solid")
on the block builder.
Bugfix :
- Fix machines always using translucent render type instead of the one specified in the model json file. (For Forge only as Fabric doesn't have render type in models feature)