How techtastic/tis-vs works
TIS-VS is a TIS-3D addon for Valkyrien Skies 2. A player installs a sensor module, which reads ship motion or raycast/map state and sends encoded values through TIS-3D ports; the Framed Map protocol exposes map-relative coordinates over serial. The common module registry and Fabric/Forge entry points register these features. README-listed altitude, distance, gyroscopic, omega, velocity, and Framed Map capabilities are preserved. Wiring for unsampled module implementations is limited to documented feature membership and known registry structure.
Main entry points: TISVSModules.kt Module registry · DistanceModule.kt Distance sensor · GyroscopicModule.kt Gyroscopic sensor · OmegaModule.kt Omega sensor
Components 19
Common Runtime
- Mod initialization
common/src/main/kotlin/io/github/techtastic/tisvs/TISVS.kt - Module registry
common/src/main/kotlin/io/github/techtastic/tisvs/module/TISVSModules.kt - Game rules
common/src/main/kotlin/io/github/techtastic/tisvs/TISVSGameRules.kt - Half-float encoding
common/src/main/kotlin/io/github/techtastic/tisvs/util/HalfFloat.kt - Manual providers
common/src/main/kotlin/io/github/techtastic/tisvs/manual/TISVSManual.kt
TIS-3D Modules
- Altitude sensor
common/src/main/kotlin/io/github/techtastic/tisvs/module/altitude/AltitudeModule.kt - Distance sensor
common/src/main/kotlin/io/github/techtastic/tisvs/module/distance/DistanceModule.kt - Gyroscopic sensor
common/src/main/kotlin/io/github/techtastic/tisvs/module/gyroscopic/GyroscopicModule.kt - Omega sensor
common/src/main/kotlin/io/github/techtastic/tisvs/module/omega/OmegaModule.kt - Velocity sensor
common/src/main/kotlin/io/github/techtastic/tisvs/module/velocity/VelocityModule.kt - Raycast helper
common/src/main/java/io/github/techtastic/tisvs/util/RaycastHelper.java
Serial Protocol
- Framed Map interface
common/src/main/kotlin/io/github/techtastic/tisvs/serial/custom/FramedMapSerialInterfaceProvider.kt - Serial registry
common/src/main/kotlin/io/github/techtastic/tisvs/serial/TISVSSerialInterfaces.kt
Loader Registration
- Fabric entry point
fabric/src/main/kotlin/io/github/techtastic/tisvs/fabric/TISVSFabric.kt - Forge entry point
forge/src/main/kotlin/io/github/techtastic/tisvs/forge/TISVSForge.kt
Other components
- Player
- Valkyrien Skies 2
- TIS-3D
- Manual content
Connections 40
- Player → Altitude sensor: installs/configures
- Player → Distance sensor: configures
- Player → Gyroscopic sensor: configures
- Player → Omega sensor: configures
- Player → Velocity sensor: configures
- Module registry → Altitude sensor: provides
- Module registry → Distance sensor: provides
- Module registry → Gyroscopic sensor: provides
- Module registry → Omega sensor: provides
- Module registry → Velocity sensor: provides
- Mod initialization → Module registry: registers items
- Mod initialization → Game rules: registers
- Gyroscopic sensor → Valkyrien Skies 2: reads rotation
- Velocity sensor → Valkyrien Skies 2: reads velocity
- Omega sensor → Valkyrien Skies 2: reads angular rate
- Distance sensor → Raycast helper: builds ray
- Distance sensor → Game rules: reads limit
- Altitude sensor → Valkyrien Skies 2: reads ship state
- Gyroscopic sensor → Half-float encoding: encodes values
- Velocity sensor → Half-float encoding: encodes values
- Omega sensor → Half-float encoding: encodes values
- Distance sensor → Half-float encoding: decodes input
- Altitude sensor → TIS-3D: writes ports
- Distance sensor → TIS-3D: reads/writes ports
- Gyroscopic sensor → TIS-3D: writes ports
- Omega sensor → TIS-3D: writes ports
- Velocity sensor → TIS-3D: writes ports
- Framed Map interface → Valkyrien Skies 2: transforms position
- Framed Map interface → Half-float encoding: encodes coordinates
- TIS-3D → Framed Map interface: requests interface
- Serial registry → Framed Map interface: registers provider
- Manual providers → Manual content: registers documentation
- Fabric entry point → Mod initialization: initializes
- Fabric entry point → Module registry: registers providers
- Fabric entry point → Serial registry: registers providers
- Fabric entry point → Manual providers: registers providers
- Forge entry point → Mod initialization: initializes
- Forge entry point → Module registry: registers providers
- Forge entry point → Serial registry: registers providers
- Forge entry point → Manual providers: registers providers