- Add BlazeBurnerVisual
- Offload blaze burner's tickAnimation to flywheel when enabled
- Add generic scrolling instance type for the flame, to be re-used for
belts
- Mark flame model json as cutout
- Remove BeltLighter
- Replace AbstractPulleyVisual's usage of LightVolume with new
LightCache
- Remove Box, MutableBox, and LightVolume
- Use AbstractBlockEntityVisual#relight without the pos parameter when
possible
- Use ExtraMemoryOps where appropriate
- Remove unnecessary init methods
- Organize imports
- Use color as a multiplier instead of override
- Always use maximum of provided light and stored light
- Use stored overlay if overlay value is not provided
- Use shader light directions to calculate diffuse
- Require providing level when using level light
- Reuse objects
- Remove CutoutPartial
- Set render_type in models than need cutout
- Fix TrackVisual going invisible when renderers reload
- Fix TrackVisual not getting re-lit in some cases
- Bump flywheel version
- Track the min/max sections contraptions reported themselves in
- When the current min/max sections don't match, invoke the notifier
- Track the min/max block positions contraptions collected light from
- When the current min/max positions don't match, re-collect all light
- Invalidate light before collecting
- Minecraft does not rotate normals when you rotate a cuboid, which
manifests as incorrect diffuse lighting in-game
- Set forge's calculate_normals to true for all rotated BB cuboids
- Fix some stray UVs on diagonal belts
- Run through and fix a bunch of broken visuals
- Mostly things were missing setChanged
- Add CutoutPartial and BakedModel wrapper to force some partials to
render as cutout
- Remove CutoutRotatingVisual
- Update most visuals to use the partial ticked passed to init and in
VisualFrameContext
- Actually use light volume api stuffs
- Bit of a pain to try to iterate over sections based on an AABB
- Still need to handle when contraptions move
- Bump flywheel version
- Fix SBB model buffering passing empty instead of virtual model data,
resulting in blocks like shafts appearing invisible with Flywheel off
- Fix endAndCombine not null checking unshadedData before transferring
it
- Remove VirtualEmptyBlockGetter which already exists in Flywheel
- Use VisualEmbedding in ContraptionVisual
- Remove context shaders
- Directly use the model from the blockstate in VirtualRenderHelper
- Fixes many bes trying to use empty meshes because they correctly
identify as ENTITYBLOCK_ANIMATED
- Fix valves being unlit
- Fix bearing contraptions spinning way too fast
- Do not implement SimpleDynamicVisual in CarriageContraptionVisual,
that's taken care of by the base ContraptionVisual now
- Update to SimpleDynamicVisuals
- Translate old context stuff to new api
- Add contraption visual, doesn't fully work yet
- Strip out more FlwContraption stuff
- Bump flywheel build.
- Fix all(?) places where radians methods were passed degrees
- Add DiffuseLightCalculator.
- Add overlay to belt and rotating types.
- Use joml quaternions in instance types.
- Use our own model cache that's aware of virtual data.
- Fix memory write issues with instance types.
- Indirect works too, though the cull shaders are still incorrect.
- Comment out some stuff to get it to compile.
- Pull in ModelUtil virtual stuffs from old flywheel.
- Update build.gradle to always download sources/javadoc in IDEA.
- Down to 50 compile errors.
- Port over to new instance type builders.
- Move shaders and delete program specs.
- Switch #use to #include.
- Move content.kinetics.base.flwdata.* up a level.
- Move BeltInstance to the belt package.
- Make all instance fields public.
- All visuals have their compile errors sorted out*
- I realize that flywheel flipped the semantics of rotate so that it now
takes radians instead of degrees. I fixed everything I noticed but
this will need follow up.
- Implement collectCrumblingInstances for every visual.
* Flywheel needs to re-implement stealInstance
- Fixed Schematics failing to load when containing items with sensitive nbt #5680
- Fixed Turntable handler causing a crash during world shutdown #5696
- Cached outputs of BeltHelper.isItemUpright()
- Contents of a filter are no longer deserialised from item nbt each time a stack is tested
- FilteringBehaviour.getFilter() no longer creates a copy of the item
- MovementContext for contraption actors now have a shortcut to a cached filter from their corresponding BlockEntity
- Trains check their distance before running full collision tests
- Trains can no longer collide when on separate track networks
- Micro-optimised some streams and map value iterators