-
Total de itens
188 -
Registro em
-
Última visita
Tudo que FilipeNock postou
-
resolvido Cancelar Drop De um player quando morre
pergunta respondeu ao dudu de FilipeNock em Dúvidas resolvidas
@EventHandler public void death(PlayerDeathEvent e) { e.getDrops().clear(); } faz um scan nos items dropados os que forem armadura por exemplo adiciona em uma hashMap quando o player respawnar seta os items de novo para o jogador -
Voce descompilou este plugin? tah faltando as variaveis primitivas ai man, basico do java '-' String, int, double, float, long, boolean corrigi isso ai dps resolve os outros problemas
-
Cria um Repetiting Task de 10 em 10 ticks double time = 10.0; a cada 1ms time = time-0.1; quando chegar a 0.0 para o task e sinceramente não vou enviar o codigo, faça vc n deixe sua mente ser preguiçosa para o java.
-
resolvido Separar uma ArrayList<String> em páginas, como faço?
pergunta respondeu ao GuiHSilva de FilipeNock em Dúvidas resolvidas
fiz uma coisa meio doida aqui mas acho que pode funcionar (OBS n testei ainda..) funciona da seguinte forma public HashMap<Integer, ArrayList<String>> getPaginas(ArrayList<String> lista) { HashMap<Integer, ArrayList<String>> paginas = new HashMap<>(); int currentpage = 0; int currentnumber = 0; ArrayList<String> pagina1 = new ArrayList<>(); paginas.put(0, pagina1); for (String s : lista) { if (currentnumber < 15/*MAX POR PAGINA*/) { paginas.get(currentpage).add(s); currentnumber++; } else { currentpage++; currentnumber = 0; ArrayList<String> proxPagina = new ArrayList<>(); paginas.put(currentpage, proxPagina); } } return paginas; } para usar é simples public void testePaginas() { ArrayList<String> players = new ArrayList<>(); players.add("FilipeNock"); players.add("Notch"); players.add("TestPlayer"); HashMap<Integer, ArrayList<String>> paginas = getPaginas(players); int pagessize = paginas.size(); // QUANTIDADE DE PAGINAS paginas.get(0) // PAGINA 1 paginas.get(1) // PAGINA 2 paginas.get(2) // PAGINA 3 } o hashMap vai retornar a pagina que vc puxar -
Man é a coisa mais simples que existe! simplesmente muda o nome da package, no java se vc criar uma classe chamada "teste" dentro da package "me.filipenock.teste" vai dar erro **PENSE**
-
Está mas até a 1.9 ate onde sei esta funcionando... descontinuado significa que nas proximas versoes pode nao funcionar
-
@EventHandler public void placee(BlockPlaceEvent e) { if (e.getBlock().getType() == Material.PISTON_BASE) { Block b = e.getBlockPlaced(); //0 - PARA BAIXO //1 - PARA CIMA //2, 3 ,4 ,5 são para rotação do pistao //ISSO SÓ FUNCIONA PRA BLOCOS, SE VC TENTAR ISSO PARA BAUS E PLACAS //TERA QUE FAZER DIFERENTE b.setData((byte)0, true); b.getState().update(); } }
-
foi mal eu que vi errado... provavelmente na linha 46 envia a mensagem para o jogador tenta assim https://hastebin.com/omaropetul.java Não tenho certeza se isso influencia mas na sua config tava com letra maiuscula e no codigo com letra minuscula a parte do Mensagens.Reload p.sendMessage(mensagem.getConfig().getString("Mensagens.reload").replace("&", "§"));
-
tenta assim https://hastebin.com/omaropetul.java
-
o que tem na linha 46 da Main? põe a classe no hastebin que mostra a numeração das linhas at me.animexpvp.com.br.Main.onCommand(Main.java:46)
-
'----' public HashMap<String, Integer> valores = new HashMap<>(); public void save() { for (String s : valores.keySet()) { int value = valores.get(s); getConfig().set("ValueTest."+s, value); } saveConfig(); } se quiser usar sqlite.... na config vai ficar assim ValueTest: teste: 50
-
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) { }
-
concordo!! millis fica menos complicado use esse exemplo, mas ainda acho que seria melhor criar um objeto para os vips, dai quando o servidor inicia vc carrega os dados, quando fechar salva os dados //DATA - PODE SER USADO EM MYSQL OU YAML OU ATÉ SQLITE protected HashMap<Player, Long> vips = new HashMap<>(); public void setVip(Player player, int segundos) { long time = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()) + segundos; vips.put(player, time); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+player.getName()+" group set vip"); } public void checkVip(Player player) { if (!vips.containsKey(player)) return; if (vips.get(player) > TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis())) { vips.remove(player); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+player.getName()+" group remove vip"); player.sendMessage("Seu Tempo de vip expirou"); } } public String getFinishDate(Player player) { if (!vips.containsKey(player)) return null; DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); df.getCalendar().setTimeZone(TimeZone.getTimeZone("GMT-3")); return df.format(new Date(vips.get(player)*1000)); }
-
resolvido [Dúvida] Placa Colocada
pergunta respondeu ao Artcheer de FilipeNock em Dúvidas resolvidas
public static Block getBlockBehindSign(Block block) { if (block.getType().equals(Material.WALL_SIGN)) switch (block.getData()) { case 2: return block.getRelative(BlockFace.WEST); case 3: return block.getRelative(BlockFace.EAST); case 4: return block.getRelative(BlockFace.SOUTH); case 5: return block.getRelative(BlockFace.NORTH); } return null; } Block block = getBlockBehindSign(BLOCO DA PLACA) -
resolvido Sistema de resetar arena com Problemas!
pergunta respondeu ao FilipeNock de FilipeNock em Dúvidas resolvidas
Pode fechar consegui resolver!! depois de horas Simplesmente antes de spawnar a cage eu n usei a localização salva no objeto criei uma nova Localização com os dados salvos Location teleportLoc = new Location(Bukkit.getWorld(getName()), is.getSpawn().getX(), is.getSpawn().getY(), is.getSpawn().getZ(), is.getSpawn().getYaw(), is.getSpawn().getPitch()); Util.setSoloCage(teleportLoc, cage.getItem().getType(), cage.getItem().getData().getData()); -
resolvido Sistema de resetar arena com Problemas!
pergunta respondeu ao FilipeNock de FilipeNock em Dúvidas resolvidas
continua a mesma coisa, vou tentar fazer um sistema que reseta os blocos e n o mundo todo o problema é evitar o lag na hr de resetar -
Olá a todos estou a uns dias criando um plugin de skywars e como todos os plugins que ja criei sempre tem um que complica... primeiramente pra todos saberem o sistema de resetar que uso é aquele que faz o unload do mundo e dps carrega dnv.. até ai tudo bem o sistema funciona perfeitamente. Sistema de reset: https://hastebin.com/siwamemaxa.cpp Continuando quando a arena esta pra iniciar que os players são levados a cage simplesmente as cages não spawnam, vcs podem me dizer que o problema é no codigo das cages mas... se eu removo o sistema de reset funciona normalmente! Gravei um video mostrando se alguem souber como resolver ou se tem um sistema que reseta os blocos (Sem Schematic) agradeço! https://www.youtube.com/watch?v=Si8uVh-xwbc&feature=youtu.be
-
a sua variavel economia n foi iniciada ela é nula.... coloca esse register() na sua Main class
-
Eu uso isso: public void top5() { Map<String, Integer> playerskills = new HashMap<>(); playerskills.put("FilipeNock", 220); playerskills.put("Notch", 560); playerskills.put("DeadByAUnicorn", 5); playerskills = sortByValue(playerskills); int top = 1; for (String s : playerskills.keySet()) { if (top < 5) { Bukkit.broadcastMessage("TOP "+top+" : Kills: " + playerskills.get(s)); top++; } } } public Map<String, Integer> sortByValue(Map<String, Integer> map) { List<Map.Entry<String, Integer>> list = new LinkedList<Map.Entry<String, Integer>>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> m1, Map.Entry<String, Integer> m2) { return (m2.getValue()).compareTo(m1.getValue()); } }); Map<String, Integer> result = new LinkedHashMap<String, Integer>(); for (Map.Entry<String, Integer> entry : list) { result.put(entry.getKey(), entry.getValue()); } return result; }
-
1º 2º Aperte no Ok e pronto 3º
-
me envie o plugin que edito pra vc...
-
Eu uso segundos pra countdown... desse modo aqui public HashMap<Player, Long> tempo = new HashMap<>(); public void checkExampleKit(Player player) { if (!tempo.containsKey(player)) { tempo.put(player, (long)0); } if (tempo.get(player) > TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis())) { long diference = tempo.get(player) - TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()); player.sendMessage("Voce esta em countdown: " + DayHourMinSec(diference)); } else { long timetoadd = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()) + 2629800; //2629800 = 30 Dias tempo.put(player, timetoadd); player.sendMessage("Voce recebeu seu Kit"); } } public static String DayHourMinSec(long millis) { String string; if (millis < 0) {throw new IllegalArgumentException("Number must be greater to 0");} long days = TimeUnit.SECONDS.toDays(millis); millis -= TimeUnit.DAYS.toSeconds(days); long hours = TimeUnit.SECONDS.toHours(millis); millis -= TimeUnit.HOURS.toSeconds(hours); long minutes = TimeUnit.SECONDS.toMinutes(millis); millis -= TimeUnit.MINUTES.toSeconds(minutes); long seconds = TimeUnit.SECONDS.toSeconds(millis); StringBuilder sb = new StringBuilder(64); if (days > 0) {sb.append(days);} if (days > 1) { sb.append(" Dias "); } if (days == 1){ sb.append(" Dia "); } if (hours > 0) {sb.append(hours);} if (hours > 1) { sb.append(" Horas "); } else if (hours == 1){ sb.append(" Hora "); } if (minutes > 0) {sb.append(minutes);} if (minutes > 1) { sb.append(" Minutos "); } else if (minutes == 1){ sb.append(" Minuto "); } if (seconds > 0) {sb.append(seconds);} if (seconds > 1) { sb.append(" Segundos"); } else if (seconds == 1){ sb.append(" Segundo"); } string = sb.toString(); return string; }
-
n entendi nada o que vc quer mas acho que é isso, vc n quer dropar o item de alguns blocos correto? @EventHandler public void nodrop(BlockBreakEvent e) { if (e.getBlock().getType() == Material.STONE) { e.getBlock().getDrops().clear(); } }
-
se vc vai fazer um rankup o correto seria criar um Objeto "Rank" e armazenar todas as informações nele caso contrario se vc vai mandar só as mensagens for (String rank : getConfig().getConfigurationSection("Ranks").getKeys(false)) { String id = getConfig().getString("Ranks." +rank); p.sendMessage(id + " - " + rank); }
-
resolvido Problema NullPointerException
pergunta respondeu ao Muloo de FilipeNock em Dúvidas resolvidas
vc só abriu a variavel n disse o que ela é '- public static Cooldown cooldown; cooldown = ....;