Ir para conteúdo

Muloo

Membros
  • Total de itens

    43
  • Registro em

  • Última visita

Tudo que Muloo postou

  1. redirecionando o site para outro que retorne true, como no windows com o arquivo hosts
  2. ChangeLog 18/08/2018 - Plugin Lançado! 19/08/2018 - Plugin recompilado na versão 8 do java
  3. 1.8+ PLUGIN EM ALPHA!! FAVOR REPORTAR A MIN QUALQUER BUG!! Um novo plugin de ScoreBoard baseado em múltiplas scoreboards com sistema de expressão para exibição de scores e API para desenvolvedores! Arquivos de Configuração Atualmente apenas o tempo de atualização das scoreboards podem na config. config.yml Configuração de Scores Para a adição de mais scoreboards basta somente criar um arquivo .yml com o qualquer nome na basta scoreboards dentro da pasta de configuração do plugin e seguindo o template a baixo. Dependências Utilize o plugin PlaceHolderAPI para a adição de tags Download PlaceHolderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/ Wiki com todos os placeholders: https://www.spigotmc.org/wiki/placeholderapi-placeholders/ Default PlaceHolders API API para desenvolvedores PlayerBoardEvent - exemplos de uso ChangeLog Download Versão 0.1-SNAPSHOT - Clique Aqui Ao encontrar qualquer bug contacte me via MP para que eu possar corrigir. Estarei atualizando o plugin assim que possível, adicionando novas funcionalidades para API, otimização do código, correções e etc...
  4. Pedido (Obrigatório)*: Logo para plugin semelhante ao do legendchat [ ] Assinatura (sign) [ ] Avatar [ ] Banner (Youtube/Divulgação) [ ] Server-icon [X] Outro: Tema (Obrigatório)*: Logo plugin. Render/Stock (Obrigatório)*: [X] Livre escolha do Designer. [ ] Outro: Tamanho: [ ] 400x200 (Assinatura) [ ] 150x250 (Avatar) [ ] 468x60 (Banner para divulgação) [ ] 2560x1440 (Banner YT) [ ] 64x64 (Server-icon) [X] Outro: 620x213 Texto: [ ] N/D [X] Outro: Legendboard Link do Último Pedido: N/A
  5. Muloo

    EssentialsFX 1.8+

    19/03/2018 - Plugin Atualizado! Melhoria feitas nos códigos. Classe "EPlayer" para api renomeada para "User". Adicionado suporte para alteração no nome e na lore de um item nos kits. Adicionado suporte para pegar cabeça de um jogador pelo kit. Ex: 397 1 player:Muloo Corrigido um bug no qual fazia o arquivo de configuração se esvaziar. Perdão pela demora em atualizar o plugin, tive alguns problemas pessoais e acabei ficando sem meu pc por um tempo.
  6. Muloo

    EssentialsFX 1.8+

    fico feliz que goste do meu trabalho :)
  7. Muloo

    EssentialsFX 1.8+

    Ok posso colocar isso
  8. Muloo

    EssentialsFX 1.8+

    tipo o plugin só da load quando der um comando?
  9. Muloo

    EssentialsFX 1.8+

    08/02/2018 - Plugin Atualizado! Corrigido as permissões do comando /gamemode, no qual qualquer player podia alterar seu modo de jogo. Código das placas atualizado. Adicionada novas placas: kits, enchant, warp. Adicionado o comando /hat. Adicionado o comando /enchant. Adicionado 3 novos eventos para api: SignEvent, SignCreateEvent, SignInteractEvent. Algumas melhorias no código foram feitas.
  10. Muloo

    EssentialsFX 1.8+

    é só abrir o jar do plugin com o winrar e no arquivo plugin.yml delete os comandos dos kit
  11. Muloo

    EssentialsFX 1.8+

    Não, sinto muito. Mas poderei adicionar isso na próxima atualização
  12. Muloo

    EssentialsFX 1.8+

    EssentialsFX 1.8+ EssentialsFX é um projeto que estava parado na minha workspace por vários anos, até que então resolvi criar um servidor e terminá-lo para que eu pudesse usar, então eu resolvi compartilha-lo com vocês também, pois a varias pessoa que assim como eu, acham o essentials pesado, ruim e com algumas funcionalidades desnecessárias. Comandos Arquivos de Configuração Mensagem de entrada alterada em motd.txt, Cooldowns são salvos em MySQL ou SQLite, e sim eu kibei o arquivo de mensagem do essentials config.yml messages.yml kits.yml locations.yml motd.txt Placas API Em breve estarei adicionando novas funcionalidades na API para o plugin. User e Teleport - exemplos de uso PlayerVanishEvent - Exemplo de uso PlayerWarpEvent - Exemplo de Uso CommandExecutorEvent - Exemplo de uso ChangeLog Download Versão 2.1.1 - Clique Aqui quem estava usando alguma versão inferior a 2.1 apague o arquivo config.yml e o arquivo messages.yml para não ocorrer erros Ao encontrar qualquer bug contacte me via MP para que eu possar corrigir. Estarei atualizando o plugin frequentemente, adicionando novas funcionalidades para API, otimização do código, correções e etc...
  13. server.properties -> enable-rcon=true, rcon.password=senhaAleatoria $wsr = new WebsenderAPI("127.0.0.1","senhaAleatoria","25565"); // HOST , PASSWORD , PORT
  14. recomendo uma 730 no minimo, as placas com numero de modelo terminadas em 10 da série GT são as mais lentas q tem, tendo seu desempenho praticamente igual em todas, como gt 210 , 310 etc..., falo por experiencia própria, pois tive uma gt 210 e logo em seguida uma 710 e n mudou em nada os frames :3
  15. Obrigado, mais eu gostaria de fazer um plugin sem o uso de APIs
  16. Olá galera, gostaria de pedir a ajuda de vocês para pegar o jogador que estou olhando, sei que tenho que usar PlayerMoveEvent mas não faço a menor ideia de como ;-;
  17. obrigado, as vezes eu nao percebo coisa tao besta de arrumar kkkk
  18. public static Main plugin; public static FileConfiguration config; public static YamlConfig messages; public static YamlConfig locations; public static YamlConfig kits; public static Cooldown cooldown; @Override public void onEnable() { plugin = this; getLogger().info("§3[Essentials] §aHabilitado"); config = getConfig(); createFiles(); saveDefaultConfig(); registerEvents(); loadCommands(); loadAliases(); SQLManager.SQLManagerConnection(); Cooldown.loadDataBase(); }
  19. Olá, implementei uso de mysql/sqlite em kits no plugin essentials que estou fazendo para meu servidor e ao tentar pegar algum kit me deparo com o seguinte erro: [13:08:01 INFO]: Muloo issued server command: /kit vip [13:08:01 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'kit' in plugin Essentials v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-db6de12-18fbb24] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_141] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_141] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24] at java.lang.Thread.run(Unknown Source) [?:1.8.0_141] Caused by: java.lang.NullPointerException at me.muloo.essentials.kits.CommandKit.onCommand(CommandKit.java:32) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-db6de12-18fbb24] ... 15 more [13:08:01 INFO]: Muloo issued server command: /kit vip [13:08:01 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'kit' in plugin Essentials v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-db6de12-18fbb24] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_141] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_141] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24] at java.lang.Thread.run(Unknown Source) [?:1.8.0_141] Caused by: java.lang.NullPointerException at me.muloo.essentials.kits.CommandKit.onCommand(CommandKit.java:32) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-db6de12-18fbb24] ... 15 more Linha do erro: if (Main.cooldown.containsCooldown(playerN, kit)) { containsCooldown: public boolean containsCooldown(String player, String kit) { try { Statement statement = c.createStatement(); ResultSet res = statement.executeQuery("SELECT * FROM kits WHERE Player = '" + player + "' AND kit = '"+ kit +"';"); while (res.next()) { return true; } } catch (SQLException e) { e.printStackTrace(); } return false; } Ja tentei até colocar só return false; e continua o mesmo erro. e todos metodos da classe tambem da erro. Segue abaixo as classes utilizadas para o comando kit: CommandKit.class: package me.muloo.essentials.kits; import java.util.concurrent.TimeUnit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import me.muloo.essentials.Main; import me.muloo.essentials.Utils; import me.muloo.essentials.utils.messages; public class CommandKit implements CommandExecutor { public Main plugin; public CommandKit(Main plugin) { this.plugin = plugin; } @SuppressWarnings("deprecation") @Override public boolean onCommand(CommandSender sender, Command cmd, String string, String[] args) { if(sender instanceof Player){ Player player = (Player)sender; if(args.length == 1){ if(Main.kits.contains("Kits." + args[0].toString())){ String playerN = player.getName(); String kit = args[0].toString(); int cd = Main.kits.getInt("Kits." + args[0].toString() + ".cooldown"); if(player.hasPermission("essentials.kit." + args[0].toString())){ if (Main.cooldown.containsCooldown(playerN, kit)) { player.sendMessage(messages.get("kitTimed").replace("&", "§").replace("{0}", Main.cooldown.getRemainingTime(playerN, kit, TimeUnit.SECONDS.toMillis(cd)))); } else { for (String s : Main.kits.getStringList("Kits." + args[0].toString() + ".items")) { String[] a = s.split(" "); String[] itemid = a[0].split(":"); ItemStack i; if (itemid.length > 1) { i = new ItemStack(Integer.valueOf(itemid[0]).intValue(), Integer.valueOf(a[1]).intValue(), Byte.valueOf(itemid[1]).byteValue()); } else { i = new ItemStack(Integer.valueOf(itemid[0]).intValue(), Integer.valueOf(a[1]).intValue()); } if (a.length > 2) { for (int enchantposition = 2; enchantposition <= a.length - 1; enchantposition++) { String[] enchantnameandnivel = a[enchantposition].split(":"); try { i.addEnchantment(Utils.getEnchants(enchantnameandnivel[0]), Integer.valueOf(enchantnameandnivel[1]).intValue()); } catch (Exception IllegalArgumentException) { player.sendMessage(messages.get("kitError").replace("&", "§")); } } } player.getInventory().addItem(new ItemStack[] { i }); } player.sendMessage(messages.get("kitReceive").replace("&", "§").replace("{0}", args[0])); Main.cooldown.setCooldown(playerN, kit); } } else { player.sendMessage(messages.get("noKitPermission").replace("&", "§")); } } else { player.sendMessage(messages.get("kitNotFound").replace("&", "§")); } } else { player.sendMessage(messages.get("argsError").replace("&", "§").replace("{0}", "/kit <kitname>")); } return true; } else { sender.sendMessage(messages.get("onlyPlayers").replace("&", "§")); } return false; } } Cooldown.class: package me.muloo.essentials.kits; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import me.muloo.essentials.mysql.SQLManager; import me.muloo.essentials.utils.messages; public class Cooldown { private static Connection c = null; public static void loadDataBase() { c = SQLManager.c; SQLManager.createTables("CREATE TABLE IF NOT EXISTS `kits`(`Player` VARCHAR(20) NOT NULL, `kit` VARCHAR(20) NOT NULL, `time` INT NOT NULL);"); } public void setCooldown(String player, String kit) { try { Statement statement = c.createStatement(); statement.executeUpdate("INSERT INTO kits (`Player`, `kit`, `time`) VALUES ('" + player + "', '"+ kit +"', "+ System.currentTimeMillis() +");"); } catch (SQLException e) { e.printStackTrace(); } } public long getCooldown(String player, String kit) { if(containsCooldown(player, kit)) { return getLong(player, kit); } else { return System.currentTimeMillis(); } } private long getLong(String player, String kit) { long l = 0; try { Statement statement = c.createStatement(); ResultSet res = statement.executeQuery("SELECT * FROM kits WHERE Player = '" + player + "' AND kit = '"+ kit +"';"); res.next(); return res.getLong("time"); } catch (SQLException e) { e.printStackTrace(); } return l; } public boolean isExpired(String player, String kit, long l) { String coisa = getRemainingTime(player, kit, l); if (coisa.contains(messages.get("now"))) { return true; } else { return false; } } public String getRemainingTime(String player, String kit, long l) { long tempoAntes = getCooldown(player, kit); long tempoAtual = System.currentTimeMillis() - l; String coisa = formatDifferenceStr((tempoAntes - tempoAtual)); return coisa; } public void removeCooldown(String player, String kit) { try { PreparedStatement ps = c.prepareStatement("DELETE FROM `kits`(Player, kit) VALUES (?, ?);"); ps.setString(1, player); ps.setString(2, kit); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } public boolean containsCooldown(String player, String kit) { try { Statement statement = c.createStatement(); ResultSet res = statement.executeQuery("SELECT * FROM kits WHERE Player = '" + player + "' AND kit = '"+ kit +"';"); while (res.next()) { return true; } } catch (SQLException e) { e.printStackTrace(); } return false; } public String formatDifferenceStr(long time) { if (time == 0) { return "never"; } long day = TimeUnit.MILLISECONDS.toDays(time); long hours = TimeUnit.MILLISECONDS.toHours(time) - (day * 24); long minutes = TimeUnit.MILLISECONDS.toMinutes(time) - (TimeUnit.MILLISECONDS.toHours(time) * 60); long seconds = TimeUnit.MILLISECONDS.toSeconds(time) - (TimeUnit.MILLISECONDS.toMinutes(time) * 60); StringBuilder sb = new StringBuilder(); if (day > 0) { sb.append(day).append(" ").append(day == 1 ? messages.get("day") : messages.get("dias")).append(" "); } if (hours > 0) { sb.append(hours).append(" ").append(hours == 1 ? messages.get("hour") : messages.get("hours")).append(" "); } if (minutes > 0) { sb.append(minutes).append(" ").append(minutes == 1 ? messages.get("minute") : messages.get("minutes")).append(" "); } if (seconds > 0) { sb.append(seconds).append(" ").append(seconds == 1 ? messages.get("second") : messages.get("seconds")); } String diff = sb.toString(); return diff.isEmpty() ? messages.get("now") : diff; } public String getDifferenceFormatStr(long timestamp) { return formatDifferenceStr(timestamp - (System.currentTimeMillis())); } // Copyright essentials, all credits to them for this. public long parseDateDiff(String time, boolean future) throws Exception { Pattern timePattern = Pattern.compile("(?[0-9]+)\\s*y[a-z]*[,\\s]*)?" + "(?[0-9]+)\\s*mo[a-z]*[,\\s]*)?" + "(?[0-9]+)\\s*w[a-z]*[,\\s]*)?" + "(?[0-9]+)\\s*d[a-z]*[,\\s]*)?" + "(?[0-9]+)\\s*h[a-z]*[,\\s]*)?" + "(?[0-9]+)\\s*m[a-z]*[,\\s]*)?" + "(?[0-9]+)\\s*(?:s[a-z]*)?)?", Pattern.CASE_INSENSITIVE); Matcher m = timePattern.matcher(time); int years = 0; int months = 0; int weeks = 0; int days = 0; int hours = 0; int minutes = 0; int seconds = 0; boolean found = false; while (m.find()) { if (m.group() == null || m.group().isEmpty()) { continue; } for (int i = 0; i < m.groupCount(); i++) { if (m.group(i) != null && !m.group(i).isEmpty()) { found = true; break; } } if (found) { if (m.group(1) != null && !m.group(1).isEmpty()) { years = Integer.parseInt(m.group(1)); } if (m.group(2) != null && !m.group(2).isEmpty()) { months = Integer.parseInt(m.group(2)); } if (m.group(3) != null && !m.group(3).isEmpty()) { weeks = Integer.parseInt(m.group(3)); } if (m.group(4) != null && !m.group(4).isEmpty()) { days = Integer.parseInt(m.group(4)); } if (m.group(5) != null && !m.group(5).isEmpty()) { hours = Integer.parseInt(m.group(5)); } if (m.group(6) != null && !m.group(6).isEmpty()) { minutes = Integer.parseInt(m.group(6)); } if (m.group(7) != null && !m.group(7).isEmpty()) { seconds = Integer.parseInt(m.group(7)); } break; } } if (!found) { throw new Exception("Illegal Date"); } if (years > 20) { throw new Exception("Illegal Date"); } Calendar c = new GregorianCalendar(); if (years > 0) { c.add(Calendar.YEAR, years * (future ? 1 : -1)); } if (months > 0) { c.add(Calendar.MONTH, months * (future ? 1 : -1)); } if (weeks > 0) { c.add(Calendar.WEEK_OF_YEAR, weeks * (future ? 1 : -1)); } if (days > 0) { c.add(Calendar.DAY_OF_MONTH, days * (future ? 1 : -1)); } if (hours > 0) { c.add(Calendar.HOUR_OF_DAY, hours * (future ? 1 : -1)); } if (minutes > 0) { c.add(Calendar.MINUTE, minutes * (future ? 1 : -1)); } if (seconds > 0) { c.add(Calendar.SECOND, seconds * (future ? 1 : -1)); } return c.getTimeInMillis(); } SQLManager.class: package me.muloo.essentials.mysql; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import org.bukkit.configuration.file.FileConfiguration; import me.muloo.essentials.Main; import me.muloo.essentials.mysql.mysql.MySQL; import me.muloo.essentials.mysql.sqlite.SQLite; public class SQLManager { private static MySQL MySQL = new MySQL(Main.plugin.getConfig().getString("MySQL.host"), Main.plugin.getConfig().getString("MySQL.port"), Main.plugin.getConfig().getString("MySQL.database"), Main.plugin.getConfig().getString("MySQL.user"), Main.plugin.getConfig().getString("MySQL.password")); private static SQLite SQLite = new SQLite("data.db"); public static Connection c = null; public static void SQLManagerConnection() { if(getConfig().getBoolean("MySQL.enable")) { MySQLConnection(); } else { SQLiteConnection(); } } public static void createTables(String code) { try { Statement statement = c.createStatement(); statement.executeUpdate(code); System.out.print("Table created"); } catch (SQLException e) { e.printStackTrace(); } } private static void MySQLConnection() { try { c = MySQL.openConnection(); System.out.print("MySQL Hooked"); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } private static void SQLiteConnection() { try { c = SQLite.openConnection(); System.out.print("SQLite Hooked"); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } private static FileConfiguration getConfig() { return Main.plugin.getConfig(); } } na Main estou usando em onEnable(): SQLManager.SQLManagerConnection(); Cooldown.loadDataBase(); para carregar o database.
  20. Muloo

    Vamos bater?

    q merda hein
  21. sdds mesmo era disso: https://web.archive.org/web/20140516143829/http://atomgamers.com:80/
×
×
  • Criar Novo...