- 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.