Ir para conteúdo

Karamujo

Membros
  • Total de itens

    343
  • Registro em

  • Última visita

Respostas na Comunidade

  1. 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
  2. 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); }
  3. 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 :::
  4. 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 )
  5. 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 
     
  6. 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
  7. 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; }
  8. Karamujo's postagem in [Resolvido] Clicar em um item was marked as the answer   
    Coloca assim
     
     
    p.getInventory().remove(p.getItemInHand());
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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; } }
  14. 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
  15. Karamujo's postagem in [Resolvido] [DÚVIDA] Como crio um raio? was marked as the answer   
    p.getWorld().strikeLightning(p.getlocation());

  16. 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()); } }
  17. 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
  18. 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(); } }
  19. 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
  20. 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 }
  21. 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.
  22. 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?
  23. 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(); } } }
  24. 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) {...
  25. Karamujo's postagem in [Resolvido] [Resolvido] Problema com evento de mortes was marked as the answer   
    Skype TeamViewer
×
×
  • Criar Novo...