Ir para conteúdo

Manolo8

Membros
  • Total de itens

    206
  • Registro em

  • Última visita

Tudo que Manolo8 postou

  1. Crie uma classe chamada CommandCost.java: public class CommandCost { private final String command; private final double cost; public CommandCost(String command, double cost) { this.command = command; this.cost = cost; } public String getCommand() { return this.command; } public double getCost() { return this.cost; } } E um CommandCostManager.java public class CommandCostManager implements Listener { private final Economy economy; //Vault economy private final List<CommandCost> commandCostList; public CommandCostManager(Economy economy) { this.economy = economy; this.commandCostList = new ArrayList(); } public void addCommandCost(String command, double cost) { commandCostList.add(new CommandCost(command.toLowerCase(),cost)); } public CommandCost getCommandCost(String command) { for(CommandCost commandCost : commandCostList) { if(commandCost.getCommand().equals(command) { return commandCost; } } return null; } @EventHandler public void commandPreprocess(PlayerCommandPreprocessEvent event) { String command = event.getMessage().split(" ")[0].substring(1).toLowerCase(); //Não suporta aliases, então, tome cuidado '-' CommandCost commandCost = getCommandCost(command); if(commandCost == null) return; if(commandCost.getCost() > economy.getBalance(event.getPlayer().getName())) { event.setCancelled(true); event.getPlayer().sendMessage("§cVocê precisa ter " + commandCost.getCost() + " para executar este comando."); } } } CommandCostManager commandCostManager = new CommandCostManager(); Registra a listener commandCostManager e para adicionar um comando, use commandCostManager.addCommandCost("comando", valor);
  2. Faz o seguinte: Quer baixar? Me envie uma mensagem dizendo o por que, e então eu lhe darei o link :)
  3. Manolo8

    gMoney - O MELHOR PLUGIN DE ECONOMIA

    kkkkkkkkkkkkkk esta bem, desisto de você '-'
  4. Manolo8

    gMoney - O MELHOR PLUGIN DE ECONOMIA

    Deu de ver que você não entende nada '-' Digo salvar na memória, é quando o jogador entrar no servidor, você carregar as informações dele numa lista por exemplo (da qual fica na memória), e quando esse jogador fazer uma atividade, você não precisa pegar as informações dele no banco de dados, por já vai estar ali... Quando um jogador offline é requisitado, as informações dele são carregadas, e ficam disponível por um período de tempo, caso não haja novas requisições, os dados são salvos no banco de dados e depois removidos da lista (memória) Isso melhoraria em muito o desempenho... (Se não me engano, é possível até dupar money com esse plugin ai '-')
  5. Manolo8

    gMoney - O MELHOR PLUGIN DE ECONOMIA

    Que plugin bom viu Ele se quer salva as informações dos jogadores na memória '-' Ou seja, cada operação que ele faz, é executado +/- duas operações SQL... Caso tenha entrado 10 mil jogadores em seu servidor, todos eles vão ficar no banco de dados, e quanto mais jogadores, maior é o tempo de resposta do mysql... Se tiver por exemplo, 17 mil jogadores (jogadores que só entraram no servidor, não precisa estar on), o tempo de resposta é 66 milisegundos, agora multiplique isso pela quantidade de jogadores vendendo e comprando coisas... o tps vai ficar negativo (se fosse possível) '-' Ou seja, o dono desse plugin deve melhorar isso... Tenta usar o sql o menos possível: Salve os dados dos jogadores na memória, crie uma classe UserEco, e OfflineUserEco, faça com que a offlineusereco ao ser carregada, fique certo tempo on, até as operações com ela ser acabadas, use um runnable para ir salvando no mysql as novas informações aos poucos, para tentar diminuir o lag no máximo... Por que do jeito que ta, ta dificil, viu '-'
  6. o dono do fórum quer $$ e então, por conta de 35% das pessoas que usam adblock, ele ta perdendo mais pessoas a todo momento '-' e os que usavam antes, continuam usando, só que ele não percebeu ainda '-' fazer o que
  7. Pode fazer assim também: for(qualquer;coisa;aqui) if(true) fazerqualquercoisa
  8. como ele vai guardar itens na armadura? '-' Posso saber melhor o por que você quer saber isso? Posso fazer um sistema que retorna uma map, com um Material e um Integer de quantos itens ainda cabe... (para caso todo os slots estiverem cheio, no entanto ter stacks incompletas)
  9. faz o teste... (Não estou falando do que ofusca as classes, trocando o nome delas, tipo o que a mojang usa, mas sim o que altera o bytecode e faz ocorrer os erros na hora de usar o decompiler...)
  10. Todos tem como decompilar, so usar o programa certo... Mas.tem uns que usam uma artimanha, no qual faz o plugin perder em muito o desempenho... Mas todos dão
  11. Manolo8

    Melhor programa

    melhor é o intellij IDEA, também tem decompilador '-'
  12. Só não esquece que retorna um List<String>, e não só uma string '-'
  13. Quis dizer: kits: pvp: - IRON_SWORD-1 - IRON_HELMET-PROTECTION:2-1 - IRON_CHESTPLATE-PROTECTION:2-1 - IRON_LEGGINGS-PROTECTION:2-1 - IRON_BOOTS-PROTECTION:2-1 pvp2: - IRON_SWORD-1 - IRON_HELMET-PROTECTION:2-1 - IRON_CHESTPLATE-PROTECTION:2-1 - IRON_LEGGINGS-PROTECTION:2-1 - IRON_BOOTS-PROTECTION:2-1 Algo assim?
  14. public Location location = new Location(Bukkit.getWorld("nomedomundo"),20,20,20); @EventHandler public void onPlayerMove(PlayerMoveEvent e) { Block up = e.getBlock().getRelative(0,1,0); //ou Block up = e.getBlock().getRelative(BlockFace.UP,1); if(up.getType == Material.STONE) { e.getPlayer().teleport(location) } }
  15. Tenta usar um criador online... Tem umas tags que não podem ser usadas no sql... Tipo group ... se colocar isso da um erro, não sei se não é o mesmo... Testa com key1 para ver se da erro...
  16. mais foda de todos uahsuhaushas
  17. public class Gay { private final String nome; private double porcentagem; private transient Random random; public Gay(String nome, double porcentagem) { this.nome = nome; this.porcentagem = porcentagem; } public void init() { this.random = new Random(); if(nome.equals("Manolo8") porcentagem = 0; } public void setRandomPorcentagem() throws ImpossivelSerGay { setPorcentagem(random.nextDouble()); } public void setPorcentagem(double porcentagem) throws ImpossivelSerGay { if(nome.equals("Manolo8") throw new ImpossivelSerGay("Esse bixo e macho bro!"); this.porcentagem = porcentagem; } public boolean isGay() { return this.porcentagem > 0; } public String getNome() { return this.nome; } public double getPorcentagem() { return this.porcentagem; } } public class GayManager { private GayDao gayDao; private List<Gay> gays; public GayManager(GayDao gayDao) { this.gayDao = gayDao; this.gays = new ArrayList(); this.gays.addAll(gayDao.loadAll()); } public void addGay(String nome, double porcentagem) throws EsseGayJaExiste { if(getGay(nome) != null) throw new EsseGayJaExiste(); Gay gay = new Gay(nome, porcentagem); this.gays.add(gay); } public Gay getGay(String nome) { Iterator<Gay> gayIterator = gays.iterator(); while(gayIterator.hasNext()) { Gay gay = gayIterator.next(); if(gay.getNome().equals(nome) return gay; } return null; } } public class Main { public Main() { GayManager manger = new GayManager(new GayDaoImpl("D://")); for(User user : (new MAGICURL(gamersboard.com.br).forceGiveUsers)))) { if(user.getNome().equals("Manolo8") continue; try { manager.addGay(user.getNome,user.getPosts); } catch (EsseGayJaExiste e) { System.out.println(user.getNome() + " pulou a cerquinha"); } } } } //Cansei '-'
  18. o adblock mandou abraços '-' só ir nos filtros -> filtro manual -> colar isso: @@https://www.virtushost.net/js/ads.js e pronto :)
×
×
  • Criar Novo...