1.0.5
Compatibility
Changes
NeoForge 1.21.1 1.0.5
For Minecraft 1.21.1 / NeoForge.
This update focuses on RTS camera smoothness, large-build stability, storage/overlay workflow fixes, progression UI correctness, and JEI compatibility.
-
Changed the release artifact naming format.
- New file name:
rtsbuilding-neoforge-1.21.1-1.0.5.jar - Version metadata is now
1.0.5.
- New file name:
-
Added and enabled Smooth RTS Camera by default.
- Absorbed the smooth-camera idea from community PR #15 by SOLR98.
- Camera movement now uses render-frame visual prediction for much smoother motion.
- Tick/network logic still remains server-authoritative.
- The setting can still be disabled in RTS settings.
-
Partially adopted the freecam input-freeze part of PR #15.
- While RTS mode is active, player movement input is temporarily frozen during player tick.
- This helps prevent WASD / Space / Shift from moving the player body while controlling the RTS camera.
- Broader risky PR changes were not merged wholesale.
-
Improved large quick-build / shape placement performance.
- Added batched block placement payloads for normal non-fluid shape builds.
- Server now processes large placement jobs gradually with a per-tick budget.
- This reduces lag spikes when building large areas.
- Fluid placement still uses the old path to avoid changing bucket/fluid side effects.
-
Fixed crashes and instability around RTS boundary/chunk rendering.
- RTS boundary, ghost preview, hovered target, and chunk guides now use private render buffers.
- No longer uses Minecraft’s shared main
BufferSourcein the render stage. - This should avoid render-pipeline conflicts in vanilla/NeoForge and with render optimization mods.
-
Fixed progression / skill tree material display mismatch.
- The client UI now uses the server-synced cost table after progression state arrives.
- Fixes cases where the UI showed enough materials, but unlock still failed.
-
Improved progression node details UI.
- Material / prerequisite details are now shown in a higher-layer modal.
- The modal lists required materials, whether the player has enough, and unfinished prerequisites.
- Unlock can be attempted directly from the detail modal.
-
Fixed JEI blank / invisible clickable area caused by RTS overlay geometry.
- JEI now asks the actual RTS overlay layout for extra areas and clickable ingredients.
- This fixes old hard-coded overlay bounds reserving space where no RTS UI is visible.
-
Improved container RTS overlay behavior.
- Reduced the bottom import preview row from five
+slots to two. - Added a
Shift Intoggle. - Shift-click / Shift-drag importing into linked RTS storage is now disabled by default.
- When enabled, the toggle turns green; when disabled, normal container Shift-transfer works again.
- Reduced the bottom import preview row from five
-
Improved linked-storage tool mining.
- RTS mining can use tools from linked storage more safely.
- Tool matching now uses the full ItemStack prototype instead of item id only.
- Mutated tools are returned after mining, reducing risk for GTCEu/GregTech-style electric or NBT tools.
-
Fixed Mod Menu / config save crash.
- Survival/progression settings are now saved in one batched config write.
- Runtime save failures are caught and reported instead of crashing from the Save button.
-
Added several RTS control and UI refinements.
- Added configurable pan-drag X/Y inversion settings.
- Improved selected-item hover/status cleanup.
- Improved high UI-scale behavior for quick-build and settings panels.
- Chunk guide rendering now uses the RTS camera X/Z center with player Y height.
Validation:
- NeoForge 1.21.1
jartask passed. - Output verified:
rtsbuilding-neoforge-1.21.1-1.0.5.jar.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:5PkY7RJI:MaQqd0Rt"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:5PkY7RJI:MaQqd0Rt"
}

