This repository currently targets Forge 1.20.1 on the active branch.
SKDS Core is the shared foundation layer used by the 1.20.1 Water Physics Overhaul port and its add-ons.
It provides the runtime systems the rest of the workspace expects:
- block update scheduling and synchronized world work execution
- multithreading helpers and worker-thread plumbing
- shared extension points and interfaces used by the water simulation
- shared packet/debug infrastructure
- a small client config screen for performance tuning
This mod is not meant to add a large standalone gameplay feature set by itself. Its job is to supply the infrastructure that the other SKDS and WPO modules build on.
SKDS Core manages a configurable block-update budget and tick cutoff so the dependent mods can do heavy world work without trying to spend unlimited time in one server tick.
The main performance controls are:
performancePresetminBlockUpdatestimeout
Presets expose a simple way to move between safer performance targets, while CUSTOM unlocks manual values.
The common config is stored at:
config/skds_core/main.toml
The in-game config screen exposes the same main values:
- performance preset
- minimum block updates per tick
- timeout cutoff before the end of the server tick
This repository is the shared dependency for:
Water-Physics-OverhaulWPO-Environmental-ExpansionWPO-Hydraulic-Utilities
If the base WPO mod or either add-on is being built from source, SKDS Core needs to be present in the expected sibling location.
- Original SKDS work:
Sasai_Kudasai_BM - 1.18.2 work used in the porting path:
Felicis - 1.20.1 port and repository maintenance:
dev-willbird1936
This repository builds as a standalone Forge 1.20.1 mod.
Typical local build:
.\gradlew.bat buildExplicit version build:
.\gradlew.bat build -PmcVersion=1.20.1Stage the release jar into the workspace release folder:
.\gradlew.bat stageRelease -PmcVersion=1.20.1Current workspace layout:
..\SKDS-Core
..\Water-Physics-Overhaul
..\WPO-Environmental-Expansion
..\WPO-Hydraulic-Utilities
Version-specific Minecraft and release values now live in versions/<mcVersion>.properties. For future ports, add a new version file and use a branch like mc/1.21.1 when source compatibility starts to diverge.
- Stable repository name, without the Minecraft version in the repo title
mainfor the current maintained linemc/<minecraft-version>branches when code starts to diverge between game versions- release tags in the form
v<minecraft-version>-<mod-version>