Sobre o projeto

Redstore é um pequeno mod Fabric para Minecraft 26.3 que compacta circuitos de redstone já possíveis em vanilla em blocos únicos, com o objetivo de manter as engenhocas em servidores técnicos legíveis e compactas. O autor ressalta que nada do que é adicionado supera os recursos do survival vanilla sem comandos: uma porta lógica é um conjunto de tocha e repetidor em uma única célula, o funil filtrante é a clássica célula classificadora com comparador, e o carregador de chunks planejado é uma câmara de estase de pérola do End sem a pérola. O objetivo declarado é remover o tédio, não os limites. Status: inicial e não lançado. As três portas, o relógio e o funil filtrante estão implementados; o carregador de chunks está especificado, mas não implementado. O ID de mod `redstore` é um codinome de trabalho e o nome público ainda não está definido. Blocos descritos no README: - Porta AND / OR / XOR: placas do tamanho de um repetidor com duas entradas laterais e uma saída frontal, com um tick de redstone de atraso. Um clique com o botão direito as inverte em NAND, NOR e XNOR. Cada uma é fabricada com seu próprio metal e exibe um painel desse metal: ferro, cobre e ouro. - Relógio de redstone: emite um sinal periódico. O clique com o botão direito percorre oito configurações, de 1 a 4 ticks de redstone por fase, como uma onda quadrada ou um pulso de 1 tick. Funciona por padrão; um sinal em qualquer lado o para e mostra a barra de bedrock de um repetidor travado. - Funil filtrante: um funil com um slot de filtro extra, além de whitelist/blacklist e correspondência estrita/frouxa. O filtro controla o que pode entrar; tudo o que está dentro sempre pode sair. - Carregador de chunks: especificado, não implementado. Manteria seu próprio chunk carregado à força e totalmente em tick mesmo após reinícios. Requisitos: Minecraft 26.3, Fabric Loader 0.19.5 ou mais novo, Fabric API (necessária para o construtor de block entity e o gancho da aba criativa) e Java 25. Precisa ser instalado tanto no cliente quanto no servidor porque adiciona blocos e uma tela. Não há arquivo de configuração; cada bloco se comporta da mesma forma em todos os lugares, e um servidor que não queira algum deles pode remover sua receita com um datapack. Build: o mod é distribuído como código-fonte. `./gradlew build` produz um jar em build/libs/, e `./gradlew runClient` inicia um cliente de desenvolvimento. Um JDK 25 ou mais novo é o único pré-requisito; o Gradle vem pelo wrapper e o Minecraft é baixado pelo Loom. Como o Minecraft é distribuído sem ofuscação a partir da 26.1, não há mappings a aplicar e o Loom não remapeia nada: as dependências de mod usam `implementation` e o artefato vem da tarefa comum `jar`. Estrutura do repositório: `spec/` contém o design escrito antes do código, um arquivo por bloco, com specs abstratas para componentes compartilhados de placas planas; `spec/ideas/` registra ideias consideradas e rejeitadas, como modos de portas analógicas. `src/` contém o mod, com classes exclusivas do cliente em `src/client`. `buildSrc/` contém a tarefa `generateAssets`. Abordagem artística: nenhuma textura é desenhada à mão e nenhuma é armazenada no repositório. Cada uma é uma textura vanilla com uma edição pequena e definida com precisão; por exemplo, o funil filtrante é um funil com a borda de sua abertura recolorida na madeira da moldura de itens, e uma porta é a placa do repetidor com sua linha apagada e um painel de metal embutido. Essas edições ficam em `buildSrc/` como código, e a tarefa Gradle `generateAssets` as aplica no momento do build, lendo a própria cópia do Minecraft do usuário e gravando em `build/`. Ela é executada automaticamente antes de `processResources`, então tanto o jar quanto o cliente de desenvolvimento recebem os assets sem etapas extras. O autor observa duas consequências: a edição permanece revisável em um diff e pode ser repetida quando a Mojang retoca uma textura original, e o repositório nunca contém uma textura modificada da Mojang, apenas o código que descreve a edição. Licença: o código é BSD 2-Clause. O README observa que os próprios termos do Minecraft se aplicam por cima, já que a Mojang permite mods desde que não sejam vendidos ou monetizados; portanto, o texto permissivo de uso comercial está subordinado às diretrizes de uso da Mojang. As texturas derivadas não pertencem ao projeto para serem licenciadas: são edições da arte da Mojang, e os termos da Mojang permitem modificar as texturas padrão para uso pessoal, mas não redistribuí-las. É por isso que o mod é fornecido como código-fonte e gera texturas na máquina do usuário a partir do jogo que ele já possui, em vez de distribuir um jar com as edições embutidas.