Skip to content

ME Quantum Network_EN

MIAOKATZE edited this page Jul 30, 2026 · 1 revision

ME Quantum Network (Quantum Terminal + Quantum Node)

1. Module Overview

The ME Network Quantum Terminal (item) and ME Network Quantum Node (block) provide a "quantum" remote-access mechanism for AE2 networks:

  • Quantum Terminal: Quantizes a formed, powered, active ME controller structure and binds its network; views network status; places Quantum Nodes.
  • Quantum Node: A remote access point with no channel limit (DENSE capacity 32 channels/connection) that bridges into the anchored controller's grid via a virtual GridConnection so adjacent devices join directly.
ME Network Quantum Terminal ME Network Quantum Node

⚠️ Both the Quantum Terminal and Quantum Node have no crafting recipe — obtain via Creative; Quantum Nodes can only be placed by right-clicking ground with a bound terminal.

2. How to Obtain

Item/Block How to obtain
ME Network Quantum Terminal Creative inventory / /give command
ME Network Quantum Node Place by right-clicking ground with a bound terminal (the block has no item-form drop; Shift+right-click destroys without returning)

3. Quantum Terminal Interactions (Five Gestures)

The Quantum Terminal supports 5 interaction gestures:

Gesture Behavior
Right-click controller Quantize the entire structure & bind (rebinds if already quantized)
Shift+right-click controller Dequantize & unbind
Right-click ground (bound) Place a Quantum Node
Shift+right-click Quantum Node Destroy the node (no drops)
Shift+right-click air Open terminal GUI

First-use tip: Right-clicking a controller performs both quantization and binding; Shift+right-clicking a controller performs both dequantization and unbinding and does not open the GUI (the GUI opens only on Shift+right-click air).

Quantization Semantics

  • Whole-structure flood: Right-clicking a controller floods from it and registers every TileController in the structure as "quantized".
  • Connection filter whitelist: After quantization, connections between controllers are filtered; dense energy cells (TileEnergyCell / TileCreativeEnergyCell, etc.) are whitelisted to avoid power loss.
  • Auto-merge: Newly placed controllers adjacent to a quantized structure are automatically merged into the set.

4. Quantum Terminal GUI

As of v1.6.9 the GUI is streamlined into a compact layout (120×92) showing only three core items:

Row Content Source
Title "ME Network Quantum Terminal" lang gui.quantum.title
Controller Pos Anchor X, Y, Z NBT QT_AnchorX/Y/Z
Dimension Dimension ID NBT QT_AnchorDim
Quantum Node Count Number of Quantum Node blocks in the network QuantumNetworkData.quantumNodeCount
Channels used / total (pct%) usedChannels / totalChannels

Online / Offline States

  • Online: Anchor controller reachable, all data shown live.
  • Offline: Anchor unreachable; controller pos + dimension still shown, node count and channels hardcoded to 0 / 0 (0%), last line red "Network offline (anchor unreachable)".
  • Waiting: First packet not yet arrived, shows "...".

Channel Semantics

  • totalChannels = (n × 6 − sharedFaces) × 32
    • n = number of quantized controller blocks
    • sharedFaces = number of faces shared between adjacent controllers
    • 32 = DENSE cable channel capacity per connection
  • usedChannels = sum over Quantum Nodes of the max usedChannels of their connections (max is topologically correct; bridged connection usedChannels is always ≥ adjacent connection)

GUI Behavior

  • Polling: Sends a C→S request packet every 10 ticks; the server assembles and replies with an S→C snapshot.
  • Cache: If the bound anchor is unchanged, the previous snapshot is retained — reopening shows last data and auto-refreshes within ≤10t.
  • No game pause: doesGuiPauseGame() overridden to return false (fixed in v1.6.7, single-player no longer freezes).

5. Quantum Node

Remote Bridge

The Quantum Node TE (TileEntityNetworkQuantumNode) implements IGridProxyable and maintains its connection every 20 ticks:

  1. Parse anchor coordinates → fetch anchor controller
  2. Verify anchor is still quantized
  3. createGridConnection to build a virtual bridge into the anchor grid
  4. Adjacent AE2 devices join the network via the node (normal AE connection, over the bridge)

Offline Reasons

When the anchor is unreachable the node goes offline with a chat hint:

Reason Hint
Anchor controller unloaded / removed Node offline (anchor unreachable)
Cross-dimension Cross-dimension bridging not supported, node offline
Anchor not quantized Anchor controller is not quantized

Node Destruction

  • No drop on mining: getDrops returns empty, canSilkHarvest=false
  • Shift+right-click destroy: Hold Quantum Terminal + Shift+right-click node → setBlockToAir (no drops)
  • Hardness: block hardness=1000 (effective mining speed reduced to 1/1000)

6. Overload Protection

95% Warning

Each Quantum Node checks every 20 ticks:

  • Fetch anchor grid → compute totalChannels / usedChannels / this node's nodeUsed
  • When nodeUsed > lastNodeUsed && used × 100 >= total × 95 && used < total, send a chat warning to the node's placer

Overload Explosion

  • When used > total, every quantized controller is setBlockToAir'd
  • The anchor position triggers createExplosion(null, x+0.5, y+0.5, z+0.5, 4.0F, true) — TNT-level explosion
  • Explosion dedup: 1.7.10 server is single-threaded; the first node destroying the controller synchronously triggers TileController.invalidate, severing all node connections; subsequent nodes skip.

Channel Formula

Field Formula Notes
totalChannels (n × 6 − sharedFaces) × 32 n=controller block count, sharedFaces=shared faces, 32=DENSE capacity
usedChannels Σ max(node connection usedChannels) max semantics, over all Quantum Nodes

7. Hardened Quantized Controller

Quantized ME controllers gain equivalent protection:

Attribute Value Implementation
Equivalent hardness 1000 BreakSpeed event: newSpeed × (hardness/1000)
Equivalent blast resistance 400000 ExplosionEvent.Detonate: remove affected blocks
Wrench protection Shift+right-click still canceled QuantumControllerEventHandler intercepts
Network tool passthrough Plain right-click with INetworkToolItem allowed Opens AE2 native GUI_NETWORK_STATUS

8. WAILA Integration

With WAILA installed, the Quantum Node shows online status:

  • §a Device online: node bridged
  • §c Device offline: node not connected

Offline reasons are still provided by right-click chat (chat.quantum.* keys); WAILA does not show reason details.

9. Configuration

Config Type / Default Description
quantumNodeIdlePowerUsage double = 10.0 Quantum Node idle AE/t power (category: ae2)

10. Key Parameters

Parameter Value Notes
GUI size 120 × 92 v1.6.9 compact layout
GUI poll interval 10 ticks C→S request frequency
Node maintenance interval 20 ticks reconnect / overload check
DENSE capacity 32 channels/connection Quantum Node per-connection limit
Node hardness 1000 effective mining speed 1/1000
Controller equivalent blast resistance 400000 explosion event removal
WorldSavedData gtswn_quantum_controllers quantized coordinate set persistence
Network packet disc5 PacketRequestQuantumTerminalData C→S request
Network packet disc6 PacketSyncQuantumTerminalData S→C snapshot

11. NBT Structure

Quantum Terminal Item NBT

Key Type Meaning
QT_Bound boolean Whether bound
QT_BoundName String Bound network name
QT_AnchorDim int Anchor dimension ID
QT_AnchorX int Anchor X coordinate
QT_AnchorY int Anchor Y coordinate
QT_AnchorZ int Anchor Z coordinate

Quantum Node TE NBT

  • Anchor coordinates + dimension
  • Connection state (isLinked)
  • Placer playerID (for 95% warning lookup)
  • lastNodeUsedChannels (tracks this node's channel growth)

12. Multiplayer / Dedicated Server Compatibility

  • Different terminals can bind to the same controller (terminal NBT only stores anchor coordinates)
  • Quantum Nodes placed by different players independently connect to the same anchor controller
  • 95% warnings are sent independently to each placer (via GridNode.getPlayerID() lookup)
  • The explosion affects all connected Quantum Nodes (controller gone, all bridges severed)

13. Key Files

File Responsibility
common/items/ItemNetworkQuantumTerminal.java Terminal item: five gestures + NBT
common/quantum/QuantumControllerRegistry.java WorldSavedData: quantized coordinate set + flood
common/quantum/QuantumControllerEventHandler.java 5 events: intercept / hardness / blast / recompute / patrol
common/quantum/QuantumNetworkData.java Server-side assembly POJO
common/block/BlockNetworkQuantumNode.java Node block
common/tile/TileEntityNetworkQuantumNode.java Bridge TE + overload check
client/gui/GuiQuantumTerminal.java Terminal GUI
network/PacketRequestQuantumTerminalData.java C→S request packet
network/PacketSyncQuantumTerminalData.java S→C snapshot packet

Clone this wiki locally