Ir para conteúdo

Lucca.

Membros
  • Total de itens

    457
  • Registro em

  • Última visita

Tudo que Lucca. postou

  1. SCROLLER DIFERENCIADO! (SCOREBOARD) Olá! bom, neste tutorial irei ensinar como fazer um scoreboard com um título que fica trocando de cores! (GIRANDO) e.e Exemplo: temos esta String: "DUALVIADAO" Este scroller, fará o seguinte: Ele irá deixar todas as letras com a cor que você escolheu, e depois, passará de letra por letra trocando as cores. (se isso te bugou, é semelhante ao mineplex/hypixel). Explicação²: Ficará tipo assim, só que automático: §eDUALVIADAO §6§lDUALVIADAO §eD§6§lU§eALVIADAO §eDU§6§lA§eLVIADAO Até zerar a string, depois recomeçará novamente este ciclo. Agora, vamos ao code: Em seu code de scoreboard, basta adicionar: final String texto = "EXEMPLO"; final String cor1 = "§e"; final String cor2 = "§6§l"; new BukkitRunnable() { int c = 0; public void run() { if(c + 1 < texto.length()) { String msg = cor1 + texto.substring(0, c) + cor2 + texto.substring(c, c+1) + cor1 + texto.substring(c+1); c += 1; score.setDisplayName(msg); }else{ c = 0; } } }.runTaskTimer(Main.c, 0, 6); LEMBRANDO: score é a variável de seu scoreboard. OBS: Não fui eu que criei este code! OBS²: Não sei quem foi, então não tem como por créditos.. (se alguém souber, me avise) Para editar as cores, basta alterar a string: ''cor1'' e ''cor2'', e para alterar o texto: String ''texto'' Se eu ajudei, da uma laikada aew! \o
  2. Lucca.

    Bye!

    Flw, mas se você estava aqui só por cargo, já vai tarde! :)
  3. Ok! mas, code que funcione assim, acredito que você não ache um MUITOOOOO menor, D:
  4. Tente: ClanPlayer pclanplayer = this.sc.getClanManager().getClanPlayer(p.getName()); Clan pclan = pclanplayer.getClan(); if (pclan == null) { //oque acontece se o clan for nulo. } @EDIT caso não funcione, acredito que você tenha esquecido de declarar a variável na main: public SimpleClans sc; public void onEnable() { Plugin plug = getServer().getPluginManager().getPlugin("SimpleClans"); if (plug != null) { this.sc = ((SimpleClans)plug); } } @EDIT² Se eu ajudei da um like ai parça
  5. MENSAGENS CENTRALIZADAS! Olá! hoje irei ensinar como enviar uma mensagem centralizada para algum player no chat! OBS: Não fui eu que criei este code! OBS²: Não sei quem foi, então não tem como por créditos.. (se alguém souber, me avise) Bom, basta você adicionar o seguinte método a sua class: private final static int CENTER_PX = 154; public static void sendCenteredMessage(Player player, String message){ if(message == null || message.equals("")) player.sendMessage(""); message = ChatColor.translateAlternateColorCodes('&', message); int messagePxSize = 0; boolean previousCode = false; boolean isBold = false; for(char c : message.toCharArray()){ if(c == '§'){ previousCode = true; continue; }else if(previousCode == true){ previousCode = false; if(c == 'l' || c == 'L'){ isBold = true; continue; }else isBold = false; }else{ DefaultFontInfo dFI = DefaultFontInfo.getDefaultFontInfo(c); messagePxSize += isBold ? dFI.getBoldLength() : dFI.getLength(); messagePxSize++; } } int halvedMessageSize = messagePxSize / 2; int toCompensate = CENTER_PX - halvedMessageSize; int spaceLength = DefaultFontInfo.SPACE.getLength() + 1; int compensated = 0; StringBuilder sb = new StringBuilder(); while(compensated < toCompensate){ sb.append(" "); compensated += spaceLength; } player.sendMessage(sb.toString() + message); } Após isso, basta fazer apenas isto: sendCenteredMessage(p, "Teste gamersboard"); E sua mensagem será enviada ao player p, totalmente centralizada! @EDIT Você também precisará criar uma class de nome DefaultFontInfo, contendo o seguinte code: CLIQUE AQUI PARA VER O CODE E lembrando, este code suporta totalmente o uso de cores (§).
  6. Lucca.

    Criar configs.yml

    Bom tutorial! vai ajudar muita gente \o
  7. Utilize: System.out.printLn("Sua string aq\nString da outra linha");
  8. Olá! bom, neste tutorial irei ensinar um sistema básico de proteção pelo sistema da DEVHUB.. Bom, e oque é a dev hub? Caso queira entender TUDO sobre a devhub, veja o tópico do próprio criador, mas, caso você tenha preguiça (que nem eu), irei explicar + - aqui. Para acessar a devhub clique aqui A devhub é um site totalmente free, onde você cria sua conta, e, após criada, você pode criar PROJETOS no site, para ser o ''manager'' de proteção de seu plugin. Quando você estiver criando seu projeto, você precisará inserir 2 dados, para concluir a criação. Após criado, seu projeto terá 4 ''dados'', que são: Tag (Nome de seu projeto), Key (Key que você cria), Ip(O ip, caso, você habilite a ''proteção de ip'' na hora de criar o projeto, ele irá marcar toda vez que alguém utiliza sua key, qual ip foi), e a SecretKey(Uma key extra de segurança gerada pelo próprio site). Será + - assim: Bom, após fazer tudo isso, partiremos para parte em seu plugin! Primeiramente, (em meu caso), faremos um arquivo .yml, onde você colocará os dados de seu projeto: public File key; public FileConfiguration key_conf; Após isso, partiremos para o método onLoad(), que será a parte onde o plugin ''carrega'', e criaremos o arquivo da ''key.yml'', onde ficará os dados necessários: public void onLoad(){ UUID uuid = UUID.randomUUID(); //Aqui, geraremos uma key aleatória apenas para setar na config como exemplo String myRandom = uuid.toString(); //Aqui transformaremos a key gerada em uma string, para setar na config. this.key = new File(getDataFolder(), "key.yml"); this.key_conf = YamlConfiguration.loadConfiguration(this.key); if (!this.key.exists()) { try { this.key.createNewFile(); this.key_conf.set("Authentication.Key", "0000-0000-0000-0000"); this.key_conf.set("Authentication.Secret Key", myRandom.substring(0,20).replace("-", myRandom.substring(0,1))); //Aqui pegamos a key gerada, reduzimos o tamanho da string a 20 caracteres, e como toda UUID gerada possui alguns traços nela, daremos replace nesses traços com outras letras aleatórias this.key_conf.save(this.key); } catch (IOException e) { e.printStackTrace(); } } } Após isso, precisaremos checar se a licença está correta, certo? Então vamos lá: Primeiramente, adicione este code a sua class: public static String lerURL(String url){ try { URL eita = new URL(url); BufferedReader br = new BufferedReader(new InputStreamReader(eita.openStream())); String s; String z = ""; while ((s = br.readLine()) != null) { z+=s; } br.close(); return z.replace("<br>", "\n"); } catch (MalformedURLException excecao) {} catch (IOException excecao) {Bukkit.getConsoleSender().sendMessage("§c[" + prefix2 + "§c] §4§lIOException error! Há algo errado em sua key.yml");} return ""; } Este code, será para ler tudo que a pagina retornará quando fazer a leitura (O site retorna um JSON, dizendo se a licença foi aceita o não). Bom, agora vamos para parte da checagem: Crie uma boolean em sua class: boolean keycheck = false; Agora, ainda no onLoad(), adicione isto após a parte de criação da key: if (lerURL("http://devhub.mcdevelopersbr.net/api/auth/<NOME DE SEU PROJETO>/" + this.key_conf.getString("Authentication.Key") + "/" + this.key_conf.getString("Authentication.Secret Key") + "").contains("true")){ //Esta parte, será onde checamos se a key está totalmente correta Bukkit.getConsoleSender().sendMessage(" §a§l-=ANTI§2PIRATARIA§a=-"); Bukkit.getConsoleSender().sendMessage("§a[" + prefix2 + "§a] §3Sua licenca foi aceita!"); Bukkit.getConsoleSender().sendMessage("§a[" + prefix2 + "§a] §3Plugin iniciando."); Bukkit.getConsoleSender().sendMessage(" §a§l-=ANTI§2PIRATARIA§a=-"); keycheck = true; } else { //Caso a key não esteja correta, iremos dizer esta mensagem: Bukkit.getConsoleSender().sendMessage(" §c§l-=ANTI§4PIRATARIA§c=-"); Bukkit.getConsoleSender().sendMessage("§c[" + prefix2 + "§c] §4Sua licenca não foi encontrada!"); keycheck = false; //Agora, checaremos porque a licença não foi aceita: if (lerURL("http://devhub.mcdevelopersbr.net/api/auth/<NOME DE SEU PROJETO>/" + this.key_conf.getString("Authentication.Key") + "/" + this.key_conf.getString("Authentication.Secret Key") + "").contains("Key")){ //Caso apenas a KEY esteja incorreta, diremos isto: Bukkit.getConsoleSender().sendMessage("§c[" + prefix2 + "§c] §4§lKEY §cincorreta!"); //Caso não for a KEY que esteja incorreta, checaremos se é a SECRET-KEY: } else if (lerURL("http://devhub.mcdevelopersbr.net/api/auth/<NOME DE SEU PROJETO>/" + this.key_conf.getString("Authentication.Key") + "/" + this.key_conf.getString("Authentication.Secret Key") + "").contains("Secret")){ //Agora, caso apenas a SECRET-KEY esteja incorreta, diremos isto: Bukkit.getConsoleSender().sendMessage("§c[" + prefix2 + "§c] §4§lSECRET-KEY §cincorreta!"); } Bukkit.getConsoleSender().sendMessage(" §c§l-=ANTI§4PIRATARIA§c=-"); } Agora, no onEnable() (void em que o plugin se inicia), adicionaremos: if (!keycheck){ //Caso a key não foi encontrada, a boolean será false e o plugin não funcionará, porém caso for TRUE, este método será ignorado. Bukkit.getPluginManager().disablePlugin(this); return; } Pronto! sua ''proteção'' está finalizada. Agora, explicando o método da checagem com palavras: Quando a checagem é feita no site, pelo método lerURL, o site retornará algo parecido com isto: {"authorized":true,"ainfo-1":"FrameMc","ainfo-2":""} Por isso, na checagem, após ''lerURL'', temos: lerURL(<url>).contains("true") pois se a licença estiver correta, nesta JSON teremos TRUE, e se estiver errado, FALSE. E em relação a boolean, ela será alterada de acordo com a checagem, se a licença aceita, a boolean será TRUE, caso não, false.. Por isso a checagem também no onEnable(). Fim de tutorial, espero que tenham entendido, caso não tenham, basta perguntar aqui no tópico que explicarei melhor! LEMBRANDO QUE ESTE MÉTODO NÃO E 100% SEGURO, ALIÁS, NENHUM MÉTODO DE PROTEÇÃO DE PLUGIN SERÁ 100% SEGURO! Se gostou da um like aew, não cai o dedo \o
  9. Belo tutorial, irá ajudar muitos, porém este título está meio errado, não? o.O
  10. AUEHaUHEUAHEUAHEAUEHUAEHAEHUAEHUE
  11. Kit Untrap? plugin do Wombo editado? kk
  12. só não sei porque insistem em dizer ''TICKS''. TICK é uma ''medida'' de tempo, em java amigão. Acho que o correto, seria TICKETS né?
  13. qm é essa mina aew? @topic 1
  14. Custa dar uma pesquisada no google? Com um simples ''schematic loading bukkit code'', achei isto. Eu uso esse.
  15. parece q o jogo virou, não é mesmo? kkkkjjjk @topic Boa gionis
  16. Tem algum evento custom nesse plugin?
×
×
  • Criar Novo...