-
Total de itens
343 -
Registro em
-
Última visita
Respostas na Comunidade
-
Karamujo's postagem in [Resolvido] [Dúvida] Criar API was marked as the answer
Não cara que API feia
Crie uma manager onde terá os metodos publicos, essa manager você instancea ela no onEnable(), crie uma variavel para salvar essa manager estática servido de bridgeAPI
tem inumeras forma de você criar, uma é essa que eu disse
-
Karamujo's postagem in [Resolvido] Enviar mensagem em json?? ;-; was marked as the answer
Utiliza dessa classe utilitaria
private String msg; public JsonMessage() { this.msg = "[{\"text\":\"\",\"extra\":[{\"text\": \"\"}"; } private static Class<?> getNmsClass(String nmsClassName) throws ClassNotFoundException { return Class.forName("net.minecraft.server." + Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3] + "." + nmsClassName); } private static String getServerVersion() { return Bukkit.getServer().getClass().getPackage().getName().substring(23); } public void send(Player p) { String version = getServerVersion(); String nmsClass = (version.startsWith("v1_8_R") ? "IChatBaseComponent$" : "") + "ChatSerializer"; try { Object comp = getNmsClass(nmsClass).getMethod("a", new Class[]{String.class}).invoke(null, new Object[]{this.msg + "]}]"}); Object packet = getNmsClass("PacketPlayOutChat").getConstructor(new Class[]{getNmsClass("IChatBaseComponent")}).newInstance(new Object[]{comp}); Object handle = p.getClass().getMethod("getHandle", new Class[0]).invoke(p, new Object[0]); Object playerConnection = handle.getClass().getField("playerConnection").get(handle); playerConnection.getClass().getMethod("sendPacket", new Class[]{getNmsClass("Packet")}).invoke(playerConnection, new Object[]{packet}); } catch (Exception e) { e.printStackTrace(); } } public JsonStringBuilder append(String text) { return new JsonStringBuilder(this, esc(text)); } private static String esc(String s) { return JSONObject.escape(s); } public static class JsonStringBuilder { private String click = ""; private String hover = ""; private final String string; private final JsonMessage message; public JsonStringBuilder(JsonMessage msg, String text) { this.message = msg; this.string = (",{\"text\":\"" + text + "\""); } public JsonStringBuilder setHoverAsTooltip(String... lore) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < lore.length; i++) { if (i + 1 == lore.length) { builder.append(lore[i]); } else { builder.append(lore[i] + "\n"); } } this.hover = (",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"" + JsonMessage.esc(builder.toString()) + "\"}"); return this; } public JsonStringBuilder setHoverAsAchievement(String ach) { this.hover = (",\"hoverEvent\":{\"action\":\"show_achievement\",\"value\":\"achievement." + JsonMessage.esc(ach) + "\"}"); return this; } public JsonStringBuilder setClickAsURL(String link) { this.click = (",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"" + JsonMessage.esc(link) + "\"}"); return this; } public JsonStringBuilder setClickAsSuggestCmd(String cmd) { this.click = (",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"" + JsonMessage.esc(cmd) + "\"}"); return this; } public JsonStringBuilder setClickAsExecuteCmd(String cmd) { this.click = (",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"" + JsonMessage.esc(cmd) + "\"}"); return this; } public JsonMessage save() { JsonMessage tmp4_1 = this.message; tmp4_1.msg = (tmp4_1.msg + this.string + this.hover + this.click + "}"); return this.message; } } } Obs: não é minha a classe ela foi publicada no spigo*.com
Forma de uso
public void test(Player player) { JsonMessage message = new JsonMessage(); JsonStringBuilder builder = new JsonStringBuilder(message, "teste "); builder.setClickAsExecuteCmd("/teste"); builder.setClickAsSuggestCmd("/teste"); builder.setHoverAsTooltip(new String[]{"lore1", "lore2", "lore3"}); builder.save().send(player); } -
Karamujo's postagem in [Resolvido] currentTimeMillis was marked as the answer
SQLite é uma boa, mas não acho bom usar LONG salvaria no formato DATETIME msm :::
-
Karamujo's postagem in [Resolvido] Problema com uns codigos was marked as the answer
Utilize a API do protocolLib
private ProtocolManager protocolManager; private WrappedDataWatcher ghastWatcher; public void sendPacket(Player p, Location loc, EntityType et) { protocolManager = ProtocolLibrary.getProtocolManager(); ghastWatcher = getDefaultWatcher(loc.getWorld(),et); PacketContainer newPacket = new PacketContainer(24); newPacket.getIntegers(). write(0, 500). write(1, (int) et.getTypeId()). write(2, (int) (p.getLocation().getX() * 32)). write(3, (int) (p.getLocation().getY() * 32)). write(4, (int) (p.getLocation().getZ() * 32)); newPacket.getDataWatcherModifier(). write(0, ghastWatcher); try { ProtocolLibrary.getProtocolManager().sendServerPacket(p, newPacket); } catch (InvocationTargetException e) { e.printStackTrace(); } } public WrappedDataWatcher getDefaultWatcher(World world, EntityType type) { Entity entity = world.spawnEntity(new Location(world, 0, 256, 0), type); WrappedDataWatcher watcher = WrappedDataWatcher.getEntityWatcher(entity).deepClone(); entity.remove(); return watcher; } Se não der assim percorre por todos player on da send packet ( ai se cria um metodo só para o packet )
-
Karamujo's postagem in [Resolvido] Como criar uma package dentro de outra package was marked as the answer
antes configure seu eclipse dessa forma.
depois só criar um me.leozinhoplay.com.Comandos
-
Karamujo's postagem in [Resolvido] [Erro] Não sei o porque mas não funfa. was marked as the answer
Ta faltando o Spawn.Mundo
ta só mundo
-
Karamujo's postagem in [Resolvido] 2 Dúvidas was marked as the answer
Duvida 1 pelo que eu entendi é isso
@Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(sender instanceof CommandSender) { return false; } if(sender instanceof Player) { if(label.equalsIgnoreCase("tag")) { if(args.length == 1) { // argumento certo } if(args.length != 1) { // erro de argumento } } return false; } return false; } -
Karamujo's postagem in [Resolvido] Clicar em um item was marked as the answer
Coloca assim
p.getInventory().remove(p.getItemInHand()); -
Karamujo's postagem in [Resolvido] mySQL was marked as the answer
Sabe fazer a conexão?
Caso sim olhe, você tera que percorrer as coluna de um table desse jeito
public boolean teste() { //sua tbale ResultSet rs = stmt.executeQuery("SELECT * FROM table"); ResultSetMetaData rsmd = rs.getMetaData(); int numerosDeColuna = rsmd.getColumnCount(); for(int i = 0; i < numerosDeColuna; i++) { String nomeDaColuna = rsmd.getColumnName(i); String sla = getConfig().getString("teste"); if(nomeDaColuna == sla) { return true; } } return false; } Se não souber avisa que tento explicar
-
Karamujo's postagem in [Resolvido] [Dúvida] erro no javex :P was marked as the answer
é uma alerta de que não está usando
@SuppressWarning("unused")
Coloca essa anotação em cima da linha da alerta
-
Karamujo's postagem in [Entregue] Pedido simples ( again é.é ) was marked as the answer
Bom, fiz
http://www.mediafire.com/download/7o752l72rsrzkh7/Void.jar
Comandos - Permission
/setvoid - set.void
-
Karamujo's postagem in [Resolvido] [Resolvido] Problema com PlayerChatTabCompleteEvent was marked as the answer
Codigo final - Skype
public class Tab implements TabCompleter { @Override public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) { if (label.equalsIgnoreCase("tell")) { List<String> fakes = new ArrayList<String>(); for (Player player : Bukkit.getOnlinePlayers()) { fakes.add(player.getDisplayName()); } return fakes; } return null; } }
Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.
Atenciosamente,
Gamer's Board
Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.
Atenciosamente,
Gamer's Board -
Karamujo's postagem in [Resolvido] Sobre um evento que nao sei o nome was marked as the answer
Bom então faz aquilo que falei
Cria a classse estende e vai skype depois
Codigo final
public class Tab implements TabCompleter { @Override public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) { if (label.equalsIgnoreCase("tell")) { List<String> fakes = new ArrayList<String>(); for (Player player : Bukkit.getOnlinePlayers()) { fakes.add(player.getDisplayName()); } return fakes; } return null; } } -
Karamujo's postagem in [Resolvido] Como eu faço parar criar um botão e executar was marked as the answer
public void actionPerformed(ActionEvent e) { if(e.getSource() == botaodefechar ) { System.exit(0);//fechaa aplicação } } Eu uso esse evento
em Jbutton
-
Karamujo's postagem in [Resolvido] [DÚVIDA] Como crio um raio? was marked as the answer
p.getWorld().strikeLightning(p.getlocation());
-
Karamujo's postagem in [Resolvido] [Dúvida] was marked as the answer
Bom como ja sei oque voce quer (Skype)
Tenta fazer assim
Coloque isso dentro do onEnable()
ArrayList<String> containTag = new ArrayList<String>(); Player[] total = Bukkit.getServer().getOnlinePlayers(); for(Player p : total) { if(getConfig().contains(p.getName())) { containTag.add(p.getName()); } for(String contais : containTag) { Player extact = Bukkit.getPlayer(contais); extact.setPlayerListName("tag" + extact.getName()); } } Tente fazer isso caso nao funcione tente isso
ArrayList<String> containTag = (ArrayList<String>) getConfig().getStringList("sua lista de Player"); Player[] total = Bukkit.getServer().getOnlinePlayers(); for(Player p : total) { for(String pp: containTag) { Player extact = Bukkit.getPlayer(pp); extact.setPlayerListName("tag" + extact.getName()); } } -
Karamujo's postagem in [Resolvido] [Dúvida] Água é considerado bloco? was marked as the answer
acredito que seria assim
public void playerFish(PlayerFishEvent e) { Player p = e.getPlayer(); if(p.getInventory().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("x")) { } } @edit
esqueci de verificar se era vara
public void playerFish(PlayerFishEvent e) { Player p = e.getPlayer(); if(p.getInventory().getItemInHand().getTypeId() == 346) { if(p.getInventory().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("x")) { } } } nao esquece do @EventHandler
-
Karamujo's postagem in [Resolvido] [Dúvida] Porque não funfa? Não da erro nenhum '-' was marked as the answer
@EventHandler public void clickItem(InventoryClickEvent ev) { Player p = (Player) ev.getWhoClicked(); if(ev.getInventory().getName().equalsIgnoreCase("§9§lLoja de Poção")) { ItemStack x = ev.getCurrentItem(); p.getInventory().addItem(x); p.updateInventory(); } } -
Karamujo's postagem in [Resolvido] [Duvida] Carregar 2 mundos was marked as the answer
se nao me engano so trocar o nome para o nome do World ele vai carregar
-
Karamujo's postagem in [Resolvido] Ajuda na aula de Java da faculdade xti was marked as the answer
Bom voce pode usar condição como if = se
Ou seja se a variavel imc for < 17
e completa usando outros if
if(imc < 17) { //continua } if(imc => 17 && imc < 18,49) { //continua } -
Karamujo's postagem in [Resolvido] Dúvida, Plugin was marked as the answer
Bom eu criaria uma lista pegando todos item da config em forma de lista.
Depois percorreria por todos item desta lista dando ao Player
@SuppressWarnings("unchecked") public void darItem(Player p) { List<Integer> idlist = (List<Integer>) getConfig().getList("Item"); for(int i : idlist) { p.getInventory().addItem(new ItemStack(Material.getMaterial(i))); } } eu fiz em forma de metodo mas nao precisa ou seja pode usar so a lista e o for.
-
Karamujo's postagem in [Resolvido] [HelP] Setando A Vida De Um Player? o.O was marked as the answer
Seu server e que versao a API que voce ta usando e que versao?
-
Karamujo's postagem in [Resolvido] JackHammer problema Critico was marked as the answer
ajudei pelo skype
code usado
@EventHandler(priority=EventPriority.NORMAL) public void onBlockBreak1(BlockBreakEvent event) { Player p = event.getPlayer(); Block b = event.getBlock();//funciono mostro a mensagem o certo era ela repetir vou ver agora if (jackhammer.contains(p)) { if((b.getType() == Material.DIRT || b.getType() == Material.GRASS|| b.getType() == Material.STONE) && (p.getItemInHand().getType() == Material.STONE_AXE)) { World w = (World)Bukkit.getServer().getWorlds().get(0); int x = b.getLocation().getBlockX(); int y = b.getLocation().getBlockY(); int z = b.getLocation().getBlockZ(); Location l = new Location(w, x, y, z); Block blocklocal = l.getBlock(); for(int i = 50; i > 0; i --) { l.add(0,-1,0); l.add(0,1,0); blocklocal.getDrops().remove(l); blocklocal = l.getBlock(); blocklocal.breakNaturally(); } } } -
Karamujo's postagem in [Resolvido] Problema com evento critico was marked as the answer
Coloque isso antes disso
if(e.getCurrentItem() != null && e.getCurrentItem().getTypeId() != 0) {... -
Karamujo's postagem in [Resolvido] [Resolvido] Problema com evento de mortes was marked as the answer
Skype TeamViewer