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.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 Máquinas (clique ou área; desvincular também por área). 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 face entra na rede ativa quando você escolhe um modo nela), e o Tirar redes tira a rede das faces com modo Nenhum de um grupo ou de uma exceção, com Desfazer.
  • 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: escolhe a rede ativa e põe roteadores nela, um a um ou por área, nas abas e faces marcadas (Itens, Fluidos, Energia e, com o Mekanism e o Ars Nouveau, Químicos e Source; linha Faces desde a 1.9); em "Nenhuma (desvincular)", tira essas faces da rede. No modo Máquinas, vincula máquinas a um roteador com o Upgrade de Alcance.
  • Configurador: copia a configuração de um roteador e cola em outro, ou em todos os de uma área (só nos presos ao mesmo tipo de máquina, ou em qualquer uma); todas as abas ou só um tipo, Source incluída. Segurando Alt esquerdo, uma roda escolhe o modo e o tipo colado (1.6); Shift + clique no ar e Shift + roda do mouse também.
  • 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.
  • 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 com redstone; 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 128 FE/t por cristal no Básico a 8 câmaras e 1.073.741.824 FE/t no Ultimate (o Lapidado rende o dobro). O JEI mostra a estrutura em 3D.
  • 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 (até 512 milhões de FE na Esmeralda) 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 1.000 100 64 blocos —
Avançado 256 16.000 8.000 800 512 blocos 6 blocos, 8 máquinas
Elite 2.048 128.000 64.000 6.400 Dimensão inteira 12 blocos, 16 máquinas
Esmeralda 16.384 1.024.000 512.000 51.200 Entre dimensões 16 blocos, 32 máquinas
Allthemodium¹ 131.072 8.192.000 4.096.000 409.600 Entre dimensões 24 blocos, 48 máquinas
Vibranium¹ 1.048.576 65.536.000 32.768.000 3.276.800 Entre dimensões 32 blocos, 64 máquinas
Unobtainium¹ 8.388.608 524.288.000 2.097.152.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). 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