About MCPlugins
MCPlugins is an MCP server in the Gaming category: minecraft Server Plugins.
The repository has 1 stars and 0 forks.
Install
git clone https://github.com/Jonatanc05/MCPluginsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about MCPlugins
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Minecraft Plugins
Todos os plugins que estou desenvolvendo por diversão para servidores de Minecraft usando Spigot. Se quiser aprender a programar plugins, recomendo pela IDE IntelliJ, que facilita muito, mas pode ser feito com IDEs diversas, como Eclipse.
Qualquer ajuda é bem vinda então fique a vontade pra dar Pull Requests, há variás ideias de plugin nesse doc que podem ser implementadas.
Como rodar e testar alterações
Para compilar os plugins basta rodar o arquivo Main de cada um com a biblioteca do spigot como dependência externa.
Para rodar os plugins você deve ter um servidor, online ou local, e adicionar o arquivo jar que compilou na pasta plugins, o servidor carregará o plugin ao iniciar novamente.
Plugin LifeBond
Tem o objetivo de compartilhar o dano entre players do mesmo grupo ou "vínculo". Se um jogador do mesmo vínculo que você recebe dano, você recebe o mesmo dano, mas cada um recupera a vida baseado na própria fome.
Comandos
/entrar <nome>: Entra no vínculo , depois de criá-lo, caso não exista/vinculos: Exibe vínculos existentes (vínculos são automaticamente deletados quando todos os jogadores saem dele)/meuvinculo: Informa vínculo do player/sair: Retira o player de seu vínculo atual
Plugin DeathMessenger
Plugin extremamente simples idealizado pelo Nikolas. Consiste em alterar as mensagens de morte enviadas no chat, enviando a posição em que o jogador morreu.
Plugin MobaCraft
Pensado tanto para mundos de sobrevivência quanto para batalhas PvP em arena, esse plugin disponibiliza várias opções de classes para o player assim que começa a jogar no servidor. Cada classe tem vantagens e desvantagens para sobreviver e explorar, oferencendo várias formas de jogar o jogo.
Como criar uma classe
Se você quiser criar uma nova classe para o plugin é bem simples de começar. (O termo 'classe' pode ficar ambíguo então diferenciarei usando 'classe java' para as classes programáveis em java e 'classe jogável' para as classes que o jogador escolhe para jogar)
-
Crie uma classe java que implemente a classe abstrata IClass no pacote me.jonata.mobacraft.classes, sobrescrevendo seus métodos como estão descritos em IClass.java
-
A principal forma de adicionar funcionalidades é através de eventos. Para um método ser reconhecido pelo jogo como um evento ele precisa de quatro coisas:
-
Ter a notação @EventHandler antes da assinatura do método
-
Ter como único parâmetro um objeto que herda de org.bukkit.event.Event (e. g. PlayerJoinEvent, EntityDamageEvent)
-
Estar em uma classe java que implementa org.bukkit.event.Listener (a classe abstrata IClass já herda de Listener, portanto não é preciso implementar novamente)
-
Esta classe Listener ser registrada pelo plugin (mostro como no item 4 da lista)
-
OBS: O nome do método do evento é irrelevante
-
Exemplo:
@EventHandler public void onPlayerConnect(PlayerJoinEvent e) { Player p = e.getPlayer(); if(Main.getPlayerClass(p) != ClassID.SpeedRunner) return; p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, Integer.MAX_VALUE, 0)); } // Este evento é chamado quando um jogador se conecta ao servidor, ele verifica se o // jogador escolheu a classe SpeedRunner e, caso positivo, adiciona a ele velocidade // 1 por tempo infinito
-
-
Adicionar sua classe jogável ao enum me.jonata.mobacraft.classes.ClassID
-
Ir à Main, no método onEnable() e duplicar a linha
classes.add(new Speedrunners());inicializando a classe java que você criou ao invés de "Speedrunner"
Pronto, sua classe será reconhecida como uma classe jogável no plugin, aparecendo na GUI de escolha de classes e chamando seus eventos.
OBS: lembre-se que seus eventos são chamados para qualquer player, então verifique, como no exemplo, se o player que acionou o evento pertence à sua classe jogável antes de alterá-lo. Para a maioria dos eventos isso pode ser feito com
Main.getPlayerClass(player) == ClassID.MinhaClasse
// ou
Main.getPlayerClass(player.getName()) == ClassID.MinhaClasse
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.