Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Trains: Difference between revisions

From Warfactory Wiki
Cory (talk | contribs)
Created page with "GregTech struggles with long-distance logistics. Ender chests are basic and uninteresting, and trains are unscalable and laggy on large servers. To address this, I want to implement a virtual railway system via my coremod. Core Concepts: Stations: Medium-sized multiblocks requiring a locomotive item, fuel, and one input/output bus each. The controller binds the station to the player who placed it and supports up to 5 operational layers. Map Interface: A 2D map shows all..."
 
Cory (talk | contribs)
No edit summary
 
Line 1: Line 1:
GregTech struggles with long-distance logistics. Ender chests are basic and uninteresting, and trains are unscalable and laggy on large servers. To address this, I want to implement a virtual railway system via my coremod.
'''Trains''' are a in-development system for long-distance logistics.
Core Concepts:
 
Stations: Medium-sized multiblocks requiring a locomotive item, fuel, and one input/output bus each. The controller binds the station to the player who placed it and supports up to 5 operational layers.
GregTech struggles with long-distance logistics. Ender chests are basic and uninteresting, and existing train mods scale poorly and are not performant. Thus the train system is planned as a performant, immersive alternative to "instant teleportation" logistics tools.
Map Interface: A 2D map shows all stations with scaled distances (not block-to-pixel accurate). All train routes and schedules are managed through a single GUI screen.
 
Train Runs: Players configure train runs to offload specific cargo amounts at each station. Travel time is based on real calculations involving distance, dimension, and cargo count.
Instead of using entities and keeping the entire track system rendered, Warfactory trains heuristically follow their preconstructed path without rendering in-between segments to save on memory, in a manner similar to the [https://www.curseforge.com/minecraft/mc-mods/via-romana Via Romana] mod.
Virtual Tracks: You must connect stations by "building" rail lines virtually. Cost and travel time are computed based on in world distance and other factors.
 
Execution: Ideally, a worker thread handles all logistics and route simulation. The main world thread only receives item offload instructions with target ticks, minimizing lag.
== Concept Writeup ==
Access Control: Railway owners can whitelist other players for shared access.
 
Security/Espionage (planned):  Potential for features like cargo siphoning.
=== Stations ===
Medium-sized multiblocks requiring a locomotive item, fuel, and one input/output bus each. The controller binds the station to the player who placed it and supports up to 5 operational layers.
 
=== Map Interface ===
A 2D map shows all stations with scaled distances (not block-to-pixel accurate). All train routes and schedules are managed through a single GUI screen.
 
=== Train Runs ===
Players configure train runs to offload specific cargo amounts at each station. Travel time is based on real calculations involving distance, dimension, and cargo count.
 
At the core of this are the '''Virtual Tracks''': You must connect stations by "building" rail lines virtually. Cost and travel time are computed based on in world distance and other factors.
 
=== Execution ===
Ideally, a worker thread handles all logistics and route simulation. The main world thread only receives item offload instructions with target ticks, minimizing lag.
 
=== Access Control ===
Railway owners can whitelist other players for shared access. Security/Espionage are planned for future versions. This allows for features like cargo siphoning, train robberies and disrupting enemy logistics.
 
 
Think Factorio-style trains, but simplified and entirely GUI-driven. Virtualization allows for complex logistics without Minecraft’s performance bottlenecks.
Think Factorio-style trains, but simplified and entirely GUI-driven. Virtualization allows for complex logistics without Minecraft’s performance bottlenecks.

Latest revision as of 16:54, 16 June 2025

Trains are a in-development system for long-distance logistics.

GregTech struggles with long-distance logistics. Ender chests are basic and uninteresting, and existing train mods scale poorly and are not performant. Thus the train system is planned as a performant, immersive alternative to "instant teleportation" logistics tools.

Instead of using entities and keeping the entire track system rendered, Warfactory trains heuristically follow their preconstructed path without rendering in-between segments to save on memory, in a manner similar to the Via Romana mod.

Concept Writeup

Stations

Medium-sized multiblocks requiring a locomotive item, fuel, and one input/output bus each. The controller binds the station to the player who placed it and supports up to 5 operational layers.

Map Interface

A 2D map shows all stations with scaled distances (not block-to-pixel accurate). All train routes and schedules are managed through a single GUI screen.

Train Runs

Players configure train runs to offload specific cargo amounts at each station. Travel time is based on real calculations involving distance, dimension, and cargo count.

At the core of this are the Virtual Tracks: You must connect stations by "building" rail lines virtually. Cost and travel time are computed based on in world distance and other factors.

Execution

Ideally, a worker thread handles all logistics and route simulation. The main world thread only receives item offload instructions with target ticks, minimizing lag.

Access Control

Railway owners can whitelist other players for shared access. Security/Espionage are planned for future versions. This allows for features like cargo siphoning, train robberies and disrupting enemy logistics.


Think Factorio-style trains, but simplified and entirely GUI-driven. Virtualization allows for complex logistics without Minecraft’s performance bottlenecks.