Ir para conteúdo

Floodeer

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

1 Seguidor

Sobre Floodeer

  • Data de Nascimento 05/02/1994

Informações pessoais

  • Sexo
    Feminino

Últimos Visitantes

650 visualizações
  1. Você está usando "if" de maneira incorreta. getCommand("test").setExecutor(new CommandExecutor() { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(!(sender instanceof Player)) return true; if(econ.getBalance(((Player)sender)) >= 50) { econ.withdrawPlayer(((Player)sender), 50); }else{ sender.sendMessage("Você não tem dinheiro para executar esse comando."); } return false; } });
  2. Floodeer

    Bloquear

    É possível detectar forge mods por Handshake, você pode usar ProtocolLib para controlar packets ou detectar via BungeeCord (que também usa Handshake). Há maneiras de passar pelo sistema de proteção com mods que não se comunicam (ou registram canais) com servidor - Optifine por exemplo. Como diz na wiki do Protocolo, Handshake ocorre durante o login do client no servidor após a informação de sucesso de login 0x02 ser recebida pelo Client, então trabalhe com isto. É realmente muito bom dar uma olhada mais profunda nesse assunto se você não sabe muito, com manipulação de data eu trabalhei em um Cheat Detection que pode trabalhar fora do Minecraft, você pode enviar data de fora usando os canais, abre caminho pra bastante coisa que grandes Networks usam.
  3. Opa, Aqui está uma versão atualizada do método acima. O código atualizado está abaixo, faça o que quiser; você pode colocar o método em um novo Thread, remover o Result e usar o direto o código, você que sabe. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.bukkit.plugin.Plugin; public class Updater { private Plugin plugin; private Result result; public Updater(Plugin plugin) { this.plugin = plugin; this.result = Result.NO_UPDATE; } public Result check() { try { HttpURLConnection c = (HttpURLConnection) new URL("https://api.spigotmc.org/legacy/update.php?resource=RESOURCE ID").openConnection(); c.setDoOutput(true); c.setRequestMethod("GET"); c.getOutputStream().write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=RESOURCE ID").getBytes("UTF-8")); String oldVersion = plugin.getDescription().getVersion(); String newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine().replaceAll("[a-zA-Z ]", ""); if (!newVersion.equals(oldVersion)) { result = Result.NEW_UPDATE; }else{ result = Result.NO_UPDATE; } }catch(IOException ex) { ex.printStackTrace(); result = Result.ERROR; } return result; } private enum Result { ERROR, NO_UPDATE, NEW_UPDATE; } } O resource ID é o número gerado na URL do seu plugin, a key não é gerada por resource ou por conta, você pode tentar com a a key que estamos usando que deve funcionar.
×
×
  • Criar Novo...