mabazi Postado Outubro 30, 2017 Denunciar Compartilhar Postado Outubro 30, 2017 oi, alguem pode me mandar um tutorial bom (os que achei eu nao entendo ou tem pessoas dizendo que nao funciona) de como fazer o plugin checar se tem novas atualizações na dev.bukkit.org ? Link para o comentário Compartilhar em outros sites More sharing options...
1 Floodeer Postado Outubro 30, 2017 Denunciar Compartilhar Postado Outubro 30, 2017 (editado) 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. Editado Outubro 30, 2017 por Floodeer 1 Link para o comentário Compartilhar em outros sites More sharing options...
FilipeNock Postado Outubro 30, 2017 Denunciar Compartilhar Postado Outubro 30, 2017 (editado) No Bukkit eu n sei, mas no spigotMC é assim, mas é inutil ja que vc quer do bukkit try { HttpURLConnection c = (HttpURLConnection)new URL("http://www.spigotmc.org/api/general.php").openConnection(); c.setDoOutput(true); c.setRequestMethod("POST"); c.getOutputStream().write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=/*RESOURCE ID*/").getBytes("UTF-8")); String oldVersion = this.getDescription().getVersion(); String newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine().replaceAll("[a-zA-Z ]", ""); if(!newVersion.equals(oldVersion)) { //there is a new version } } catch(Exception e) { } Editado Outubro 30, 2017 por FilipeNock 1 Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Outubro 30, 2017 Autor Denunciar Compartilhar Postado Outubro 30, 2017 (editado) No Bukkit eu n sei, mas no spigotMC é assim, mas é inutil ja que vc quer do bukkit try { HttpURLConnection c = (HttpURLConnection)new URL("http://www.spigotmc.org/api/general.php").openConnection(); c.setDoOutput(true); c.setRequestMethod("POST"); c.getOutputStream().write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=/*RESOURCE ID*/").getBytes("UTF-8")); String oldVersion = this.getDescription().getVersion(); String newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine().replaceAll("[a-zA-Z ]", ""); if(!newVersion.equals(oldVersion)) { //there is a new version } } catch(Exception e) { } vou testar ja q o bukkit geraa uma pagina spigot pro plugin @UPDATE como pego a Key direta pro meu plugin? "key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=/*RESOURCE ID*/" Editado Outubro 30, 2017 por mabazi Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Outubro 30, 2017 Autor Denunciar Compartilhar Postado Outubro 30, 2017 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. vou tentar Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Outubro 31, 2017 Autor Denunciar Compartilhar Postado Outubro 31, 2017 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. Muito obg, a partir do seu consegui gerar um code para o dev.bukkit.org Quem quiser o codigo: https://hastebin.com/ohakuvihof.cs Link para o comentário Compartilhar em outros sites More sharing options...
KickPost Postado Outubro 31, 2017 Denunciar Compartilhar Postado Outubro 31, 2017 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mabazi
oi, alguem pode me mandar um tutorial bom (os que achei eu nao entendo ou tem pessoas dizendo que nao funciona) de como fazer o plugin checar se tem novas atualizações na dev.bukkit.org ?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados