How techtastic/cc-sable works
CC: Sable exposes Sable physics data to in-game CC: Tweaked computers through Lua APIs and enriched block details. The main workflow is computer API registration, Lua calls into Sable physics, and conversion of results into Lua-friendly values. The README also documents bundled advanced math utilities; its implementation is a submodule and was not sampled, so its internal behavior and wiring are not shown.
Main entry points: CCSable.java Common initialization · SubLevelAPI.java Sub-Level API · AerodynamicsAPI.java Aerodynamics API · CCSableUtils.java Lua conversion
Components 18
Mod integration
- Fabric entrypoint
fabric/src/main/java/io/github/techtastic/cc_sable/fabric/CCSableFabric.java - NeoForge entrypoint
neoforge/src/main/java/io/github/techtastic/cc_sable/neoforge/CCSableNeoForge.java - Common initialization
common/src/main/java/io/github/techtastic/cc_sable/CCSable.java - Block detail enrichment
common/src/main/java/io/github/techtastic/cc_sable/CCSable.java
Computer APIs
- Sub-Level API
common/src/main/java/io/github/techtastic/cc_sable/apis/SubLevelAPI.java - Aerodynamics API
common/src/main/java/io/github/techtastic/cc_sable/apis/AerodynamicsAPI.java - Sub-Level Lua module
common/src/main/resources/data/computercraft/lua/rom/apis/sublevel.lua - Aerodynamics Lua module
common/src/main/resources/data/computercraft/lua/rom/apis/aero.lua - Lua conversion
common/src/main/java/io/github/techtastic/cc_sable/util/CCSableUtils.java - Bezier Lua wrapper
common/src/main/java/io/github/techtastic/cc_sable/util/LuaBezierResourceFunction.java - Advanced Math bundle
libs/advanced-math
Sable physics
- Sable backend
- Sub-Level state
- Dimension physics
- Block physics properties
Other components
- In-game computer
- CC: Tweaked
- CC block details
Connections 20
- In-game computer → CC: Tweaked: calls Lua API
- Fabric entrypoint → Common initialization: initializes
- NeoForge entrypoint → Common initialization: initializes
- Common initialization → CC: Tweaked: registers APIs
- CC: Tweaked → Sub-Level API: creates API
- CC: Tweaked → Aerodynamics API: creates API
- In-game computer → Sub-Level Lua module: uses module
- In-game computer → Aerodynamics Lua module: uses module
- Sub-Level API → Sub-Level state: reads and updates
- Sub-Level API → Lua conversion: converts results
- Aerodynamics API → Dimension physics: reads physics
- Aerodynamics API → Lua conversion: converts results
- Lua conversion → Bezier Lua wrapper: wraps pressure functions
- Sub-Level state → Sable backend: provided by
- Dimension physics → Sable backend: provided by
- Common initialization → CC block details: registers provider
- CC block details → Block detail enrichment: requests block details
- Block detail enrichment → Block physics properties: reads properties
- Block physics properties → Sable backend: provided by
- Advanced Math bundle → In-game computer: bundled utilities