Ir para conteúdo

abidux

Desenvolvedores(as)
  • Total de itens

    761
  • Registro em

  • Última visita

Tudo que abidux postou

  1. abidux

    TPX

    Venho por meio desse tópico divulgar o servidor de um amigo, é um survival sem mods 1.15.2 com: PETS SKILLS TIME IN A BOTTLE TINKERS SPAWNERS CLANS GUERRAS DE CLANS etc Trailer https://www.youtube.com/watch?v=J4wSNKw03E4 IP: theplanetx.witchhost.com
  2. criei um pequeno plugin para lhe dar um exemplo, eu usei tags NBT. Recomendo que analise o código, não apenas o cole. @Override public void onEnable() { Bukkit.getPluginManager().registerEvents(this, this); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (command.getName().equalsIgnoreCase("pickaxe") && sender instanceof Player) { Player player = (Player)sender; ItemStack picareta = new ItemStack(Material.DIAMOND_PICKAXE); ItemMeta meta = picareta.getItemMeta(); meta.setDisplayName("§6Limited Pickaxe"); picareta.setItemMeta(meta); net.minecraft.server.v1_8_R3.ItemStack nmsPicareta = CraftItemStack.asNMSCopy(picareta); NBTTagCompound tag = nmsPicareta.hasTag() ? nmsPicareta.getTag() : new NBTTagCompound(); tag.setInt("blocks", 5); nmsPicareta.setTag(tag); player.getInventory().addItem(CraftItemStack.asBukkitCopy(nmsPicareta)); } return false; } @EventHandler public void onBreak(BlockBreakEvent e) { ItemStack item = e.getPlayer().getItemInHand(); if (item.hasItemMeta() && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§6Limited Pickaxe")) { net.minecraft.server.v1_8_R3.ItemStack nmsItem = CraftItemStack.asNMSCopy(item); NBTTagCompound tag = nmsItem.getTag(); int blocks = tag.getInt("blocks") - 1; if (blocks == 0) { e.getPlayer().setItemInHand(null); sendBlocks(e.getPlayer(), blocks); return; } tag.setInt("blocks", blocks); nmsItem.setTag(tag); e.getPlayer().setItemInHand(CraftItemStack.asBukkitCopy(nmsItem)); sendBlocks(e.getPlayer(), blocks); } } private void sendBlocks(Player player, int blocks) { IChatBaseComponent comp = IChatBaseComponent.ChatSerializer.a("{\"text\":\"§7Usos restantes: §e"+blocks+"§7/§e5\"}"); PacketPlayOutChat packet = new PacketPlayOutChat(comp, (byte)2); ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); }
  3. bom, na verdade, é simples, na linha 46 você pede o bloco que o cara clicou, mas desconsidera que existe a possibilidade de não haver um bloco. tente verificar se a ação é de clique com o botão direito num bloco e, se for, execute o código. e.getAction().equals(Action.RIGHT_CLICK_BLOCK) se não me engano
  4. é, fui ver a src e me deparei com o código do spigot, ele deve ter colocado o ngç errado nos artifacts
  5. @yChusy tem louco que cria um scheduler síncrono por player kk
  6. abidux

    VOCÊ escolhe! :D

    eu gostaria de jogar um rankup que não fosse baseado apenas em virar top 1 e fazer missões, queria um que tivesse uma interação mais interessante entre jogadores, acho que é isso. ¯\_(ツ)_/¯
  7. @Sorvetin chama discord, vou tentar te ajudar
  8. posso kibar? u. u OBS: dá para fazer sem o hd, é só usar um código +- assim: ArmorStand as = (ArmorStand) block.getWorld().spawnEntity(spawnLocation, EntityType.ARMOR_STAND); as.setSmall(true); as.setVisible(false); as.setCustomName("§aColoque o texto aqui."); as.setCustomNameVisible(true); as.setGravity(false); as.setCanPickupItems(false); aí vc ajusta uma loc para o "spawnLocation" pode usar o código, mas só se quiser
  9. @Sorvetin pesquisa sobre o weight do pex, acho que vai te ajudar ?
  10. @Ruushh bom, eu coloquei para salvar a cada 5 minutos, você esperou? '-' outra, na config fica assim: mundos: - world
  11. @Override public void onEnable() { if (!new File(getDataFolder(), "config.yml").exists()) saveDefaultConfig(); new BukkitRunnable() { @Override public void run() { for (String world : getConfig().getStringList("mundos")) { Bukkit.getWorld(world.trim()).save(); Bukkit.getConsoleSender().sendMessage("§dMundo salvo: §f"+world.trim().toUpperCase()); } } }.runTaskTimerAsynchronously(this, 0, 20*60*5); } mantendo o save, para caso tenha alguma necessidade específica dele...
  12. abidux

    Ligas

    Criei esse tópico só para mostrar o plugin, copiei a ideia de um servidor que copiou o Clash of Clans foi só para testar o que eu sei, então vou deixar a src disponível no github (link abaixo) Por que .yml? Fiquei com preguiça de fazer SQLite, eu só ia guardar uma informação e ia fazer cache de qualquer jeito, então preferi usar o .yml pela facilidade. Prints: /ligas (não tem páginas, fiz só 4 ligas, os carpetes só estão aí para caso eu quisesse colocar) Exemplo de liga: /ligas <name> permissão: ligas.admin /ligas set <name> <amount> - altera a quantia de troféus dependência ao legend chat Tá bem básico, mas eu gostei. Código: https://github.com/mabidux/Ligas/
  13. talvez eu faça um ramake ?
  14. Não, quando eu fiz o plugin eu não sabia fazer isso.
  15. o youtube oferece uma forma de copiar o código de incorporação de um vídeo ao clicar com o botão direito. ele vai copiar na sua área de transferência, aí é só copiar no seu site.
  16. eu não ofusquei, você pode atualizar.
  17. no caso, ele estava fazendo menção à minha API de formatação de money, mas ela só funciona se você mesmo programar a scoreboard.
×
×
  • Criar Novo...