Summary
Sable's Vista compatibility mixin no longer applies, because its target class was removed/refactored in current Vista. The failure is silent (a startup WARN, no crash), and the user-visible result is that View Finders placed on a sub-level do not move their virtual camera with the sub-level — the camera stays at the world position where the View Finder was originally placed.
Environment
|
|
| Minecraft |
1.21.1 |
| NeoForge |
21.1.243 |
| Sable |
2.0.3 (sable-neoforge-1.21.1-2.0.3.jar) |
| Vista |
5.4.4 (vista-1.21.1-5.4.4-neoforge.jar) |
| Create Aeronautics |
1.3.0 |
Evidence
Startup log:
[main/WARN]: @Mixin target net.mehvahdjukaar.vista.common.view_finder.ViewFinderAccess$Block
was not found sable.mixins.json:compatibility.vista.ViewFinderAccessMixin from mod sable
[main/WARN]: Error loading class: net/mehvahdjukaar/vista/common/view_finder/ViewFinderAccess$Block
(java.lang.ClassNotFoundException: net.mehvahdjukaar.vista.common.view_finder.ViewFinderAccess$Block)
ViewFinderAccess$Block is not present in vista-1.21.1-5.4.4-neoforge.jar. The package now contains:
net/mehvahdjukaar/vista/common/view_finder/
ViewFinderBlock.class
ViewFinderBlockEntity.class
ViewFinderMenu.class
ReferenceFrame.class
WorldReferenceFrame.class
EntityReferenceFrame.class
YawPitchRestraint.class
EndermanLookResult.class
Vista appears to have moved to a ReferenceFrame abstraction (WorldReferenceFrame / EntityReferenceFrame).
Reproduction
- Install Sable 2.0.3 + Vista 5.4.4 on 1.21.1 / NeoForge 21.1.243
- Assemble a sub-level
- Place a View Finder on the sub-level and link it to a TV
- Move the sub-level
Expected: the virtual camera moves with the sub-level.
Actual: the camera remains at the original world position; the TV shows a static view of where the View Finder used to be.
Probable cause
With ViewFinderAccessMixin failing to apply, the View Finder falls back to WorldReferenceFrame (fixed world coordinates) rather than being given a sub-level-relative frame. A ReferenceFrame implementation backed by the sub-level's transform looks like the natural fix against the current Vista API.
Summary
Sable's Vista compatibility mixin no longer applies, because its target class was removed/refactored in current Vista. The failure is silent (a startup
WARN, no crash), and the user-visible result is that View Finders placed on a sub-level do not move their virtual camera with the sub-level — the camera stays at the world position where the View Finder was originally placed.Environment
sable-neoforge-1.21.1-2.0.3.jar)vista-1.21.1-5.4.4-neoforge.jar)Evidence
Startup log:
ViewFinderAccess$Blockis not present invista-1.21.1-5.4.4-neoforge.jar. The package now contains:Vista appears to have moved to a
ReferenceFrameabstraction (WorldReferenceFrame/EntityReferenceFrame).Reproduction
Expected: the virtual camera moves with the sub-level.
Actual: the camera remains at the original world position; the TV shows a static view of where the View Finder used to be.
Probable cause
With
ViewFinderAccessMixinfailing to apply, the View Finder falls back toWorldReferenceFrame(fixed world coordinates) rather than being given a sub-level-relative frame. AReferenceFrameimplementation backed by the sub-level's transform looks like the natural fix against the current Vista API.