- More cleaning up and major refactoring in Contraption entity implementation (needs testing)
- Minecarts can no longer be mounted on seats
- Mechanical bearings now "stabilize" rotation of a contraption with an attached sub-contraption
- Updated wrench model (Kryppers)
- Funnels on depots and perpendicular to belts use a new model
- Funnels at the end of belts
- no longer have a directional constraint
- can now be extended/retracted manually
- now hold items back at the block boundary
- Extracting Funnels on top of belts can now specify an amount no their filter, taking x items off a nearby stack when possible
- Fixed some issues with belt/funnel interaction
- Items reaching the end of a belt will still be regularly checked by perpendicular funnels in the space
- Contraptions now render blocks in appropriate render layers
- Straight diagonal Chutes now create an intersection when a funnel is directly above them
- Attempted a safety fix to bracket removal from shafts and cogs
- Fixed windmill structures not stalling when their attached network is overstressed
- Added wooden and metal brackets
- Brackets can be applied to shafts, cogs and fluid pipes
- Brackets prevent pipes from connecting to adjacent pipes
- Fixed blockzapper not showing up in the searchable creative menu
- Added config values for hose pulleys
- Hose pulleys now extinguish lit waterloggable blocks
- Hose pulley now break blocks that cannot withstand vanilla fluid flows
- Spout is now wrenchable
- Fixed spout not activating properly
- Added fluid particles that supports fluids without a block variant
- Potion fluids now apply their effects to nearby entities when spilling from an open end
- Fixed pumps not rendering fluid particles when spilling/pulling fluids directly
- Hose Pulley no longer accepts fluids that cannot be placed
- Hose Pulleys and open pipes can no longer place water in the nether
- Some Refactors to the particle system
- Reverted reversed crtl activation for schematic tools
- Added a command to fix broken lighting in some of creates models (enables experimental forge block rendering)
- Fixed fluid ingredients in jei once again
- Fixed fluid tag ingredients being resolved on the client
- The collision response now (semi)-supports yaw-pitch combined rotations of contraptions
- Attempted collision and rendering of contraption couplings moving up and downhill
- Fixed sychronization issues of a mounted contraptions' initial orientation
- Contraption couplings no longer render the virtual coupling connection
- Entities can no longer mount the cart connected by another carts' contraption
- Contraption coupligs no longer rotate backwards when opposite couplings are added onto it
- Minecarts no longer deadlock each other when one of them had stalled due to an unloaded coupling end
- Cart assemblers only disassemble coupling contraptions if both carts are within an inactive cart assembler
- Fixed interactions between coupling contraptions and furnace/chest minecart invs
- Added a straight pipe variant to cut flows using rotational input
- Added a slower more precise variant of the hand crank
- Basins now render their contained fluids
- Brass tunnels once again have the ability to synchronize inputs among a chain
- Mechanical arms now have a range limitation
- Mechanical arms now wait with initialization until their area is fully loaded
- Chutes no longer ignore the direction of an attached fans air flow
- Chutes now render particles indicating their movement direction
- Chutes can now pull items up from belts or off the ground
- Fixed item model of shadow casing
- Fixed invisible quads under funnels when no casing is applied to the belt
- Belt mounted funnels can now be perpendicular to the belt theyre on
- Funnels can now transpose items like a hopper when facing down
- Reworked and cleaned up Create's ProcessingRecipes
- Prepared ProcessingRecipes for fluid ingredients and outputs
- Added datagen infrastructure to ProcessingRecipes
- Migrated all hand-written ProcessingRecipes to generated
- Removed scrollinput on mixers
- Fixed recipe lookup cache not invalidating on datapack reload
- Removed "catalyst" ingredients
- Implemented reworked chute models by Kryppers
- Implemented new basin model by Kryppers
- Chutes now have proper selection bounds
- Some minor texture & model touch-ups
- Fixed symmetry wand position in its GUI
- Fixed some inconsistencies with a tanks' fluidhandler invalidation when resized
- Patched crashes in present fluid handling of the basin
- Tanks now slightly shade horizontal faces of the contained liquid
- Tanks no longer resend data every tick when filled gradually
- Introduced a new lerped value type with better design decisions
- Refactored Smart tileentity serialization to better support custom overrides in contained behaviours
- Pumps propagate flows in the pipe networks in front and behind itself.
- Pumps collect all possible in and outputs across the reachable pipe graph as endpoints
- Flows move across multiple branches of a pipe network when both are equally viable
- Open-ended pipes are treated as endpoints and leak fluid into and out of a block space
- Open endpoints serialize stateful information about fluid units gathered and held at the interface
- Open endpoints turn a fluid block into 1000 fluid units and back
- Open endpoints undo their transaction when their flow changes from pull to push
- Open endpoints cannot pull fluids back when a full liquid block was not placed yet
- Open endpoints waterlog blocks when the provided fluid is water
- A collision response is triggered when different types of fluids meet at open endpoints
- Fluids are transferred instantly by the throughput of a completed flow per tick
- Pumps cut flows when vital pipes are removed
- Pumps do not lose progress of finished flows when an unrelated part of the pipe network changes
- Pumps do not lose progress of finished flows when reversed
- Pumps distribute their throughput across available input flows evenly
- Pumps distribute gathered input fluid across outputs evenly
- Pumps expose furthest reachable pipefaces to other pumps for chained transfer
- Chained pumps with fully overlapping flow sections provide their endpoints at the entrance of the other pump
- Chained pumps with overlapping flow sections participate in two shared endpoints, one for each pump dominating the contested region
- Chained pumps with overlapping flow only transfer via the optimal of the two possible endpoints based on their speeds
- Chained pumps of equal speed pick one of the two available endpoints deterministically
- Pumps transfer without flows when no pipe is between the pump and the endpoint
- Pumps serialize and recover stateful information about held fluid units at open endpoints
- Chained pumps do not actively transfer when both are partaking with push flows (or both pulling)
- A pull flow originating from an inter-pump endpoint only commences when the corresponding push flow is completed
- Chained pumps re-determine the optimal flow when the speed of one is changed at runtime
- Throughput of chained pumps is determined by their weakest link in terms of speed
- Endpoints created for chained pumps is treated equally to other available endpoints when fluid is distributed
- Pipes do not contain a physical amount of fluid.
- Pipes never hold serialized vital stateful information about fluid transfer.
- Pipes synchronize local flow progress and fluid type to clients
- Flows in a pipe progress with the speed of the network flow
- A networks flow speed depends on the speed of the aggregated pump
- Pipe flows of different flow graphs of different pumps interact with each other
- A collision response is triggered when two different types of fluid meet within a pipe
- Pipes spawn particles to illustrate contained flows/liquids of flows
- The fluid transfer role is exposed through a TE behaviour with some callbacks and properties
- Open endpoints show particles when interacting with in-world fluids
- Any living entity can now use seats
- Fix client sync issues with seats
- Fixed contraptions double-reversing roll and pitch values when communicating to the collision engine
- Seats now transfer their passengers to a contraption when moved and back when disassembled
- Attempted further refinements to the collision response of horizontally rotated contraptions
- Set up a hook to inject custom interaction between players and contraption mounted blocks on right-click
- Seats can now by mounted by players while assembled to a contraption
- Minor refactors to the contraption class
- Collision separation now supports motion sweeping in order to avoid tunnelling when entities drop onto contraptions from a greater height
- Further improved the collision response
- Entities can no longer be clipped into solid walls by the collision response
- Brass tunnels now visually connect for upcoming splitter functionality
- Added a tileentity behaviour that allows separate filtering for each face
- Added filtering to brass tunnels
- The arm blockitem can now be used to select inputs & outputs
- Arms now transfer items between inputs and outputs
- Arm support for Belts, Depots and Funnels
- Some safety checks in net code
- Minor refactor to NBTHelper
- Depots can now hold on to items similarly to belts
- Item processing such as the press and bulk smelting now targets a Processing TE behaviour, rather than the belt only
- The press and similar processing can no longer commence whenever there is a block with a collision shape between item and machine
- Implemented item processing for Depots
- Items can seamlessly traverse from belts to depots
- Fixed encoding of generated degree symbols in lang
- Fixed pistons along x moving at inconsistent speeds, overshooting their bounds
- Fixed belts along x not moving entities
- Fixed diagonal belts along z teleporting entities miles away
- Fixed tree fertilizer not working
- Removed temporary lang partial with entity names
- Fixed and Refactored the item renderers of the Wrench, Blockzappers, Worldshapers, Symmetry Wand and Deforester
- Tweaked blockzapper beam rendering to look less clunky
- Fixed selection of zapper tools not showing after they had been dual-wielded
- Schematic previews can now render TEs
- Schematic renderer no longer relies on negative scale and noCull for mirrored previews (fixes a few inconsistencies)
- Avoided blending issues with the outliner system when using multiple textures throughout a batch
- Introduced SuperRenderTypeBuffer as an attempt to give options for render order in the RWLE context (does not fix the early flushing in the fallback buffer)
- All Items are now using registrate
- Blockzapper now renders an outline around its affected area
- Ported rainbow debug ™️
- Reworked the custom item model/renderer system
- Schematics now preview their structure again
- SuperByteBuffers now support being rendered into non-BufferBuilders
- Fixed all TERs that had their transformations backwards
- Fixed contraptions not rendering tileentities when not near world origin
- Fixed Schematic table crashing on upload
- Made more kinetic blocks non-opaque
- Ported the contraption renderer
- Fixed sticky blockstates of the linear chassis
- SuperByteBuffers can now be given a separate matrixStack for vertex lighting
- Kinetic TERs now make use of the passed light parameter