Skip to content

Commit d82b0e2

Browse files
committed
feat: animate orbital Ponder assembly and polish terminal UI
1 parent b500183 commit d82b0e2

3 files changed

Lines changed: 18 additions & 7 deletions

File tree

‎docs/TERMINAL_SETUP_GUI.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@ The Order Terminal screen now uses a code-drawn industrial frame: dark inset pan
1818
2. Add searchable order list and shipment status/history.
1919
3. Implement terminal setup and stock-link management screens from `TERMINAL_SETUP_GUI.md`.
2020
4. Replace default widgets with custom-styled controls and add matching textures where useful.
21+
22+
23+
## Order Terminal visual implementation
24+
25+
The current Order Terminal uses a code-drawn dark industrial panel with a steel header, amber status/accent bars, section separators, and a persistent request-status strip. Its controls still use Minecraft's standard widgets. Action feedback is client-side confirmation that a packet was sent; server response messages remain authoritative. The Ponder orbital assembly scene animates components sliding into position as a visual teaching sequence only.

‎src/main/java/com/innygr/icreateordernetworking/client/OrderTerminalScreen.java‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ public void render(GuiGraphics graphics, int mouseX, int mouseY, float partialTi
209209
graphics.drawString(font, "02 RESOURCE REQUEST", left, top + 50, AMBER);
210210
graphics.drawString(font, "03 SHIPMENT ENDPOINTS", left, top + 104, AMBER);
211211
graphics.drawString(font, "04 ROUTE & ACTIONS", left, top + 158, AMBER);
212+
graphics.fill(left, top + 185, left + 340, top + 187, 0xFF35424F);
213+
graphics.fill(left, top + 185, left + 62, top + 187, AMBER);
212214
graphics.drawString(font, "TRAIN / AIRSHIP depend on installed integrations", left + 174, top + 174, MUTED);
213215

214216
if (!feedback.isBlank()) {

‎src/main/java/com/innygr/icreateordernetworking/ponder/ModPonderScenes.java‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,19 @@ public static void transportAdapters(SceneBuilder builder, SceneBuildingUtil uti
138138
public static void orbitalMissile(SceneBuilder builder, SceneBuildingUtil util) {
139139
CreateSceneBuilder scene = start(builder, "orbital_missile", "Orbital assembly overview");
140140
showBase(scene, util);
141-
scene.world().setBlock(util.grid().at(2, 1, 2), Blocks.IRON_BLOCK.defaultBlockState(), false);
142-
scene.world().setBlock(util.grid().at(2, 2, 2), Blocks.FURNACE.defaultBlockState(), false);
141+
scene.world().setBlock(util.grid().at(1, 1, 2), Blocks.IRON_BLOCK.defaultBlockState(), false);
142+
scene.world().setBlock(util.grid().at(3, 1, 2), Blocks.FURNACE.defaultBlockState(), false);
143143
scene.world().setBlock(util.grid().at(2, 3, 2), Blocks.ANVIL.defaultBlockState(), false);
144-
reveal(scene, util, 2, 1, 2, 1, Direction.DOWN);
145-
explain(scene, util, "The planned assembly is inverted, with its anchor at Y=250 or higher.", 2, 1, 2);
146-
reveal(scene, util, 2, 2, 2, 2, Direction.DOWN);
147-
explain(scene, util, "Starting high is intended to reduce the fuel needed for the climb.", 2, 2, 2);
144+
reveal(scene, util, 1, 1, 2, 1, Direction.DOWN);
145+
explain(scene, util, "The planned assembly is inverted, with its anchor at Y=250 or higher.", 1, 1, 2);
146+
reveal(scene, util, 3, 1, 2, 2, Direction.DOWN);
147+
scene.world().moveSection(util.select().position(3, 1, 2), util.vector().of(-1, 1, 0), 12);
148+
scene.idle(14);
149+
explain(scene, util, "The engine component slides into the central assembly position.", 2, 2, 2);
148150
reveal(scene, util, 2, 3, 2, 3, Direction.DOWN);
149-
explain(scene, util, "The validator and message helpers exist; live launch, descent physics, and impact integration remain future work.", 2, 3, 2);
151+
scene.world().moveSection(util.select().position(2, 3, 2), util.vector().of(0, -1, 0), 12);
152+
scene.idle(14);
153+
explain(scene, util, "The final component settles into place. This is a visual assembly animation; live launch, descent physics, and impact integration remain future work.", 2, 2, 2);
150154
scene.markAsFinished();
151155
}
152156

0 commit comments

Comments
 (0)