Introdução
Minecraft é um jogo que permite aos jogadores explorar, construir e sobreviver em um mundo de blocos. Mas e se você quiser adicionar alguns novos recursos ou alterar alguns existentes? É aí que entra o modding. Modding é o processo de criar modificações ou mods personalizados para o Minecraft que alteram ou aprimoram o jogo de alguma forma.
minecraft but eggs drop op items download
Neste artigo, mostrarei como criar um mod simples que faz com que os ovos soltem itens OP quando lançados. OP significa overpowered, o que significa que esses itens são muito poderosos e raros no jogo. Por exemplo, você pode obter uma espada netherita com nitidez 32767 ou uma poção que lhe dá todos os efeitos positivos no jogo. Este mod tornará o lançamento de ovos mais divertido e recompensador, pois você nunca sabe o que pode conseguir.
Para criar este mod, usaremos o Forge, um mod loader e framework para Minecraft Java Edition. O Forge facilita a criação e instalação de mods, além de garantir a compatibilidade entre diferentes mods. Também usaremos um Ambiente de Desenvolvimento Integrado (IDE), como Eclipse ou IntelliJ IDEA, que nos ajudará a escrever e depurar nosso código.
Pré-requisitos
Antes de começar a criar nosso mod, precisamos ter certeza de que temos o seguinte software e ferramentas instaladas em nosso computador:
Uma instalação do Minecraft Java Edition (versão 1.16.5 ou superior).
Uma instalação do Java Development Kit (JDK) 8 ou superior.
Uma instalação do Forge (versão 36.2.0 ou superior).
Uma instalação de um IDE como Eclipse ou IntelliJ IDEA.
Você pode baixar o Minecraft em .
Configurando o espaço de trabalho
Baixando e extraindo o MDK
O primeiro passo para criar nosso mod é baixar e extrair o Mod Developer Kit (MDK) do Forge.O MDK contém alguns arquivos e pastas que nos ajudarão a configurar nosso projeto de mod.
Para baixar o MDK, acesse e clique em 'Mdk' na versão que deseja usar (neste caso, 36.2.0). Em seguida, clique em 'Ignorar' no canto superior direito após aguardar alguns segundos. Isso fará o download de um arquivo zip contendo o MDK.
Em seguida, crie uma nova pasta em seu computador onde deseja armazenar seu projeto mod. Por exemplo, você pode nomeá-lo como 'EggDropMod'. Em seguida, extraia o conteúdo do arquivo zip para essa pasta. Você deve ver alguns arquivos e pastas como 'build.gradle', 'src' e 'run'.
Importando o projeto para um IDE
A próxima etapa é importar o projeto para um IDE como Eclipse ou IntelliJ IDEA. Isso nos permitirá editar e compilar nosso código, bem como executar e depurar nosso mod.
Se você estiver usando o Eclipse, siga estas etapas:
Abra o Eclipse e selecione 'Arquivo' > 'Importar'.
Selecione 'Gradle' > 'Existing Gradle Project' e clique em 'Next'.
Clique em 'Browse' e selecione a pasta onde você extraiu o MDK (neste caso, 'EggDropMod'). Clique em 'Concluir'.
Aguarde o Eclipse importar o projeto e resolver as dependências.
Se você estiver usando o IntelliJ IDEA, siga estas etapas:
Abra o IntelliJ IDEA e selecione 'Arquivo' > 'Novo' > 'Projeto de fontes existentes'.
Selecione a pasta onde você extraiu o MDK (neste caso, 'EggDropMod') e clique em 'OK'.
Selecione 'Importar projeto de modelo externo' e escolha 'Gradle'. Clique em 'Avançar'.
Certifique-se de que 'Usar importação automática' e 'Criar diretórios para raízes de conteúdo vazias automaticamente' estejam marcados. Clique em 'Concluir'.
Aguarde o IntelliJ IDEA importar o projeto e resolver as dependências.
Gerando configurações de execução
A etapa final para configurar nosso espaço de trabalho é gerar algumas configurações de execução que nos permitirão executar e testar nosso mod em diferentes ambientes. Essas configurações são definidas por algumas tarefas do Gradle que precisamos executar.
Se você estiver usando o Eclipse, siga estas etapas:
No Package Explorer, clique com o botão direito do mouse no nome do projeto (neste caso, 'EggDropMod') e selecione 'Gradle' > 'Refresh Gradle Project'. Aguarde o Eclipse atualizar o projeto.
Clique com o botão direito do mouse no nome do projeto novamente e selecione 'Executar como' > 'Executar configurações'. Clique duas vezes em 'Gradle Project' para criar uma nova configuração.
Nomeie a configuração 'genEclipseRuns'. No campo 'Gradle Tasks', digite ':genEclipseRuns'. Clique em 'Executar'. Aguarde a conclusão da tarefa.
Feche a janela Configurações de execução. Você deve ver duas novas configurações de inicialização sob o nome do projeto: 'EggDropMod_Client.launch' e 'EggDropMod_Server.launch'. Estas são as configurações que permitirão que você execute seu mod como cliente ou servidor.
Se você estiver usando o IntelliJ IDEA, siga estas etapas:
Na janela da ferramenta Gradle, expanda o nome do projeto (neste caso, 'EggDropMod') e clique duas vezes em 'Tasks' > 'fg_runs' > 'genIntellijRuns'. Aguarde a conclusão da tarefa.
Na janela Run/Debug Configurations, você verá duas novas configurações: 'EggDropMod_Client' e 'EggDropMod_Server'. Estas são as configurações que permitirão que você execute seu mod como cliente ou servidor.
Criando o modo
Editando o arquivo build.gradle
Agora que configuramos nosso espaço de trabalho, podemos começar a criar nosso mod. A primeira coisa que precisamos fazer é editar o arquivo build.gradle, que é o arquivo que define como nosso mod é construído e configurado.
Abra o arquivo build.gradle em seu IDE e procure a seguinte seção:
// Os mapeamentos podem ser alterados a qualquer momento, e devem estar no seguinte formato. // snapshot_YYYYMMDD Os instantâneos são criados todas as noites. // stable_# Os estábulos são construídos a critério da equipe MCP. // Use mapeamentos não padrão por sua conta e risco. eles podem nem sempre funcionar. // Simplesmente execute novamente sua tarefa de configuração após alterar os mapeamentos para atualizar seu espaço de trabalho. canal de mapeamentos: 'instantâneo', versão: '20201028-1.16.3' // makeObfSourceJar = false // um jar de fontes chamado Srg é criado por padrão.descomente isso para desativar.
Esta seção define os mapeamentos usados para desofuscar o código do Minecraft e torná-lo legível para nós. Precisamos alterar a versão dos mapeamentos para corresponder à versão do Minecraft que estamos usando, que é 1.16.5 neste caso. Para encontrar os mapeamentos mais recentes para 1.16.5, vá para e procure a pasta 'net/minecraftforge/forge/1.16.5-36.2.0/'. Dentro dessa pasta, você verá um arquivo chamado 'forge-1.16.5-36.2.0-mdk.zip'. Clique nele e faça o download.
Extraia o arquivo zip e abra o arquivo 'build.gradle' dentro dele. Procure a mesma seção de antes e copie a versão dos mapeamentos de lá. Neste caso, é '20210625-1.16.5'. Cole-o em seu próprio arquivo build.gradle, substituindo a versão antiga.
Seu arquivo build.gradle agora deve ficar assim:
// Os mapeamentos podem ser alterados a qualquer momento, e devem estar no seguinte formato. // snapshot_YYYYMMDD Os instantâneos são criados todas as noites. // stable_# Stables são construídos a critério da equipe MCP. // Use mapeamentos não padrão por sua conta e risco. eles podem nem sempre funcionar. // Simplesmente execute novamente sua tarefa de configuração após alterar os mapeamentos para atualizar seu espaço de trabalho. canal de mapeamentos: 'snapshot', versão: '20210625-1.16.5' // makeObfSourceJar = false // um jar de fontes chamado Srg é criado por padrão. descomente isso para desativar.
Em seguida, procure a seguinte seção:
// Aqui podemos definir dependências que não são necessárias para dependências de desenvolvimento // Para mais informações... // // // exemplo // minecraft 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adiciona buildcraft ao dev env // compila 'com.mod-buildcraft:build craft:6.0.8:dev' // adiciona buildcraft ao classpath de compilação //minecraft 'com.github.User:Repo:Tag'
Esta seção define as dependências que nosso mod precisa para funcionar corretamente. Dependências são outros mods ou bibliotecas com as quais nosso mod depende ou interage. Por exemplo, se quiséssemos usar alguns recursos de outro mod, precisaríamos adicioná-lo como uma dependência aqui.
Nesse caso, nosso mod não precisa de nenhuma dependência externa, então podemos deixar esta seção vazia.
Finalmente, procure a seguinte seção:
version = '1.0' group = 'com.yourname.modid' // archivesBaseName = 'modid'
Esta seção define algumas informações sobre nosso mod, como sua versão, grupo e nome. Precisamos alterar esses valores para corresponder aos detalhes do nosso mod.
A versão é uma string que indica em qual versão do nosso mod estamos trabalhando. Pode ser o que quisermos, mas é recomendável seguir , que consiste em três números separados por pontos: major.minor.patch.
O grupo é uma string que identifica quem fez o mod e a qual domínio ele pertence. Geralmente está no formato 'com.domain.modid', onde domínio é o inverso do seu site ou endereço de e-mail e modid é o identificador exclusivo do seu mod. Por exemplo, se seu site for 'example.com' e seu mod for 'eggdrop', seu grupo seria 'com.example.eggdrop'.
O archivesBaseName é uma string que define o nome do arquivo jar que será gerado quando construirmos nosso mod. Geralmente é o mesmo que o modid, mas pode ser diferente se você quiser. Por exemplo, se seu modid for 'eggdrop', seu archivesBaseName pode ser 'eggdrop-mod'.
Para este tutorial, usaremos os seguintes valores:
version = '1.0.0' group = 'com.bing.eggdrop' // archivesBaseName = 'eggdrop'
Salve o arquivo build.gradle e atualize o projeto em seu IDE.
Criando uma classe mod principal
O próximo passo é criar uma classe mod principal, que é a classe que define as informações básicas e o comportamento do nosso mod. Essa classe estenderá a classe ForgeMod e usará a anotação @Mod para marcá-la como um mod.
Para criar a classe mod principal, siga estas etapas:
No seu IDE, vá para a pasta 'src/main/java' e crie um novo pacote com o mesmo nome do seu grupo (neste caso, 'com.bing.eggdrop').
Dentro desse pacote, crie uma nova classe com o mesmo nome do seu archivesBaseName (neste caso, 'EggDrop').
Na classe, adicione o seguinte código:
pacote com.bing.eggdrop; import net.minecraftforge.fml.common.Mod; @Mod("eggdrop") public class EggDrop extends ForgeMod public EggDrop() super();
Vamos explicar o que esse código faz:
A instrução package define a qual pacote essa classe pertence.
A instrução import importa as classes Mod e ForgeMod do Forge.
A anotação @Mod marca esta classe como um mod e especifica seu modid, que deve ser o mesmo definido no arquivo build.gradle.
A classe EggDrop estende a classe ForgeMod, que fornece algumas funcionalidades básicas para nosso mod.
O construtor chama o super construtor, que inicializa alguns campos e registra alguns eventos para nosso mod.
Registrando uma classe de manipulador de eventos
O próximo passo é criar uma classe event handler, que é a classe que vai tratar os eventos que ocorrem no jogo e afetam nosso mod. Por exemplo, usaremos esta classe para lidar com o evento que ocorre quando um jogador joga um item, que é o que precisamos para fazer nosso mod funcionar.
Para criar a classe do manipulador de eventos, siga estas etapas:
Em seu IDE, vá para o mesmo pacote onde você criou a classe mod principal (neste caso, 'com.bing.eggdrop').
Dentro desse pacote, crie uma nova classe com um nome de sua escolha (neste caso, 'EggDropEventHandler').
Na classe, adicione o seguinte código:
pacote com.bing.eggdrop; import net.minecraftforge.event.entity.item.ItemTossEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @Mod.EventBusSubscriber(modid = "eggdrop") public class EggDropEventHandler @SubscribeEvent public static void onItemToss(ItemTossEvent event) // TODO: Adicionar código para lidar com o evento de lançamento de item
Vamos explicar o que esse código faz:
A instrução package define a qual pacote esta classe pertence.
As instruções de importação importam as classes ItemTossEvent, SubscribeEvent e Mod do Forge.
A anotação @Mod.EventBusSubscriber marca esta classe como um manipulador de eventos para nosso mod e especifica seu modid, que deve ser o mesmo definido na classe mod principal e no arquivo build.gradle.
A classe EggDropEventHandler tem um método estático chamado onItemToss, que usa um parâmetro ItemTossEvent.
A anotação @SubscribeEvent marca esse método como assinante do ItemTossEvent, o que significa que ele será chamado sempre que um jogador jogar um item no jogo.
O corpo do método está vazio por enquanto, mas adicionaremos algum código a ele mais tarde.
Manipulando o ItemTossEvent
O próximo passo é adicionar algum código ao método onItemToss, que irá manipular o ItemTossEvent e fazer nosso mod fazer o que queremos. Nesse caso, queremos verificar se o item lançado é um ovo e, se for, gerar alguns itens OP no local do ovo.
Para isso, precisaremos utilizar alguns métodos e classes do Forge e do Minecraft, como World, ItemStack, Item e Random. Também precisaremos criar algumas constantes para definir o intervalo e a probabilidade dos itens OP que queremos gerar.
Adicione o seguinte código ao método onItemToss:
// Verifica se o item lançado é um ovo if (event.getEntityItem().getItem().getItem() == Items.EGG) // Obtém o mundo e a posição do ovo World world = event.getPlayer().world; duplo x = event.getEntityItem().getPosX(); duplo y = event.getEntityItem().getPosY(); duplo z = event.getEntityItem().getPosZ(); // Cria um gerador de números aleatórios Random random = new Random(); // Definir algumas constantes para os itens OP final int MIN_OP_ITEMS = 1; // O número mínimo de itens OP para gerar final int MAX_OP_ITEMS = 5; // O número máximo de itens OP para gerar final int OP_ITEM_CHANCE = 10; // A chance (em porcentagem) de cada item OP gerar final int MAX_ENCHANTMENT_LEVEL = 32767; // O nível máximo de encantamentos para os itens OP // Definir alguns arrays para os itens OP e seus encantamentos Item[] opItems = Items.NETHERITE_SWORD, Items.NETHERITE_PICKAXE, Items.NETHERITE_AXE, Items.NETHERITE_SHOVEL, Items.NETHERITE_HOE, Items.NETHERITE_HELMET, Items.NETHERITE_CHESTPLATE, Items.NET HERITE_LEGGINGS, Items.NETHERITE_BOOTS, Items.TOTEM_OF_UNDYING, Items.ELYTRA, Items.ENCHANTED_GOLDEN_APPLE; Enchantment[] opEnchantments = Enchantments.SHARPNESS, Enchantments.SMITE, Enchantments.BANE_OF_ARTHROPODS, Enchantments.KNOCKBACK, Enchantments.FIRE_ASPECT, Enchantments.LOOTING, Enchantments.SWEEPING, Enchantments.EFFICIENCY, Enchantments.SILK_TOUCH, Enchantments.FOR TUNE, Encantamentos.UNBREAKING, Encantamentos.MENDING; // Gera um número aleatório de itens OP para gerar int opItemCount = random.nextInt(MAX_OP_ITEMS - MIN_OP_ITEMS + 1) + MIN_OP_ITEMS; // Faz um loop pelos itens OP e tenta gerá-los para (int i = 0; i
Vamos explicar o que esse código faz:
A primeira instrução if verifica se o item lançado é um ovo, comparando seu item com a constante Items.EGG do Minecraft.
As próximas linhas pegam o mundo e a posição do ovo, usando alguns métodos do evento e das classes de entidade.
A próxima linha cria um gerador de números aleatórios, que usaremos para gerar alguns valores aleatórios para nosso mod.
As próximas linhas definem algumas constantes para os itens OP, como o número mínimo e máximo de itens a serem gerados, a chance de cada item aparecer, o nível máximo de encantamentos para os itens e algumas matrizes de itens e encantamentos para escolher.
A próxima linha gera um número aleatório de itens OP a serem gerados, usando o método random.nextInt e adicionando o valor mínimo.
O próximo loop for itera pelos itens OP e tenta gerá-los, usando as seguintes etapas:
Gere um número aleatório para ver se o item OP deve aparecer, usando o método random.nextInt e adicionando 1.
Se o número for menor ou igual à chance do item OP, gere o item OP usando as seguintes etapas:
Gere um índice aleatório para a matriz de item OP, usando o método random.nextInt e passando o comprimento da matriz.
Obtenha o item OP da matriz, usando o índice.
Crie uma nova pilha de itens com o item OP e uma quantidade aleatória (entre 1 e 64), usando o construtor ItemStack e passando o item e o valor aleatório.
Percorra os encantamentos OP e tente aplicá-los à pilha de itens OP, usando as seguintes etapas:
Gere um número aleatório para ver se o encantamento OP deve ser aplicado, usando o mesmo método de antes.
Se o número for menor ou igual à chance do item OP, aplique o encantamento OP, seguindo os seguintes passos:
Gere um nível aleatório para o encantamento OP (entre 1 e o nível máximo), usando o mesmo método de antes.
Aplique o encantamento OP à pilha de itens OP com o nível aleatório, usando o método addEnchantment e passando o encantamento e o nível.
Gere a pilha de itens OP no mundo na posição do ovo, usando o método addEntity e passando um novo objeto ItemEntity com o mundo, a posição e a pilha de itens.
Testando o modo
O último passo é testar nosso mod e ver se funciona conforme o esperado.Para fazer isso, precisamos executar nosso mod como cliente e iniciar o Minecraft a partir de nosso IDE.
Se você estiver usando o Eclipse, siga estas etapas:
No Package Explorer, clique com o botão direito do mouse no nome do projeto (neste caso, 'EggDropMod') e selecione 'Executar como' > 'EggDropMod_Client'. Aguarde o lançamento do Minecraft.
Selecione 'Singleplayer' e crie um novo mundo ou carregue um existente.
Obtenha alguns ovos do inventário criativo ou de uma granja.
Jogue alguns ovos e veja quais itens OP você consegue.
Se você estiver usando o IntelliJ IDEA, siga estas etapas:
Na janela Configurações de execução/depuração, selecione 'EggDropMod_Client' e clique no botão verde de reprodução. Aguarde o lançamento do Minecraft.
Selecione 'Singleplayer' e crie um novo mundo ou carregue um existente.
Obtenha alguns ovos do inventário criativo ou de uma granja.
Jogue alguns ovos e veja quais itens OP você consegue.
Conclusão
Parabéns! Você criou com sucesso um mod simples que faz com que os ovos soltem itens OP quando lançados. Você aprendeu como configurar seu espaço de trabalho, criar sua classe de mod, registrar sua classe de manipulador de eventos, manipular o evento de lançamento de item e testar seu mod. Você também usou alguns métodos e classes do Forge e do Minecraft para fazer seu mod funcionar.
Este mod é apenas um exemplo básico do que você pode fazer com modding. Existem muito mais possibilidades e recursos que você pode adicionar ao seu mod, como itens personalizados, blocos, entidades, biomas, dimensões, GUIs, comandos, receitas e muito mais. Você também pode usar alguns mods ou bibliotecas existentes como dependências ou inspirações para o seu mod. Você também pode compartilhar seu mod com outros jogadores e obter feedback e sugestões deles.
Se você quiser aprender mais sobre modding, pode conferir alguns dos seguintes recursos:
, que fornece alguns tutoriais e guias sobre como usar o Forge.
, que fornece algumas informações e detalhes sobre a mecânica e os recursos do jogo.
, que tem algumas seções dedicadas à discussão e suporte de mods.
, que possui alguns posts e comentários relacionados a modding.
, que hospeda muitos mods e modpacks que você pode baixar e experimentar.
perguntas frequentes
P: Como instalo mods para Minecraft?
R: Para instalar mods para Minecraft, você precisa ter o Forge instalado em seu computador. Então, você precisa baixar os mods que deseja de uma fonte confiável, como o CurseForge. Então, você precisa colocar os mods na pasta 'mods' dentro da pasta '.minecraft'. Então, você precisa iniciar o Minecraft com o Forge e aproveitar seus mods.
P: Como faço para desinstalar mods para Minecraft?
R: Para desinstalar mods para Minecraft, você precisa removê-los da pasta 'mods' dentro de sua pasta '.minecraft'. Em seguida, você precisa iniciar o Minecraft sem o Forge ou com um perfil diferente. Você também pode precisar excluir ou fazer backup do seu mundo se ele foi afetado pelos mods.
P: Como faço para atualizar mods para Minecraft?
R: Para atualizar mods para Minecraft, você precisa baixar a versão mais recente dos mods que deseja de uma fonte confiável, como CurseForge. Em seguida, você precisa substituir as versões antigas dos mods na pasta 'mods' dentro da pasta '.minecraft' pelas novas. Então, você precisa iniciar o Minecraft com o Forge e aproveitar seus mods atualizados.
P: Como faço para criar itens personalizados para o meu mod?
R: Para criar itens personalizados para seu mod, você precisa criar uma nova classe que estenda a classe Item do Minecraft. Então, você precisa registrar seu item usando a classe DeferredRegister do Forge. Em seguida, você precisa criar um arquivo JSON que defina as propriedades do seu item, como nome, textura, modelo etc. Em seguida, você precisa adicionar seu item ao inventário criativo usando a classe ItemGroup do Minecraft. Você pode encontrar alguns tutoriais e exemplos de como criar itens personalizados em .
P: Como faço para criar blocos personalizados para o meu mod?
R: Para criar blocos personalizados para o seu mod, você precisa criar uma nova classe que estenda a classe Bloco do Minecraft. Então, você precisa registrar seu bloco usando a classe DeferredRegister do Forge. Em seguida, você precisa criar um arquivo JSON que defina as propriedades do seu bloco, como nome, textura, modelo etc. Em seguida, você precisa criar um BlockItem para o seu bloco e adicioná-lo ao inventário criativo usando a classe ItemGroup do Minecraft. Você pode encontrar alguns tutoriais e exemplos de como criar blocos personalizados em . 0517a86e26
Comments