-
Total de itens
860 -
Registro em
-
Última visita
Tudo que zAth postou
-
Se fizer a task acho que já não precisa de limpar o inventário.. tenta com e sem.
-
Eu encontrei um tópico que faz isso, porém o código já não se encontra disponivel.. achei uma versão dele mas muito antiga que pode nem funcionar. como usar Eu já precisei algo assim, e usei a placa e não uma bigorna.. se quiser a classe que eu usei só pedir.
-
@EventHandler(priority = EventPriority.HIGHEST) public void onDeath(PlayerDeathEvent e){ Player p = e.getEntity().getPlayer(); Arrays.stream(p.getInventory().getContents()).forEach(itemStack -> p.getLocation().getWorld().dropItemNaturally(p.getLocation(), itemStack)); Arrays.stream(p.getInventory().getArmorContents()).forEach(itemStack -> p.getLocation().getWorld().dropItemNaturally(p.getLocation(), itemStack)); p.getInventory().clear(); p.spigot().respawn(); Location loc = new Location(Bukkit.getWorld("Spawn"), 164.500D, 122D, -1498.500, 90.0F, 0.0F); p.teleport(loc); }
-
usa o PlayerRespawnEvent e teleporta ele ou usa o PlayerDeathEvent e obriga o player a ser respawnado ignorando o menu de morte usando e.getPlayer().spigot().respawn() e depois teleporta ele para a sua location. Quando eu testei o .spigot().respawn() por algum motivo não respawnei quando dei /kill , mas se morrer por outras causas como queda, explosão, pvp, etc.. já respawnei.
-
Na verdade nem precisa de task, isso chega public static HashMap<String, Long> cooldowns = new HashMap<String, Long>(); public static void addCooldown(String name, int cooldownSeconds) { haveCooldown.put(name.toLowerCase(), System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(cooldownSeconds)); } public static boolean inCooldown(String name) { return cooldowns.containsKey(name.toLowerCase()) && System.currentTimeMillis() < cooldowns.get(name.toLowerCase()); } public static int getRemainingSeconds(String name) { if(!inCooldown(name)) return 0; return TimeUnit.MILLIS.toSeconds(cooldowns.get(name.toLowerCase()) - System.currentTimeMillis()); } mas como ainda está cursando java, vai aprendendo isso com a prática.
-
Então, para você 1 minuto é, 1 segundo * 160? e na verdade todos esses cooldown são de menos de 1 segundo.. o while não é executado de segundo em segundo.
-
não precisa, os próprios membros fazem isso.. só ver a quantidade de gente se queixando "link off" "link quebrado" "server off"
-
APOIO se deixarem o pessoal postar nessa área, vai que alguém sem ser o autor tenha o plugin/skript/whatever e que o autor já nem frequente o forum. Mas ae seria preciso deixar um aviso no tópico que o link não é do autor, então pode conter algo malicioso. Tem tópicos nesse caso..
-
Que plugin tem esse bug de dupe? do /bau
-
Pff algum mod coloque esse link no tópico.. metade desses comentários sou eu me citando a mim mesmo.
-
Não vejo desculpa para as hosts brasileiras não irem aceitar paysafecards, iria render muuuito já que é o pagamento mais simples que tem, e é possivel depositar em alguma conta bancária através do cartão.. espero que venha a chegar ao brasil, onde você viu que vai haver paysafes no brasil?
-
Você vai numa papelaria ou estação de serviço, chega na moça/o lá e diz "quero um paysafe de 10€", você dá os 10€ e ela te dá um recibo, nesse recibo tem um código com 16 caracteres. Você vai num site que aceite pagamento por paysafe, e coloca essa tal código na hora que for pagar ao site, pagamento feito.
-
O paysafe tem um cartão pré-pago mastercard, em que é possivel carrega-lo a partir da conta mypaysafe, com paysafe cards. O cartão tem uma taxa anual de 9,90 EUR, taxa de 4% por carregamento como qualquer outro cartão pré-pago, taxa de 3% por cada levantamento em dinheiro numa caixa multibanco e taxa de 2% por pagamento em moeda estrangeira. O cartão poder ser entregue a jovens ( maiores de 16 anos ) mas com autorização parental. Para esses jovens existem restrições mas nada de mais, afinal um jovem não possui uma empresa enorme.. a maior diferença é que nos cartões dos jovens o saldo máximo é de 1000€ e nos adultos é de 5000€ mas mesmo assim 1000€ para um jovem é bastante bom. Com este cartão, como já disse, pode ser feito o levantamento em dinheiro em caixas multibanco, usado em sites que aceitem cartões multibanco ( quase todas as empresas aceitam ) e também é possivel o depósito em paypal, porque o paypal tem uma opção de depositar através de cartão, e o mastercard é um cartão ( pré-pago mas funciona obviamente ). Se quiser adicionar essa info ao tópico.. é algo muito procurado, converter paysafecard para paypal. Aliás, quando se tem um cartão já nem é preciso depositar no paypal, a partir dai qualquer compra pode ser feita através do cartão, obviamente que o cartão é mais útil que o paypal. Na minha opinião este meio de pagamento é o mais simples, facilitando em imensas coisas, e não sabia que ia chegar ao brasil.. mas certamente será muito útil em vendas/compras entre portugal/brasil.
-
resolvido Qual a melhor forma de salvar a metadata de um bloco
pergunta respondeu ao LuizB de zAth em Dúvidas resolvidas
Location location = ...; String serializedLocation = location.getWorld().getName() + ";" + location.getX() + ";" + location.getY() + ";" + location.getZ(); String worldName = serializedLocation.split(";")[0]; World world = getServer().getWorld(worldName); int x = Integer.parseInt(serializedLocation.split(";")[1]); int y = Integer.parseInt(serializedLocation.split(";")[2]); int z = Integer.parseInt(serializedLocation.split(";")[3]); Location location1 = new Location(world, x, y, z); -
resolvido Qual a melhor forma de salvar a metadata de um bloco
pergunta respondeu ao LuizB de zAth em Dúvidas resolvidas
Acho que o Location tem um método .toString() mas iria ficar com coisa inútil. faz um método ae do jeito Location location = ...; String serializedLocation = location.getWorld().getName() + ";" + location.getX() + ";" + location.getY() + ";" + location.getZ(); -
resolvido Qual a melhor forma de salvar a metadata de um bloco
pergunta respondeu ao LuizB de zAth em Dúvidas resolvidas
Serializa a localização do bloco, e salva essa String + a metadata em algum lugar. Quando ligar o servidor carrega todas as localizações + as suas metadatas, dai você pega cada localização e o seu bloco e coloca a sua metadata. -
Penso que não precisa alterar no server.config, o plugin não altera para void não, tem que ser você a faze-lo.. Penso que não vem com schematics, precisa de colocar schematics na pasta do plugin e depois disso ainda tem que colocar na config o nome das schematics que você usar.
-
me faz uma :kk: curti bastante.
-
Mesmo que seja isso que ele quer, ele postou na área de java.. ele deve querer fazer um plugin próprio que faça isso e não outros.
-
Por favor avaliem meu SPAWN! Lembrando critica é sempre bem vindas!
tópico respondeu ao ZappyCraftOficial de zAth em Arquivos
faz suas próprias árvores, as padrão são feias pacarai, tira umas ideias daqui você apenas usou worldedit para fazer o terraforming, recomendo usar voxelsniper e usar /b bb, /b 3, e ir clicando nessas "montanhas" para as alisar, ou até mesmo "à mão". pode colocar algo de fundo nesses letreiros, tipo assim. O resto você detalha como quiser, mas para mim eu achei que tinha demasiadas escadas/muros.. eu faria mais simples mas os detalhes você não aprende assim tão rápido, vai se acostumando. -
//onCommand if(cmd.getName().equals("cmd")){ Player p = (Player) sender; if(!p.getLocation().getWorld().getName().equals("world")){ p.sendMessage("Esse comando so pode ser executado no world"); return true; } //seu comando }
-
:kk: :kk: é ele respondeu ao que está no tópico e respondeu primeiro ao menos da curtir
-
não tem porque o seu ItemsManager não tem esse método.. cria ele mesmo ItemStack mob_1 = new ItemStack(Material.MONSTER_EGG, 1, (short) 54); ItemMeta mob_1Meta = mob_1.getItemMeta(); ArrayList<String> lore1 = new ArrayList<String>(); lore1.add("§a - MobSpawner de Zumbi"); lore1.add("§aPreço: §7$7.000"); lore1.add("§aCaso clique aqui este MobSpawner irá virar de Zumbi!"); // 383:54 mob_1Meta.setLore(lore1); mob_1Meta.setDisplayName("§eMobSpawner de Zumbi"); mob_1.setItemMeta(mob_1Meta); inv.setItem(1, mob_1); ou então cria o método no ItemsManager public static ItemStack putNameAndLore(Material material, String name, short data, List<String lore){ ItemStack itemStack = new ItemStack(material, 1, data); ItemMeta itemMeta = itemStack.getItemMeta(); itemMeta.setLore(lore); itemMeta.setDisplayName(name); itemStack.setItemMeta(itemMeta); return itemStack; } e depois só usar ArrayList<String> lore1 = new ArrayList<String>(); lore1.add("§a - MobSpawner de Zumbi"); lore1.add("§aPreço: §7$7.000"); lore1.add("§aCaso clique aqui este MobSpawner irá virar de Zumbi!"); // 383:54 ItemStack mob_1 = ItemsManager.putNameAndLore(Material.MONSTER_EGG, "§eMobSpawner de Zumbi", (short) 54, lore1); inv.setItem(1, mob_1);
-
Se não achar mais bugs, dê melhor resposta ao leo né :kk:
-
tenta if(e.getCurrentItem().getItemMeta().getDisplayName().equals("§eMobSpawner de Zumbi")){
