Custom Machinery 1.18.2-0.8.0
Additions :
- Complete overhaul of the machine json parsing code, allowing for more flexibility.
The syntax is exactly the same, so you should not need to change anything in your machine json.
This new system allow some things that were previously considered errors, including :- Both
"true"
andtrue
can be used for boolean properties. - Same for numbers, both
"1"
and1
are allowed. - Properties names are now case-insensitive, and both
'_'
and' '
characters are ignored.
Example, for a property named"auto_input"
the following names are allowed : "autoinput", "auto input", "AuToInPuT", "autoi_nput"...
- Both
- A new property named
"cooldown"
has been added in the machine processor json (see wiki) to customize the time between 2 recipe checks when the machine is idle.
A lower number will make the machine choose a recipe quicker but may cause lag. Default is 20 ticks (1 second). - Fluid and energy slots are now highlighted when hovered in the machine gui.
- Dump gui element button is now able to dump energy and items as well as fluids. The type of component to dump can be specified using
"component"
property of the dump gui element (fluid by default).
Bugfix :
- Fix when an element in a list has an error the whole list is ignored.
Example if any gui element has an error all gui elements are ignored.
Now only the erroring element will be ignored, an error will be logged and the remaining elements will be parsed correctly. - Fix custom item model not working.
- Fix energy gui element rendering red rectangle instead of filled texture in jei.
- Fix item component filter being ignored when placing the item in the slot from the machine gui.
- Fix dump gui element not working.
Custom Machinery 1.18.2-0.7.6
Additions :
- Add a way to store custom data in the machine through KubeJS or Crafttweaker (See wiki at Function requirement -> Machine -> data).
Bugfix :
- Fix recipe processing only once if the machine inventory didn't change since last check.
- Fix I/O config popup can't be dragged and doesn't update tooltips when clicking on the buttons.
Custom Machinery 1.18.2-0.7.5
Additions :
- Make machine shape rotate depending on the machine facing.
Bugfix :
- Fix MachineJS.removeItemFromSlot method returning the items in the slot instead of the removed items.
- Fix item component capacity ignored by shift click in machine gui.
- Fix machine recipe progress time reset when exiting the game/unloading chunk.
- Fix weird shadows on machine (again), smooth lightning now works properly but only if the forge experimental light pipeline is enabled.
Custom Machinery 1.18.2-0.7.2
Additions :
- Update to jei 10 as it's now marked as BETA and not ALPHA.
- Position, Redstone and Light requirements now use "Range" syntax, old "comparator" syntax won't work anymore and need to be changed (see the wiki).
- Improved KubeJS integration error handling, recipe errors will now be displayed in chat when using "/kubejs errors" command.
- Make custom model folders configurable, default to "models/machine" and "models/machines".
- Added "fluid" item component variant, can be used to make a slot able to fill/drain the machine internal fluid tanks from/to the item placed in that slot.
- Added "energy" item component variant, can be used to make a slot able to insert/extract the machine internal energy buffer from/to the item placed in that slot.
Bugfix :
- Fix "hardness" appearance property that can't have a value of -1 (unbreakable).
- Fix texts in mod config gui.
- Fix placed machine components not updated when using /reload after changing the json.
- Fix machine model not working with sodium (Fabric). Note that Indium is needed to use sodium and CM without issues.
- Fix machine block and inventory not dropping when broken by player on fabric side.
Custom Machinery 1.18.2-0.7.1
Additions :
- Added craft recipes, this is a different recipe type ("custom_craft" instead of "custom_machine").
- Craft recipes can be used to make the machine behave like a crafting table, the output item will appear in the result slot if all requirements check passed and the whole recipe will be instantly processed when the output item is taken by a player.
- Added KubeJS integration for craft recipes.
- Added CraftTweaker integration for craft recipes.
- See wiki for more info.
Bugfix :
- Fix item component filter being ignored.
- Fix some packets causing a crash on forge.
Custom Machinery 1.18.2-0.7.0
Port to Architectury :
- Architectury is a modding tool that let modders write mods for both Forge and Fabric launchers at the same time.
- From now on Custom Machinery will release two files for each update, one for Forge and one for Fabric.
- The two versions are pretty much identical feature and syntax wise, the actual wiki can be used by both Forge and Fabric users.
- This version may and will contain tons of bugs, if you have any issues using CM report them to me on Discord or GitHub.
Additions :
- Add auto input and output for Item, Fluid and Energy requirements, this behaviour is disabled by default. I can be enabled in the machine json (see wiki) or in the machine gui using the "config" button (if present in the machine gui elements).
- Add the ability do disable side config for a specific component when using the config gui.
- Changed the syntax of Time requirement, if you use it (in json, CT or KJS) you have to switch to the new syntax, or it won't work. The new syntax (using ranges) is more powerful and allow you to easily choose exactly at what time the recipe should run.
- Upgrade items will now prioritize going into upgrade slots instead of normal slots when shift clicked.
- "item" property in slot gui element is now named "ghost" and a few properties to tweak the color, transparency and behavior of the ghost item were added.
Bugfix :
- Fix error in durability requirement that prevent players from connecting to server.
- Fix a crash when using building gadget copy-paste gadget on a CM machine.
Custom Machinery 1.18.2-0.6.7
Additions :
- Add setEnergy, setItem, setFluid methods in Machine for Crafttweaker function requirement.
- Add item transform requirement, allow to consume and produce an item while keeping its nbt data.
- Add CT and KubeJS integration for item transform requirement.
Bugfix :
- Fix block requirement check amount change when using speed upgrades.
- Fix machine appearance reset to idle when machine is loaded.
Custom Machinery 1.18.2-0.6.6
Bugfix :
- Fluids are now input in priority in tanks that already contains the same fluid.
- Fix weird shadows on faces of models that are not full cubes, just make sure to set the machine render shape to something smaller than a full cube.
- Fix "Cannot invoke MapJS.toNBT because nbt is null" error when using some requirements with kubejs.
- Fix jei not showing some recipes
- Updated to the latest forge version, the mod now requires forge 40.1.67 or above.
Custom Machinery 1.18.2-0.6.5
Additions :
- Make "tool_type" appearance property a list. Use it to define multiple tools that can break the machine.
- Add "requires_tool" appearance property. Default : true, if set to false the machine will drop when broken with any tools.
Tools specified in the "tool_type" property will still be faster than other tools.
Note : "hand" is no more a valid tool type, instead you can set "requires_tool" to false for making the machine breakable by hand. - Add "interaction_sound" appearance property, allowing to mimic another bloc sounds when placing/breaking/etc.. the machine.
- Renamed "sound" appearance property to "ambient_sound" to avoid confusion with the new property. This property can now play sound when the machine is in any status instead of just "running".
- Add "break" property to durability requirement to toggle if the requirement can break items.
- Add "resetOnError" recipe property, set it to true to make the recipe reset when a requirement throw an error instead of setting the machine to error status.
- Remade machine upgrades, json syntax is the same but CT and KubeJS syntax changed and should be remade.
(Sorry, see the wiki for new syntax)
Bugfix :
- Fix jei "show recipe" is rendered at the position of the progress arrow in jei screen even if the arrow in machine gui is at a different position.
- Fix pipes are able to connect to sides that can't accept or send anything.
- Fix item output requirement not working with nbt.
Custom Machinery 1.18.2-0.6.4
Additions :
- Add I/O side config for item, fluid and energy components, machine maker can define default I/O mode for each side of each component in the machine json.
- Add 'config gui element', if added to a machine gui in the machine json, the player can click on it to display the I/O side config gui for the machine, and change the I/O mode for each side for each component of the machine.
- Add a few utility methods in MachineJS (Kubejs function requirement), Thanks BordListian for his PR.
- Add chance and delay properties for block, entity and effect requirements.
Bugfix :
- Fix jade displaying too many decimals in the recipe progress bar.
- Fix jade displaying a progress bar [0/0] when no recipe is processing.
- Fix ghost item feature in slot gui element can mess up other element position.
- Fix fluids and items in jei can't be in a slot/tank that don't have a component.