Pular para o conteúdo principal

Sistema de Upgrades

Visão Geral​

O sistema de upgrades oferece progressão horizontal dentro de cada tier, permitindo otimização da rede sem necessariamente subir de tier.

Princípios de Design​

  1. Centralizado no Controller: Upgrades afetam TODA a rede (mantém filosofia "uma rede, um comportamento")
  2. Trade-offs obrigatórios: Todo benefício tem um custo (sem free lunch)
  3. Balanceável via datapack: Multiplicadores, custos e limites configuráveis
  4. Tier como base: Tier define capacidade mínima garantida, upgrades são boost limitado

Slots de Upgrade​

Progressão de Slots​

TierSlotsJustificativa
T00Tutorial tier, sem customização
T12Primeira escolha estratégica
T24Mid game, mais flexibilidade
T36Late game, múltiplas otimizações
T48End game, máxima customização
T5-Flow8Anômalo, herda slots de T4
T6-Density8Anômalo, herda slots de T4
T7-Link8Anômalo, herda slots de T4 + Gate support

Regras de Slots​

  • Slots são físicos e limitados
  • Não é possível expandir slots além do limite do tier
  • Upgrades ocupam 1 slot cada
  • Mesmo tipo de upgrade pode ser empilhado (ex: 3x Speed Upgrade)
  • Efeitos são aditivos dentro do mesmo tipo
  • Efeitos são multiplicativos entre tipos diferentes

Exemplo:

2x Speed Upgrade (+50% cada) = +100% throughput total
1x Efficiency Upgrade (-20%) = -20% consumo

Multiplicadores finais:
- Throughput: base × 2.0 (dobro)
- Consumo: base × 0.8 × 1.6 (speed penalty) = base × 1.28 (+28%)

Tipos de Upgrade​

1. Speed Upgrade 🚀​

Benefício: Aumenta throughput (items/FE/mB por canal por tick)

Custo: Aumenta consumo de energia (standby + port cost)

Valores padrão (ajustáveis via datapack):

{
"type": "speed",
"throughput_multiplier": 1.5,
"energy_cost_multiplier": 1.3
}

Use case:

  • Redes de alta demanda (factories, mass production)
  • Quando energia é abundante
  • Minimizar número de Ports necessárias

Não recomendado quando:

  • Energia limitada
  • Early game (custo proibitivo)

2. Efficiency Upgrade ⚡​

Benefício: Reduz consumo de energia (standby + port cost)

Custo: Reduz throughput

Valores padrão (ajustáveis via datapack):

{
"type": "efficiency",
"energy_cost_multiplier": 0.8,
"throughput_multiplier": 0.9
}

Use case:

  • Redes de baixa demanda (AFK farms, passive production)
  • Quando energia é escassa
  • Redes 24/7 que precisam sustentabilidade

Não recomendado quando:

  • Alta demanda de throughput
  • Late game com energia ilimitada

3. Capacity Upgrade 📦​

Benefício: Aumenta buffer energético (controller + ports + fibers)

Custo: Aumenta custo de standby (manutenção do buffer maior)

Valores padrão (ajustáveis via datapack):

{
"type": "capacity",
"buffer_multiplier": 1.5,
"standby_cost_multiplier": 1.2
}

Use case:

  • Redes que enfrentam BROWNOUT frequente
  • Suavizar picos de demanda
  • Atrasar COLLAPSE em caso de corte de energia

Não recomendado quando:

  • Rede já tem buffer abundante
  • Fonte de energia instável (standby cost maior = drain mais rápido)

4. Channels Upgrade 🔀​

Benefício: Aumenta número de canais paralelos

Custo: Aumenta consumo de energia (port cost scaling)

Valores padrão (ajustáveis via datapack):

{
"type": "channels",
"channels_multiplier": 1.25,
"energy_cost_multiplier": 1.15
}

Use case:

  • Redes com muitos payloads simultâneos
  • Evitar gargalos de canal
  • Maximizar utilização de Ports

Não recomendado quando:

  • Canais já sobram (desperdício de energia)
  • Topologia pequena (poucos Ports)

Stacking e Interação​

Stacking de Mesmo Tipo​

Upgrades do mesmo tipo são aditivos:

1x Speed: +50% throughput
2x Speed: +100% throughput (1.5 + 1.5 - 1.0 = 2.0)
3x Speed: +150% throughput (1.5 + 1.5 + 1.5 - 2.0 = 2.5)

Custos também empilham:

1x Speed: +30% consumo
2x Speed: +60% consumo
3x Speed: +90% consumo

Interação Entre Tipos​

Upgrades de tipos diferentes são multiplicativos:

Configuração: 2x Speed + 1x Efficiency

Throughput final:
base × (1 + 2×0.5) × (1 - 0.1)
= base × 2.0 × 0.9
= base × 1.8 (↑80%)

Consumo final:
base × (1 + 2×0.3) × (1 - 0.2)
= base × 1.6 × 0.8
= base × 1.28 (↑28%)

Estratégia: Combinar Speed + Efficiency pode dar boost de throughput com custo controlado.


Balanceamento​

Arquivo de Configuração​

data/weave_network/upgrades/multipliers.json:

{
"speed": {
"throughput_boost": 0.5,
"energy_cost_penalty": 0.3
},
"efficiency": {
"energy_cost_reduction": 0.2,
"throughput_penalty": 0.1
},
"capacity": {
"buffer_boost": 0.5,
"standby_cost_penalty": 0.2
},
"channels": {
"channels_boost": 0.25,
"energy_cost_penalty": 0.15
}
}

Filosofia de Balanceamento​

  1. Nenhum upgrade é estritamente superior: Todo boost tem um custo
  2. Trade-offs significativos: Custo deve ser sentido, não trivial
  3. Escolhas estratégicas: Diferentes setups para diferentes use cases
  4. Tier ainda importa: Upgrade não substitui subir de tier, apenas otimiza

Exemplo de progressão saudável:

T1 + 2x Speed Upgrade < T2 base (tier sempre melhor que upgrades)
T2 + 4x Speed Upgrade ≈ T3 base (upgrades maxados aproximam tier superior)
T3 + 6x otimizado > T2 maxado (tier + upgrades > tier inferior maxado)

Crafting (Loom)​

Sistema de Tecelagem​

Upgrades são tecidos no Loom usando:

  • Base material (tier-specific dust/essence)
  • Modifier material (define tipo de upgrade)
  • Energia (FE consumido durante craft)
  • Tempo (ticks de processamento)

Receita Exemplo (Speed Upgrade T2)​

{
"type": "weave_network:loom",
"base": {
"item": "weave_network:weave_dust_t2"
},
"modifier": {
"item": "minecraft:redstone_block"
},
"result": {
"item": "weave_network:speed_upgrade_t2"
},
"energy": 50000,
"time": 200
}

Materiais por tipo:

  • Speed: Redstone Block (movimento, velocidade)
  • Efficiency: Lapis Block (eficiência, otimização)
  • Capacity: Ender Pearl (armazenamento, espaço)
  • Channels: Gold Ingot (condutividade, paralelismo)

Tier-Locking​

Upgrades são tier-locked:

  • Speed Upgrade T1 só funciona em Controller T1
  • Speed Upgrade T2 só funciona em Controller T2+
  • Etc.

Justificativa:

  • Evita trivializar progressão (não pode usar upgrade T7 em T1)
  • Incentiva subir de tier (tier maior = acesso a upgrades melhores)
  • Balanceamento mais controlado

UI e Interação​

Controller GUI​

Tela de Upgrades:

┌─────────────────────────────────────┐
│ Controller T3 (Tier 3) │
│ │
│ Upgrade Slots: [▪][▪][▪][▪][▪][▪] │
│ ^ ^ ^ ^ - - │
│ │ │ │ │ │
│ Speed×2 Eff Ch │
│ │
│ Network Stats: │
│ Throughput: 64 → 115 items/t │
│ Consumption: 10 → 13 FE/t │
│ Channels: 6 → 7 │
│ Buffer: 100k FE │
└─────────────────────────────────────┘

Preview ao Hover:

Speed Upgrade T3
─────────────────
✅ +50% throughput
❌ +30% energy cost

If installed:
Throughput: 64 → 96 items/t
Consumption: 10 → 13 FE/t

Instalação/Remoção​

Instalar:

  1. Segurar upgrade em mão
  2. Shift+right-click no Controller
  3. Upgrade consumido, efeito aplicado imediatamente

Remover:

  1. Abrir GUI do Controller
  2. Shift+click em slot com upgrade
  3. Upgrade dropa no chão, efeito removido imediatamente

Persistência:

  • Upgrades salvos em NBT do Controller
  • Quebrar Controller: drop garantido (controller block + tier core + upgrades)
  • Chunk unload/reload: upgrades preservados

Proteção do Controller​

Hardness​

Mining Time:

  • Sem ferramenta: ~50 segundos (similar a Obsidian)
  • Pickaxe de madeira/pedra: ~25 segundos
  • Pickaxe de ferro: ~5 segundos
  • Pickaxe de diamante: ~3 segundos
  • Pickaxe netherite: ~2.5 segundos

Explosion Resistance:

  • Creeper: não destrói
  • TNT: não destrói
  • Wither: destrói (mas raro, balanceado)

Justificativa:

  • Evitar quebra acidental (invest significativo em upgrades)
  • Não impedir remoção intencional (não é bedrock)
  • Proteger contra griefing básico

Drop Garantido​

Ao quebrar Controller, sempre dropa:

  1. Controller block (pode ser recolocado)
  2. Tier core (pode ser reutilizado)
  3. Todos os upgrades instalados (podem ser reutilizados)

Sem perda de progresso (friendly gameplay).


Implementação Técnica​

Fases de implementação​

Marco 6 — Sistema base:

  • Slots de upgrade no Controller (NBT)
  • Aplicação de multiplicadores no Scheduler
  • Debug Wrench mostra upgrades instalados
  • Commands para testar (/weave upgrade add/remove)

Integração com o Loom, após o Marco 3:

  • Receitas de upgrade via Loom
  • UI do Loom com preview
  • Integração com sistema de energia

Marco 7 — Balanceamento:

  • Ajuste fino de multiplicadores
  • Testes de gameplay
  • Feedback da comunidade
  • Datapack candidato à release 1.0

Estrutura de Dados​

Controller NBT:

{
TierId: 3,
Upgrades: [
{Type: "speed", Tier: 3},
{Type: "speed", Tier: 3},
{Type: "efficiency", Tier: 3},
{Type: "channels", Tier: 3}
]
}

RuntimeEntry (cacheado):

class RuntimeEntry {
// Existing fields
int tier;
int channels;

// New fields
UpgradeSet upgrades; // Parsed from Controller NBT
double throughputMultiplier; // Computed from upgrades
double energyCostMultiplier;
double bufferMultiplier;
double channelsMultiplier;
}

Scheduler Integration:

int effectiveRate = (int) (baseRate * entry.throughputMultiplier);
int effectiveCost = (int) (baseCost * entry.energyCostMultiplier);
int effectiveChannels = (int) (baseChannels * entry.channelsMultiplier);

Casos de Uso​

Caso 1: Early Game (T1)​

Setup: T1 Controller + 10 Ports + gerador básico

Problema: Energia limitada, throughput baixo

Solução:

  • 1x Efficiency Upgrade (-20% consumo, -10% throughput)
  • 1x Capacity Upgrade (+50% buffer, +20% standby)

Resultado:

  • Rede sustentável 24/7 com gerador básico
  • Buffer aguenta picos de demanda
  • Trade-off aceitável de throughput (ainda em early game)

Caso 2: Mid Game (T2/T3)​

Setup: T3 Controller + 50 Ports + gerador solar

Problema: Throughput insuficiente para factory automation

Solução:

  • 3x Speed Upgrade (+150% throughput, +90% consumo)
  • 1x Channels Upgrade (+25% canais, +15% consumo)
  • 1x Capacity Upgrade (+50% buffer)

Resultado:

  • 2.5x throughput (factory funciona rápido)
  • Mais canais (menos gargalos)
  • Buffer maior (aguenta noite sem solar)
  • Consumo 2.15x (ainda sustentável com solar array)

Caso 3: End Game (T4+)​

Setup: T4 Controller + 100+ Ports + reactor de fusão

Problema: Energia infinita, quer máxima performance

Solução:

  • 4x Speed Upgrade (+200% throughput, +120% consumo)
  • 4x Channels Upgrade (+100% canais, +60% consumo)

Resultado:

  • 3x throughput (máximo)
  • 2x canais (zero gargalos)
  • 2.8x consumo (irrelevante com reactor)
  • Rede mais rápida possível em T4

Referências​