Ir para conteúdo

Karamujo

Membros
  • Total de itens

    343
  • Registro em

  • Última visita

Tudo que Karamujo postou

  1. É uma forma para uma API bem pequena levando em consideração que metodos estaticos nao fazem polimorfismo já que esse é um atributo da instancia Se você quiser criar uma API bastante simples server, se quiser deixar o codigo mais flexivel e mais estruturado não compensa
  2. 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
  3. Você precisa remover apenas o objetivos que deseja atualizar e setar eles novamente... Assim não dará flick
  4. Melhor construtor, mas é estrela
  5. Boa "1.5.Idade.da.pedra" só verdade
  6. Isso funciona para todo o mundo né?
  7. KKKKKKKKKKKKKKKKKKKKKKK IGUALZINHO MANO COMO NÃO PERCEBEU?
  8. Mano Hypixel é muito melhor, se eles copiaram não chegaram nem perto...
  9. Esse não é o evento de arremesar? event.getPotion().setMetadata("metadata", new FixedMetadataValue(owningPlugin, true));
  10. Ah sim, é iz pô @EventHandler public void PotionSplashEvent(org.bukkit.event.entity.PotionSplashEvent event) { event.getPotion().getLocation().getWorld().createExplosion(event.getPotion().getLocation(), 2F/* força */); }
  11. Você terá que fazer manual vou dar uma ideia rapida Primeiramente irá fazer a parte do efeito olhando no protocolo sabemos que o ID do efeito da poção splash é 2002 Terá que enviar utilizando packet aconselho protocollib exemplo besta public void teste() { PacketContainer packet = new PacketContainer(PacketType.Play.Server.WORLD_EVENT); packet.getIntegers().write(0, 2002); packet.getIntegers().write(1, Material.RECORD_10.getId()); packet.getIntegers().write(2, player.getLocation().getBlockX()); // X packet.getIntegers().write(3, player.getLocation().getBlockY()); // Y packet.getIntegers().write(4, player.getLocation().getBlockZ()); // Z try { ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet); } catch (InvocationTargetException e) { e.printStackTrace(); } } depois se faz um getNearbyEntities e adiciona efeitos nela normalmente Fonte adicionas: http://wiki.vg/index.php?title=Protocol&oldid=6003#Effect| http://wiki.vg/Protocol#Effect < desatualizado OFF: Bom saber que você voltou a programar
  12. 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); }
  13. Karamujo

    TGHome

    Recomendo Ja trabalhei com ele, codigo filé
  14. não curti o estilo do topico @TOPIC Belo plugin
  15. Karamujo

    Rock ou RockMetal?

    Indie rock
  16. Caraca mano nao é seu system32? Ninguem é vidente
  17. Karamujo

    Que linguagem?

    Java, Jupyter notebook, Ruby Frances e dhr
  18. Também acho é dhr ler alguns projetos open source
  19. Karamujo

    Altas api >-<

    Prometi que não vai tirar do ar? para eu poder usar
×
×
  • Criar Novo...