Minestom é uma biblioteca de código aberto que permite aos desenvolvedores criar seu próprio software de servidor Minecraft, sem qualquer código da Mojang.
A principal diferença entre o servidor vanilla da Mojang e um servidor baseado em minestom é que o nosso não contém nenhum recurso por padrão! No entanto, temos uma API completa que foi projetada para permitir que você torne tudo possível com facilidade.
Esta é uma API de desenvolvedor que não deve ser usada por usuários finais. Substituir Bukkit/Forge/Sponge por isso não funcionará , pois não implementamos nenhuma de suas APIs.
Minestom não é instalado como Bukkit/Forge/Sponge. Como Minestom é uma biblioteca Java, ela deve ser carregada da mesma forma que qualquer outra biblioteca Java pode ser carregada. Isso significa que você precisa adicionar o Minestom como uma dependência, adicionar seu código e compilar você mesmo.
Minestom está disponível no Maven Central e pode ser instalado da seguinte forma (Gradle/Groovy):
repositories {
mavenCentral()
maven { url ' https://jitpack.io ' }
}
dependencies {
implementation ' net.minestom:minestom-snapshots:<???> '
}
Um exemplo de como usar a biblioteca Minestom está disponível aqui. Alternativamente, você pode verificar o wiki oficial ou os javadocs.
O Minecraft evoluiu muito desde o seu lançamento, a maioria dos servidores hoje não tira proveito dos recursos vanilla e até tem que lutar por causa deles. Nosso público-alvo são aqueles que desejam fazer um servidor que pouco se beneficie dos recursos básicos. por exemplo, criativo, kitpvp. O objetivo é oferecer mais desempenho para quem precisa. Em outras palavras, faz sentido usar o Minestom quando leva menos tempo para implementar todos os recursos vanilla ausentes que você deseja do que remover todos os recursos vanilla que irão atrasá-lo.
Minestom não é perfeito, nossas escolhas o tornam muito melhor em alguns casos e pior em outros.
Mesmo que não incluamos nada por padrão no jogo, simplificamos a forma como você os adiciona, aqui está uma prévia.
É o nosso conceito principal, os mundos são ótimos para a sobrevivência com amigos, mas quando aumentam, podem se tornar incontroláveis. Os melhores exemplos podem ser encontrados em Skyblock ou minijogos, não conseguindo separar cada parte adequadamente e sendo obrigado a salvar tudo em arquivos, sem falar no overhead causado pelos dados desnecessários neles contidos. As instâncias são uma solução leve para isso, podendo ter cada pedaço apenas na memória, copiando e enviando para outro player rapidamente, com serialização customizada e muito mais...
Ser capaz de criar instâncias diretamente em trânsito é essencial, pois acreditamos que isso pode impulsionar muitos outros projetos.
As instâncias também trazem benefícios de desempenho, ao contrário de algumas outras que serão totalmente single-threaded ou talvez usando um thread por mundo, estamos usando um número definido de threads (pool) para gerenciar todos os pedaços independentemente das instâncias, o que significa usar mais energia da CPU.
Minestom por padrão não sabe o que é um baú, você terá que dizer a ele que ele abre um inventário. Todos os "blocos especiais" (que não são apenas visuais) precisam de um manipulador especializado. Depois de aplicar este manipulador, você terá um bloco que pode ser colocado em qualquer lugar de forma simples. Porém, todos os blocos estão visualmente lá, eles simplesmente não terão interação por padrão.
Os termos monstros "passivos" ou "agressivos" não existem, ninguém impede você de fazer uma galinha voadora se precipitar contra qualquer jogador que chegue muito perto, fazer isso com NMS é uma verdadeira bagunça por causa do ofuscamento e da grande herança.
É um campo onde o Minecraft evoluiu muito, os inventários hoje são muito utilizados como interface cliente<->servidor com itens clicáveis e callback, suportamos essas interações nativamente sem a necessidade de programar sua solução.
Os comandos são a forma mais simples de comunicação entre clientes e servidor. Desde a versão 1.13 o Minecraft incorporou uma nova biblioteca denominada "Brigadeiro", integramos então uma API projetada para utilizar todo o potencial dos tipos args.
#mcdevs
- pesquisa de protocolos e formatos de arquivo.Veja o arquivo de contribuição! Todos os recursos WIP são visualizados como rascunhos de PRs
Este projeto está licenciado sob a Licença Apache Versão 2.0.