Skip to content

Network Info Panel_EN

MIAOKATZE edited this page Jul 12, 2026 · 3 revisions

Network Info Panel & Extender

1. Block Introduction

The Network Info Panel is the GTSWN multi-block display panel, composed of a main panel and extender panels that can be stitched into any rectangular size. It visualizes wireless grid energy trends across multiple time windows: 5 minutes / 1 hour / 8 hours / 24 hours.

![Network Info Panel appearance](images/Network Info Panel_EN.png)

![Network all-weather monitoring illustration](images/Network Info Panel_L_EN.png)

  • Multi-block display panel; main panel + extender panels form any rectangular size
  • 4 time windows: 5m / 1h / 8h / 24h
  • Uses Fritsch-Carlson monotone cubic Hermite spline for smooth rendering (v1.5.10 replaced Catmull-Rom)
  • Supports per-player UUID data sharing across multiple screens
  • 3 tabs: EU Network / AE Chart / AE Realtime Monitor
  • Configurable screen background color, spline smoothing, display mode, etc.
  • Dataset persisted; breaking the block does not lose data immediately

2. Crafting Recipes

Network Info Panel

Craft in a crafting table using a cross structure (center = Wireless Energy Monitor):

Slot Col 1 Col 2 Col 3
Row 1 LV Sensor Glass LV Sensor
Row 2 Glass Wireless Energy Monitor Glass
Row 3 LV Sensor Glass LV Sensor

Materials: LV Sensor ×4 + Glass ×4 + Wireless Energy Monitor ×1

Network Info Panel Extender

Craft in a crafting table using a cross structure (center = Screen Cover):

Slot Col 1 Col 2 Col 3
Row 1 LV Receiver Glass LV Receiver
Row 2 Glass Screen Cover Glass
Row 3 LV Receiver Glass LV Receiver

Materials: LV Receiver ×4 + Glass ×4 + Screen Cover ×1 (outputs 2 extenders)

Glass wildcard: The recipe uses Blocks.glass with meta=32767 wildcard, accepting both plain glass and stained glass.

3. 4 Time Windows

The Network Info Panel supports 4 time windows, each a 61-point FIFO:

Window Points Sample Interval Total Duration Source
5 minutes 61 100 ticks (5 s) 300 s Original samples
1 hour 61 600 ticks (30 s) 1800 s Inflow from 5m means
8 hours 61 4800 ticks (240 s) 14400 s Inflow from 1h means
24 hours 61 14400 ticks (720 s) 43200 s Inflow from 8h means

Note: The 1h / 8h / 24h windows are triggered by the inflow counter chain, not independent sampling. Each window's sample points are computed from the mean of the last N points in the upstream window.

4. Inflow Counter Chain

The 4 time windows are triggered via a nested counter chain; each level's samples are computed from the upstream window's mean:

  • 5m → 1h: every 12 5m samples triggers 1 1h sample (1h sample eut/rate = mean of last 12 5m points)
  • 1h → 8h: every 8 1h samples triggers 1 8h sample (8h sample eut/rate = mean of last 8 1h points)
  • 8h → 24h: every 3 8h samples triggers 1 24h sample (24h sample eut/rate = mean of last 3 8h points)

The 12th 5m point enters both the 5m set and the 1h set (the 5m set never skips a sample, keeping 61 continuous 5-second points). This preserves 5m continuity while automatically driving the longer time windows via the counter chain.

5. Spline Curve

The trend line uses the Fritsch-Carlson monotone cubic Hermite spline (v1.5.10 replaced Catmull-Rom):

  • Algorithm: monotoneCubicPath method implements Fritsch-Carlson monotone cubic Hermite spline
  • Monotonicity: preserves monotonicity, avoids overshoot (removed v1.5.9 local envelope limit)
  • Endpoint handling: natural first/last derivatives, no [0,1] hard clamp
  • Smoothing parameter: 0-12
smoothing Segments Description
0 1 segment Linear (no smoothing)
1-12 smoothing × 2 + 2 segments (4-26) Smooth curve; segment count grows with smoothing

6. Display Modes

The info panel supports 3 display modes (introduced v1.4.14, extended to three states in v1.5.10):

Mode Name Example
0 Normal counting 1,234,567
1 Scientific notation 1.23E6
2 Metric notation 1.23K

Metric mode details (v1.5.13): Main display call points use 2 decimals (e.g. 1.23K, 999.00); axis Y tick labels keep no decimals (e.g. 1K) to avoid long labels; negative numbers uniformly use prefix minus (-1.23K). In scientific mode, small values (< 10000.0) auto-fallback to normal display.

7. Multi-Screen Sharing

The dataset is bound to the player UUID; all info panels of the same player share a single copy of the data:

  • UUID binding: dataset stored in WorldSavedData with ownerUUID as key
  • Multi-screen consistency: multiple panels display identical data
  • Sample lock: tryAcquireSampleLock global sample lock prevents duplicate sampling
  • Reverse-write guarantee: after sampling, dataSet.newest() writes back to cachedEu/cachedEut, ensuring multi-screen consistency

Note: AE monitoring data is isolated by block coordinate (dimensionId:x:y:z), decoupled from the EU dataset (by ownerUUID). Each info panel maintains its own AE monitoring data independently.

8. Key Parameters

Parameter Value Description
GUI size 430 × 285 pixels Config window size
Sample interval 100 ticks (5 s) SAMPLE_INTERVAL_TICKS
Gap detection 200 ticks MAX_CONTINUOUS_GAP_TICKS (breakpoint detection)
Dataset capacity 61 FIFO capacity per window
Extender scan range 16 blocks rebuildNearbyScreens scan radius
WorldSavedData (EU) gtswn_network_info_data EU data persistence name
WorldSavedData (AE) gtswn_ae_monitor_data AE monitoring data persistence name

9. Configuration

All configuration items of the Network Info Panel (with defaults and ranges):

Config Item Type / Default Range Description
trendLineSmoothing int = 2 0-12 Spline smoothing
trendLineThickness int = 3 - Trend line width (glLineWidth)
displayMode int = 0 0-2 Display mode (0=Normal / 1=Scientific / 2=Metric)
chartBorderThickness int = 3 1-8 Chart border thickness
chartBackgroundColor String = "" - Chart background color (empty = no fill)
screenBackgroundColor String - Screen background color (empty = no fill)
briefRatio int = 28 10-80 Brief font ratio (getBriefFontScale()=briefRatio/20.0)
trackingWindow int 0-3 Time window (0=5m / 1=1h / 2=8h / 3=24h)
showBriefEnergy boolean - Brief energy toggle
showBriefStatus boolean - Brief status toggle
showChartEnergy boolean - Chart energy toggle
showChartStatus boolean - Chart status toggle
energyAxisMin / Max String - Energy Y-axis range (empty = auto, 10% padding)
eutAxisMin / Max String - EU/t Y-axis range (empty = auto, 10% padding)

10. Extender Stitching

Extenders automatically attach to adjacent main panels, forming rectangular screens of any size:

  • Largest sub-rectangle detection: findLargestFilledRect() finds the largest fully-filled sub-rectangle containing the core
  • Auto-attach: on placing an extender, it auto-detects adjacent main panels and joins their screen group
  • Connection textures: 16 connection state textures screen_connected_0.png ~ screen_connected_15.png, auto-selected by neighboring blocks
  • L/U-shape detach: non-rectangular peripheral extenders are auto-detached
  • breakBlock rebuild: breaking any screen block triggers adjacent panels to re-detect stitching

11. Persistence

WorldSavedData

  • EU data: gtswn_network_info_data (perWorldStorage), Map<ownerUUID, NetworkInfoDataSet>
  • AE monitoring data: gtswn_ae_monitor_data (perWorldStorage), Map<coordinateKey, AEMonitorDataSet>

TileEntity NBT

The main panel TileEntity persists the following:

  • UI config (displayMode, trackingWindow, visibility toggles, axis ranges, smoothing, etc.)
  • ownerUUID (owner UUID)
  • lastSampleTick (last sample tick)
  • eutDataSet (local EU/t calculation dataset)
  • screen (multi-block screen geometry)
  • syncData (sync data)
  • AE-related fields (currentTab, chartItem, chartFluid, monitoredItems, monitoredFluids, lastAESampleTick)

Item NBT (writePlacementData)

When the block is broken, the item retains the following for restoration on re-placement:

  • ownerUUID + ownerName
  • lastSampleTick (EU sample timestamp)
  • lastAESampleTick (AE sample timestamp)
  • eutMeasurementHistory (EU/t measurement history)
  • chartConfig (chart configuration)

12. 3 Tabs

The info panel GUI has 3 tab buttons at the top (IDs 100/101/102) for switching display modes:

Tab Name Content
Tab 1 EU Network EU trend chart & brief (5m/1h/8h/24h window switching, trend line, axes, brief area)
Tab 2 AE Chart Bind AE item/fluid, dual Y-axis trend chart (see Module 04)
Tab 3 AE Realtime Monitor Multi-item AE monitor list, 300s average (see Module 05)

Right-click Configuration

Right-click the panel with an item in hand for quick config (since v1.5.1):

  • EU tab + any item: opens GUI (original behavior)
  • AE Chart tab + fluid container: binds fluid
  • AE Chart tab + plain item: binds item
  • AE Realtime tab + fluid container: adds/removes fluid monitor
  • AE Realtime tab + plain item: adds/removes item monitor

Clone this wiki locally