Skip to content

Covers_EN

MIAOKATZE edited this page Jul 12, 2026 · 2 revisions

Link Terminal Covers

1. Introduction

Link Terminal Covers are GTSWN void covers with no crafting recipe. They are auto-attached by right-clicking a GT machine with the Wireless Energy Tap (see Module 06 Wireless Energy Tap). The covers are fully NBT-driven and support cross-save persistence.

  • Void covers, no crafting recipe
  • Auto-attached by right-clicking a machine with the Wireless Energy Tap
  • NBT-driven, cross-save persistence
  • Bare covers (without parameters) are non-functional — parameters must be written when attached via the Tap

Note: Bare covers without parameters have no effect. Only after the voltage, amperage, capacity, and other parameters are written during Tap attachment can the cover function properly.

2. Energy Cover

The Energy Cover (Link Terminal Energy Cover) acts as a virtual power source, maintaining an internal capacity buffer pool that draws energy from the wireless grid to power the machine:

  • Capacity formula: V × A × 800 ticks
  • Per-tick behavior: injects min(V × A, machine_needed, storedEU) EU into the machine
  • Refill mechanism: every 600 ticks, deducts (capacity - storedEU) × (1 + downlink loss) EU from the grid to refill
  • Immediate refill: on configure call, immediately refills the buffer from the grid
  • Removal: when the cover is removed, remaining buffer is returned to the grid at (1 - uplink loss)
Behavior Trigger Energy Flow
Inject energy Every tick Buffer → Machine
Periodic refill Every 600 ticks Grid → Buffer (with downlink loss)
Immediate refill On configure call Grid → Buffer (with downlink loss)
Removal return Cover removal Buffer → Grid (with uplink loss)

3. Dynamo Cover

The Dynamo Cover (Link Terminal Dynamo Cover) acts as a virtual wire, reading machine output into a buffer pool, then uploading it to the wireless grid:

  • Capacity: Long.MAX_VALUE (263 - 1, GT5U MAX Battery)
  • Per-tick behavior: reads getOutputVoltage / getOutputAmperage; if V > 0, takes min(available, V × A) EU
  • Respects floor: respects getMinimumStoredEU() floor, will not drain the machine's internal storage
  • Blocks output: letsEnergyOut() = false, prevents the machine from outputting to real wires (prevents double consumption)
  • Upload: every 600 ticks, buffer is uploaded to the grid at (1 - uplink loss)
  • Removal: when removed, remaining buffer is returned to the grid at (1 - uplink loss)
Behavior Trigger Energy Flow
Read output Every tick (when V > 0) Machine → Buffer
Block real wires letsEnergyOut() = false Prevents Machine → Real wire (anti double-consumption)
Periodic upload Every 600 ticks Buffer → Grid (with uplink loss)
Removal return Cover removal Buffer → Grid (with uplink loss)

4. Loss Parameters

The Link Terminal Cover loss parameters are designed asymmetrically:

Parameter Default Range Description
Downlink Loss (DownlinkLossEU) 0.15 (15%) [0.0, 10.0] Energy loss when Grid → Buffer; grid deducts extra
Uplink Loss (UplinkLossEU) 0.0 (0%) [0.0, 1.0] Energy loss when Buffer → Grid; default no loss

Asymmetric design: Downlink has loss (grid deducts an extra 15%), uplink defaults to no loss (grid receives full amount). This design imposes a cost on drawing power (preventing abuse) while providing lossless energy recovery (encouraging energy recycling).

5. Arc Furnace Special Case

The Arc Furnace has special amperage handling logic:

  • Single-block Arc Furnace: forced 4A
  • Identification method: recipeMap == RecipeMaps.arcFurnaceRecipes (not class name check)

Design note: Identifying via RecipeMap rather than class name ensures compatibility with all machines using the arcFurnaceRecipes recipe map (including third-party extensions), not just the vanilla Arc Furnace class.

6. Right-click Config View

Right-click the cover to view current configuration info:

Energy Cover

  • Voltage tier
  • Amperage tier
  • Capacity
  • Current buffer
  • Time until next refill

Dynamo Cover

  • Capacity (MAX)
  • Current buffer
  • Time until next upload

7. NBT Fields

Energy Cover NBT

Field Description
voltage Voltage tier
amperage Amperage tier
capacity Energy capacity
storedEU Current buffered energy
ticksSinceLastRefill Ticks since last refill
configured Whether configured (cover is non-functional when false)

Dynamo Cover NBT

Field Description
storedEU Current buffered energy
ticksSinceLastUpload Ticks since last upload
configured Whether configured (cover is non-functional when false)

8. Base Class Behavior

The Energy Cover and Dynamo Cover share a common base class. The following 6 boolean methods are defined in the base class:

Method Return Value Description
isRedstoneSensitive false Does not respond to redstone signals
allowsCopyPasteTool false Does not allow copy-paste tool
allowsTickRateAddition false Does not allow tick rate adjustment
alwaysLookConnected true Always displays as connected
getMinimumTickRate 1 Minimum tick rate is 1
hasCoverGUI true Has a cover GUI

onCoverRemoval Logic

The cover removal logic is lifted to the base class for unified handling:

Return formula: actualAdded = storedEU × (1 - uplinkLossEU), when actualAdded > 0, the remaining buffer is returned to the grid.

Clone this wiki locally