- Auto-Organize inputs
- runData after lang PRs
- change runWhenOn to non-deprecated unsafeRunWhenOn, now that late forge version is required
- Address a few warnings
schematic rendering is fixed.
both of these are kinda ugly hacks, and there is definitely some rewriting necessary for when it's time to be more opengl compatible.
maybe fix belt lighting, again.
remove old belt assets.
- Added Gantry shafts and Gantry pinions
- Further attempts at stabilizing kinetic propagation
- Contraption types can now be added from external code
- Kinetic tile entities now have more control over kinetic propagation rules
- Added backend for loading schematic configurations globally for any component to see
- Encased chain drives are less likely to create a kinetic source loop when wrenched
- Piston and Pulley contraptions are less likely to overshoot targets at high speeds
- replace all usages of Minecraft.getRenderPartialTicks() with AnimationTickHolder.getPartialTicks()
- refactor stabilized and mounted lighters into one class
- separate fancy contraption render logic and entity render logic, should maybe move *all* rendering to ContraptionRenderDispatcher
- Mixers can no longer process single-item recipes
- Added processing recipes for items in AE2
- Fixed pams harvestcraft recipe catalysts not recycling properly
- Windmill bearings no longer assemble when the attached kinetics update
- Hose pulleys now display additional goggle info when their target fluid body is considered infinite
- Protected the natural scoria model from vertex-format changes made by optifine
- Andesite tunnels now split off single items to side outputs
- Fixed non-interpolated item animation on the Mechanical Saw
- Attempted fix to oriented contraption causing serialization issues
- Fixed mounted contraptions not updating yaw interpolation when stalled
- Fixed "shifting gears" advancement not triggering when using the cogwheel placement assist
- Schematicannons no longer cause pasted kinetic networks to be virtually interconnected
- Added sandstone -> sand; milling/crushing recipe
- Fixed Spouts duplicating container items in some configurations
- Fixed block cutting recipe outputs piling up beyond the gui boundaries
- Added chocolate and tea fluid tag #580
- Fixed item drain accepting stacks of items to empty
- Fixed basins mistakingly ignoring recipes with 4 or 9 equal ingredients
- Fixed schematicannon not able to place glass pipes, encased pipes, belt funnels and encased shafts
- Fixed race condition with other mods registering spawn eggs
- Belts no longer consume dye
- Tweaked placement constraints and control of cogwheels
- Chocolate and honey buckets can no longer stack
- Minecarts can now collide with non-mounted contraptions
- Attempted some optimizations to contraption lighting
- Fixed crash for schematics containing TE's that have no custom renderer attached
- Fixed broken filling recipes with virtual fluids of other mods
- Fixed Brass tunnels duplicating/deleting items
- Encased shafts and gearboxes can now join textures with respective casing blocks
- Added back encased shaft items for creative mode
- Fixed encased shafts able to be created with casing and cogs
- 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
- remapped seat tooltips
- remapped outdated lang keys
- applied changes of #395 to 1.15
- Fixed Schematic hotbar overlay sometimes drawing on top of the item icon
- Fixed mechanical arm lighting and render bounds issues
- Bell contraptions no longer causes a NullPointerException when they
are stopped
- Schematic usage shouldn't require a player to not be sneaking, and
changes the key to CTRL to match tool tips
- Arms can no longer feed random junk to a jukebox
- Arms are no longer oblivious to hot-swapped blocks in its target areas
- Arms can now directly extract from and insert to Deployers and Crafters
- Arms can now feed blaze burners
- Fixed brass funnels deleting items inserted into a full or stalled inventory
- Fixed brass funnels in hopper mode not showing amounts on filters when transferring between server-only inventories
- Arms & Deployers can now be paused using a redstone signal; stopping them after their next completed cycle
- Fixed zapper tools not applying changes when the screen is closed using the confirm button
- Reorganized valve handle registration
- Added more preliminary recipes
- Visual rework of all active UIs
- Fixed large scale renderers such as belts, cannons, pulleys to disappear when partially out of frame
- Schematic and Quill now has the ability to convert a selection to a readied schematic instantly
- Moved option input of cart assemblers to side faces
- Fixed crash when attempting to smelt items on belts/depots
- Stockpile switches can now be inverted
- Fixed stockpile switches not dynamically updating gui indicators frequently enough
- Tanks can no longer be directly interacted with in survival mode
- Sequenced gearshifts now emit a comparator signal based on their current instruction index
- The Piston instruction for sequencers can now accept distances up to 128m
- Fixed some rendering inconsistencies with symmetry mirrors
- Reworked symmetry mirror models to match the tool better
- Attribute filters can now add inverted conditions to the list
- Added the attribute "can be crushed"
- Made the schematicannon interface a little less confusing
- Fixed launched items of the schematicannon rendering warped
- 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