- Ejectors now occasionally track launched items, scanning for any obstacles in their trajectory
- Fixed rendered items passing an Ejectors' target on clients ticking faster than their server
- Removed outdated warnings for 'transposer funnels'
- SmartTileEntity#tick down to 3.32% from 11.64% cpu time.
- Measured by JFR over 2 sessions each >8min.
- Test world was the deployer fields.
- Iterating over HashMap values is slow.
- Collect TileEntityBehaviours into a list when the contents of SmartTileEntity#behaviours changes.
- Fixed Schematicannon clearing blocks outside of a Schematics' bounding box
- Safety check for onBlockPlacedBy with null player
- Deployers with a positioned Schematic as their filter will place blocks accordingly, taking items from the contraption inventory
- Adjusted Brass Tunnels once again to better deal with non-complete item transferrals
- Brass tunnels now always output to their sides first
- Thrown chromatic products are now gravity-less
- Sneaking on Ejectors bypasses them triggering
- Fixed ponder tag item listing
- Ejectors now trigger observers
- Fixed negative bottom pull distance in chutes
- Fixed smart chutes deleting non-stackable items
- Fixed chutes not able to output partial stacks
- Ejectors can now be paused with redstone
- Deferred ejector launches by one tick to 'unground' entities more consistently
- Quark magnets don't crash (already fixed).
- Fix quark magnet leaving behind ghost instances.
- Fix crash with belt lighting after being placed by contraptions.
- Simplify tile add/remove mixins and avoid conflict with Performant.
- Avoid FloatBuffer detour when uploading matrix uniforms.
- InstancedTileRenderer no longer has to clean up.
- Properly let go of tickable instances.
- Swich to tabs. (not everything is tabs yet)
- Refactor light and color attributes to their own Enum.
- Quaternion/pivot/position attribute shader.
- Always update an instance when the WorldRenderer checks if it should rerender a block.
- Simplify some names.
- Remove generics in InstanceData classes.
- Deployer Tiles now use the oriented material.
- Press heads now correctly orient themselves.
- ModelData buffers things faster and is simpler.
- Move it to the constructor.
- An instance is now discarded and recreated if TileEntityInstance#shouldReset return true.
- Mark a bunch of stuff final.
- Ponder scenes for depot, chute and smart chute
- Fixed saws and drains ejecting items when mounted funnel is backstuffed
- Fixed extracting funnels allowing items to be inserted by arms and belt input
- Vanilla items in ponder tags are marked purple instead of red
- Vertical funnels now block chutes
- Large cogs can no longer be placed right next to crafters or millstones
- Mechanical Arms now stall targeted belt items
- Shaders can now reference other files with #flwinclude <"...">.
- Shaders are now located in assets/flywheel/shaders.
- Include paths are namespaced (a la ResourceLocation) and relative to the flywheel shaders root folder.
- Optimized glsl rotations using quaternions (when applicable) and vectorized matrix construction.
- Vectorize diffuse lighting calculations.
- Micro optimization in SmartTileEntity.java
- Promoted actor instance creation to the ActorInstance class.
- Drills and Harvesters' rotational speed is based on their movement speed with Flywheel on.
- Deployers now use Flywheel.
- Fix funnels not rendering filter slot items
- Ponder scenes for the Deployer, Harvester and Plough
- Fixed uvs on Deployer model
- Ploughs can now harvest snow layers
- 'Backstepping' is now a button
- Added little labels for hovered buttons at the bottom
- Moved ponder/transition-specific logic out of the generic screen class
- Fixed TEs not ticking properly when wrap-around-skipping to a keyframe
- Added a block restoration instruction
- Scenes for the Saw
- runData catching up
- User no longer has to manually add instances, new hook instead.
- Use registrate for InstanceFactories.
- Instanced levers.
- Instanced hand cranks.
- Reorganize PhysicalFloat and LerpedFloat.
- Scenes for chassis, super glue, stickers and redstone contact
- Added a warning when players try to use experimental rendering while shaders are active
- Fixed idle instruction only idling for t-1
- Made keyframe skipping a little easier
- Added option to register keyframes as part of a text window builder
- PonderUI now stalls the scene briefly after skips
- Fixed basin auto-output not working on stopped belts
- Basin auto-output can now share a space with funnels
- Linear chassis no longer allow sticky sides facing a directly attached linear chassis of the same type
- Added user view mode for editors to hide coordinates
- Ponder now pauses the game in SP
- Ponder elements now use a separate timer and separate partial ticks
- Fixed virtual funnels not flapping
- Fixed ponder buttons having hover highlights when not clickable
- Fixed ponder button mouse hitbox
- Addressed strange render state bleed with identify mode highlighting
- Fix bug causing entities to slip off the far corners of bearing contraptions.
- This was already implemented for BearingLighter.java, now it's promoted to Contraption.java.
- Promote anonymous WrappedWorld in Contraption.java to inner class.