Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Wireless Automate

Transporte wireless de itens, fluidos, energia, químicos e Source para NeoForge 1.21.1 (Java 21), feito para o ATM10. A meta é ser o transporte mais rápido do pack e o mais leve em TPS: um gerenciador central, sem tick por bloco, com teto de tempo por tick.

Read in English

Estado: versão 2.8 (a energia do roteador e a capacidade da Bateria passam a seguir o Ressonador de Sinal do mesmo tier: o roteador escoa a geração cheia dele mais 5% e a Bateria guarda uma hora dela). Antes, 2.7 (acesso às redes privadas: convidados e times do FTB Teams, com sugestões ao digitar; o Mapa do Tablet arrastável e com todos os roteadores que você vê; o Vinculador com os modos Vincular e Abrir; o Configurador só com o Pincel). Antes, 2.6 (regras de componente nos filtros e sugestões ao digitar; o painel lembra a última face). Antes, 2.5 (telas redesenhadas em torno de um editor de faces mais limpo e o topo da escada do Ressonador rebalanceado). Antes, 2.4.1 (correção: escolher uma ação na face não atribui mais a rede ativa; a rede é escolhida explicitamente). Antes, 2.4 (o Ressonador de Sinal rebalanceado para ser o melhor gerador de cada tier: escada nova, Cristais Afinados, fadiga e refazer, Pó de Ressonância e Pó Carregado, interferência entre Núcleos, Eco Ressonante no Ultimate, a cascata de 11 itens e o Coração do Ressonador por tier; a câmara animada por core shader; a Lista do Tablet por roteador, com renomear). Antes, 2.3 (nomes para máquinas vinculadas e grupos, e o destaque da máquina no mundo, através dos blocos; a Lista do Tablet em árvore, com as máquinas de cada roteador, e a visão por máquinas; colar perfis em máquinas e em grupos inteiros; abas Lista, Fluxos, Mapa e Redes). Antes, 2.2 (aba Fluxos no Tablet, com o que entra e sai de cada rede; o Vinculador vincula máquinas sem rede e o Tirar redes, com Desfazer; uma rodada inteira de eficiência no servidor, na rede e no cliente). Antes, 2.1 (o Ressonador de Sinal, gerador multibloco de cristal sintonizável, e os botões da lista das máquinas do Upgrade de Alcance). Antes, 2.0 (2.0.1: o Tablet mostra os nós das redes públicas de outros jogadores; tema claro e escuro em todas as telas, pelo botão lua/sol do cabeçalho; painel do nó: as faces da máquina desdobradas como um cubo, na tela do roteador e no Tablet; a Lista do Tablet com busca única, etiquetas, filtros rápidos e grupos, edição do nó escolhido à distância e copiar e colar perfil com desfazer; o modo numa face sem rede põe a face na rede ativa; correção do crash com a lixeira do Trash Cans). Antes, 1.9 (Upgrade de Alcance: um roteador para várias máquinas no raio, por grupo e com exceção por máquina; rede por face da máquina, no lugar da rede da aba; subir tier pela bancada ou pelo Cartão de Upgrade com origem, pelo mesmo custo; máquina que recusa o item pelo tipo não faz mais o roteador dormir). Antes, 1.8 (correção do crash ao abrir o Baú, busca por # em tags e tooltip, Shift trava a ordem da lista como no AE2 e botão direito pega a metade do que há), 1.7 (1.7.1: o editor faz uma recarga por vez; editor de receitas para operadores: /wa recipes troca, desativa e restaura as receitas do mod dentro do jogo), 1.6 (roda do Configurador no Alt esquerdo e o modo Área em qualquer máquina) e 1.5 (1.5.0: controles no estilo do Mouse Tweaks no Baú, como Shift + arrastar, rodinha e Shift + duplo clique, e NeoForge 21.1.248; 1.5.1: o Baú enche slots de pilha grande de outros mods de uma vez; 1.5.2: identidade visual nova "Porcelana e Sinal", com itens animados, blocos 3D, telas claras e hitboxes justas). Baixe no CurseForge ou na release mais recente do GitHub, as duas com o changelog. Requer NeoForge 21.1.248 ou mais novo (roda no ATM10).

Recursos

  • Roteador Wireless: preso a qualquer face de uma máquina, acessa todas as faces dela; Shift + clique direito com as mãos vazias gira o roteador 90° (1.3), sem mudar a configuração das faces.
  • Rede por face (1.9): cada face da máquina, em cada tipo (Itens, Fluidos, Energia, Químicos e Source), entra na sua própria rede; tudo do mesmo tipo na mesma rede troca entre si. Numa fornalha com um roteador só, a face de cima tira da rede da mina e a de baixo manda para a do armazém. Mundos antigos migram sozinhos (a rede da aba vai para as seis faces).
  • Upgrade de Alcance (1.9): no segundo slot de upgrade, faz um roteador mover de e para várias máquinas no raio dele, vinculadas pelo Vinculador no modo Vincular (clique ou área; desvincular pela chave Desvincular da tela dele). As máquinas do mesmo bloco formam um grupo com um perfil, com exceção por máquina, e os lados seguem a frente de cada uma. Raio e limite por tier na config (machineRadius e maxMachines): de 6 blocos e 8 máquinas no Avançado a 64 blocos e 128 máquinas no Ultimate; o Básico não aceita. Cada máquina tem a vazão cheia do tier. Desde a 2.1, a linha da máquina escolhida na lista tem Atualizar, Voltar ao perfil e Desvincular, e uma máquina trocada por outro bloco aparece como "trocada" até o Atualizar passá-la para o grupo do bloco novo. Desde a 2.2, o Vinculador vincula sem rede (a rede de cada face é escolhida explicitamente na linha Rede do painel), e o Tirar redes tira a rede das faces com modo Nenhum de um grupo ou de uma exceção, com Desfazer. Desde a 2.3, máquinas e grupos ganham nome (✎ ou dois cliques), cada linha mostra as coordenadas e o estado, o Olho ◉ acende a máquina no mundo através dos blocos, com uma linha até o roteador (até 64, até apagar), e o clique com o Tablet numa máquina abre a central com ela escolhida.
  • Modos por face e por tipo: Extrair, Inserir, Armazém ou Nenhum, com prioridade, round-robin no empate e controle por redstone.
  • Filtros sem limite: item ou fluido exato, tag e mod, lista branca ou negra, limite de estoque, e Cartões de Filtro (dois slots por face e por tipo, copiáveis na bancada). A tela é redimensionável: ponha um item no inspetor para ver e marcar todas as tags dele, ou busque em todas as tags do jogo com a prévia dos itens.
  • Regras por propriedade (1.0): pegue qualquer item encantado, danificado, renomeado, com poção, não empilhável ou com conteúdo, um encantamento com nível mínimo (1.3: digitado pelo nome, com sugestões, e nível de 1 a 255) ou a durabilidade abaixo de X%, limitado a uma tag ou mod (só armadura encantada, ferramentas para o reparo).
  • Cinco tiers (1.2; Básico, Avançado, Elite, Esmeralda e Ultimate), e oito com o Allthemodium (Allthemodium, Vibranium e Unobtainium entre a Esmeralda e o Ultimate), subidos por um anel de ingredientes por tier, pelo mesmo custo de dois jeitos (1.9): o bloco no centro do anel do tier seguinte, na bancada, ou o Cartão de Upgrade com origem ("Básico → Elite"; o anel em volta de uma Redstone, e um cartão no centro do anel seguinte pula mais um tier), clicando no roteador colocado, que mantém a configuração, ou juntando os dois na bancada. Cartões antigos continuam subindo de qualquer tier abaixo. No ATM10, o anel do Ultimate pede fragmentos de ATM Star.
  • Vinculador (dois modos, 2.7): Vincular escolhe um roteador com o Upgrade de Alcance (clique nele) e vincula as máquinas em que você clica, ou as de uma área marcada com Shift + clique em dois blocos (a mais perto primeiro, até o raio e o limite do tier); a chave Desvincular da tela tira em vez de pôr. Abrir abre a tela do roteador que chega na máquina em que você clica, já editando aquela máquina (com mais de um, uma lista curta; alcance, mayInteract e proteções de outros mods conferidos no roteador). O Vinculador não mexe mais em redes: a rede de cada face se escolhe na tela do roteador ou no Tablet.
  • Configurador (só o Pincel, 2.7): Shift + clique num roteador copia a configuração, clique cola em outro, Shift + clique num bloco sem roteador limpa a cópia; todas as abas ou só um tipo (Source incluída). Segurando Alt esquerdo, uma roda com um anel escolhe o tipo colado; Shift + roda do mouse também. A rede de cada face só é colada se você puder usá-la, e a face só sai de uma rede que você edita. Para configurar vários de uma vez, cole o perfil nos marcados do Tablet.
  • Upgrade de chunk loading: mantém carregado o chunk do roteador e o da máquina, com limite por jogador na config.
  • Editor de receitas (1.7): /wa recipes, só para operadores, abre uma tela para trocar, desativar e restaurar as receitas de bancada do mod (itens pelo inventário ou pelo JEI, tag no lugar do item, quantidade do resultado). Grava um datapack em config/wirelessautomate/recipes/, que vale em todos os mundos da instância e sobrevive a atualizações.
  • Tablet de Rede: lista, mapa, Fluxos, redes e grupos à distância, e abre a tela do roteador de longe; um roteador aparece em cada rede de uma face dele ("faces em 2 redes"). Desde a 2.0, a Lista tem busca única (máquina, rede e nome, com etiquetas), filtros rápidos e grupos por máquina, edita o nó escolhido no painel ao lado e copia e cola perfis numa máquina, num grupo ou nas marcadas, com desfazer. Desde a 2.2, a aba Fluxos mostra, por tipo ou por rede, o que entra (faces Extrai) e sai (faces Insere), o saldo dos Armazéns e o que precisa de atenção (origens vazias ou esperando destino, destinos cheios, faces paradas por redstone e sem rede); o clique numa linha abre a Lista filtrada. Desde a 2.3, as abas são Lista, Fluxos, Mapa e Redes (os grupos de redes viram seções de Redes); na Lista, ▸ abre um roteador com a presa, os grupos e cada máquina com o estado e o Olho ◉, o seletor Roteadores | Máquinas mostra todas as máquinas da base pelo tipo de bloco, o Selecionar marca roteadores, grupos, máquinas e blocos, e o Colar grava a exceção da máquina (com os lados pela frente dela) ou o perfil do grupo inteiro; o Mapa mostra as máquinas do roteador escolhido. Desde a 2.7, o Mapa se move arrastando (o botão Centralizar volta para você) e mostra todos os roteadores que você vê na dimensão (até 1.024 mais perto), sem depender da busca nem dos filtros da Lista, e uma rede privada pode ter convidados (que usam e editam, sem gerenciar) e times do FTB Teams (opcional, ao vivo), com sugestões ao digitar. Desde a 2.4, cada roteador é uma linha da Lista (ícone do tier, nome ou "Roteador <tier>", pílula do tier e a máquina presa na segunda linha), em ordem de nome, e o ✎ ou dois cliques renomeiam o roteador e a presa ali mesmo.
  • Ressonador de Sinal (2.1): gerador multibloco de cristal. Minere o Quartzo de Sinal (Overworld, pedra e ardósia), monte uma caixa oca 5×5×5 em volta do Núcleo de Ressonância e ponha Cristais de Sinal nas câmaras. Cada Ressonador tem uma estação que escorrega devagar: gire o dial na tela do Núcleo até a lâmpada EM SINTONIA para 100%, ou ponha um Sintonizador para seguir a estação sozinho, um pouco abaixo. Pelo vidro, a câmara mostra a sintonia (figura de luz, cristais e a placa de Chladni). O cristal gasto fica Opaco e recarrega no Núcleo; a energia sai pela Porta de Energia, direto num roteador. Tier pelo Núcleo, com os mesmos Cartões de Upgrade: de 1 câmara e 216 FE/t por cristal no Básico a 8 câmaras e 268.435.456 FE/t no Ultimate (o Lapidado rende o dobro). O JEI mostra a estrutura em 3D. Desde a 2.4, é o melhor gerador de cada tier e custa por isso: do Elite para cima, cada câmara pede o Cristal Afinado do tier (o comum rende 1/4 e o Lapidado 1/2); cada cristal tem 8 cargas de integridade e depois racha, refeito na bancada com 4 Cristais de Sinal; a recarga gasta redstone ou Pó de Ressonância no Básico e no Avançado, só o Pó no Elite e na Esmeralda e o Pó Carregado do tier do Allthemodium para cima; outro Núcleo montado a até 32 blocos tira 15% da eficiência (até 60%); o Núcleo Ultimate queima Afinados Ultimate rachados como Eco Ressonante, +5% permanente cada, sem teto. O Núcleo Básico pede o Coração do Ressonador na receita e subir o Núcleo gasta o Coração do tier de destino, feito pela cascata de 11 itens (Liga de Sinal, Placa, Fio, Bobina, Lente Harmônica, Circuito e Matriz de Fase, Estabilizador de Campo, Núcleo Condensado, Moldura de Liga no Ultimate). A câmara montada é desenhada por core shader (Núcleo de plasma, conduto pela vazão real, espiral da recarga, aura e cristais 3D); com shaderpack do Iris, fica o desenho antigo.
  • Tema claro e escuro (2.0): o botão lua/sol no canto do cabeçalho troca todas as telas; a escolha fica na config do cliente.
  • Baú Wireless (1.0): guarda itens por tipo e quantidade, sem slots e com tipos ilimitados, até a capacidade do tier (de 32.768 itens no Básico a 16.777.216 na Esmeralda e 8.589.934.592 no Unobtainium, sem limite no Ultimate), subida pelos mesmos anéis e Cartões de Upgrade. Entre dois Baús, o roteador move um tipo inteiro numa operação só. Tem tela em lista com busca (@mod e, desde a 1.8, # em tags e tooltip) e ordenação (travada enquanto o Shift está apertado, como no AE2), os gestos do Mouse Tweaks e do vanilla (Shift + arrastar, rodinha e Shift + duplo clique), filtro de entrada (o estoque vira "guardar até N") e sinal de comparador. Quebrado, leva o conteúdo e o filtro no item. Para os outros mods, é um inventário comum; como origem, enche slots de pilha grande (upgrades de pilha do Sophisticated, gavetas) de uma vez (1.5.1: 2,1 bilhões num barril com o Upgrade Ômega em um tick).
  • Tanque, Bateria e Tanque Químico Wireless (1.0): o mesmo molde do Baú para fluidos (vários por tanque, até 131 milhões de mB na Esmeralda), energia (a capacidade de cada tier é uma hora da geração cheia do Ressonador do mesmo tier: de 31,1 milhões de FE no Básico a 92,16 bilhões na Esmeralda e 10,8 trilhões no Unobtainium; sem limite no Ultimate; desde a 2.7, a energia do roteador de cada tier é a geração cheia do Ressonador dele mais 5%) e químicos do Mekanism (só com ele). Sem limite no Ultimate. O Tanque troca baldes direto no bloco e pela tela (recipientes no cursor), a Bateria mostra a carga e a variação por tick. Para os outros mods e para o roteador, são um tanque, uma bateria e um tanque de químico comuns, que já passam bilhões por chamada.
  • Tanque de Source Wireless (1.1, só com o Ars Nouveau): jarra fina com a coluna de vidro mostrando o nível, de 10.000 a 5.120.000 de Source na escada vanilla (sem limite no Ultimate). Os Sourcelinks num raio de 5 blocos depositam nele e as máquinas do Ars por perto tiram dele como de uma Source Jar; entre dois tanques o roteador move tudo numa operação. Mesmos Cartões de Upgrade, leva o conteúdo ao quebrar, comparador e tela própria.
  • Telas redimensionáveis (1.1): roteador, Tablet e Vinculador mudam de tamanho pela borda e pelo canto; as abas do roteador se adaptam à largura e o texto que não cabe é abreviado, com o tooltip inteiro.
  • Livro-guia (GuideME): na aba criativa e entregue a cada jogador no primeiro login.
Tier Itens/s Fluido e químico (mB/s) Energia (FE/t) Source/s Alcance Upgrade de Alcance
Básico 32 2.000 454 100 64 blocos —
Avançado 256 16.000 29.100 800 512 blocos 6 blocos, 8 máquinas
Elite 2.048 128.000 63.000 6.400 Dimensão inteira 12 blocos, 16 máquinas
Esmeralda 16.384 1.024.000 1.350.000 51.200 Entre dimensões 16 blocos, 32 máquinas
Allthemodium¹ 131.072 8.192.000 67.200.000 409.600 Entre dimensões 24 blocos, 48 máquinas
Vibranium¹ 1.048.576 65.536.000 84.500.000 3.276.800 Entre dimensões 32 blocos, 64 máquinas
Unobtainium¹ 8.388.608 524.288.000 158.000.000 26.214.400 Entre dimensões 48 blocos, 96 máquinas
Ultimate Sem limite Sem limite Sem limite Sem limite Entre dimensões 64 blocos, 128 máquinas

¹ Só com o mod Allthemodium; sem ele, a Esmeralda sobe direto para o Ultimate.

A vazão vale por face e por tipo (sourcePerSecond é a da Source); a energia de cada tier escoa a geração máxima do Ressonador do mesmo tier por uma face. Os valores ficam na config do servidor (<mundo>/serverconfig/wirelessautomate-server.toml; num modpack, o padrão vai em defaultconfigs/), assim como o alcance, o raio e o limite do Upgrade de Alcance, a capacidade dos armazenamentos por tier (storage.chestCapacity, tankCapacity, batteryCapacity, chemicalTankCapacity e sourceTankCapacity), o chunk loading e o tamanho da área do Vinculador. A capacidade conta o total guardado, sem limite de tipos diferentes.

Integrações opcionais

Mod O que traz
Mekanism Químicos: aba Químicos no roteador, com filtro por químico ou mod, e o Tanque Químico Wireless
Ars Nouveau (5.2 ou mais novo) Source: aba Source no roteador (Source Jars, Relays e Imbuement Chamber ligam direto) e o Tanque de Source Wireless
Allthemodium (All The Tweaks opcional) Os tiers Allthemodium, Vibranium e Unobtainium, e no ATM10 o anel do Ultimate com fragmentos de ATM Star
JEI Arrastar e Shift + clique para os filtros (e para o inspetor de tags), e as receitas de subir tier na bancada (bloco no anel, cartões com origem e bloco + cartão, no roteador e nos armazenamentos), e o Ressonador: a estrutura em 3D, a recarga e a tabela por tier
GuideME O livro-guia, em inglês e português

Sem um deles, a parte correspondente não carrega e o resto funciona normal.

Desenvolvimento

./scripts/setup.sh              # Linux, macOS ou WSL
.\scripts\setup.ps1             # Windows (PowerShell)

O script instala o que faltar (JDK 21, git, curl, unzip) e roda o primeiro build, que baixa e decompila o Minecraft (uns 4 minutos). Opções: --gametest (-GameTest) roda também os GameTests; --no-build (-NoBuild) só instala as ferramentas.

Comando O que faz
./gradlew build Compila, roda os testes JUnit e gera o jar em build/libs/
./gradlew test Só os testes JUnit (lógica sem Minecraft)
./gradlew runGameTestServer GameTests num servidor sem tela (sem o Mekanism); falha se algum teste falhar
./gradlew runGameTestServerChemicals GameTests de químicos, num servidor com o Mekanism
./gradlew runGameTestServerSource GameTests de Source, num servidor com o Ars Nouveau (e GeckoLib e Curios)
./gradlew runGameTestServerAllthemodium GameTests dos tiers do ATM, com o Allthemodium, o All The Tweaks e o GeckoLib
./gradlew runClient Cliente de dev com JEI, Sophisticated Storage, Observable, Mekanism, Ars Nouveau (com GeckoLib e Curios), Allthemodium, All The Tweaks e GuideME, para testar à mão
./gradlew runData Geradores de dados, saída em src/generated/resources/
./scripts/e2e.sh Teste de ponta a ponta num mundo real (precisa de Xvfb)
./scripts/bench.sh <cenários> Benchmark num servidor dedicado com Sophisticated Storage (ver docs/benchmark.md)

O CI (.github/workflows/build.yml) roda build, runGameTestServer, runGameTestServerChemicals, runGameTestServerSource e runGameTestServerAllthemodium a cada push e pull request.

Organização

O mapa do código-fonte fica no CLAUDE.md ("Mapa do código").

  • docs/especificacao.md: especificação do mod (fonte da verdade do design).
  • docs/progresso.md: o que está pronto, o que falta e o próximo passo.
  • docs/benchmark.md: como rodar o benchmark e os resultados.
  • docs/pacote-de-design.md: sprites e modelo do roteador.
  • docs/curseforge/: descrição, capa, banner e imagens da página do CurseForge.
  • scripts/: setup.sh/setup.ps1, e2e.sh, bench.sh, textures/ (gera as texturas), guide/ (gera as páginas do guia) e curseforge/ (gera as imagens do CurseForge).

Licença

All Rights Reserved: o código e os recursos estão aqui para consulta, sem permissão para copiar, modificar ou redistribuir (ver LICENSE). Para sugestões e bugs, abra uma issue.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages