Ir para conteúdo

SlayerFear

Membros
  • Total de itens

    428
  • Registro em

  • Última visita

Tudo que SlayerFear postou

  1. SlayerFear

    gitHub

    tenta limpar o histórico e la marque a opção de limpar cookies e cache
  2. Top hein! só falta adicionar um NPC para poder coletar ai sim seria dahora kkk
  3. tentei colocar + não apareceu o botão de colocar código
  4. Hoje vim trazer mais um tutorial hoje sobre NBT,como retirar a IA Sigla de Inteligência Artificial Irei Apenas Mostrar o código e um exemplo de como pode ser usada. Retirar IA public static void RetirarIA(Entity en){ net.minecraft.server.v1_8_R1.Entity nmsEn = ((CraftEntity) en).getHandle(); NBTTagCompound compound = new NBTTagCompound(); nmsEn.c(compound); compound.setByte("NoAI", (byte) 1); nmsEn.f(compound); } Recolocar IA public static void RecolocarIA(Entity en){ Entity nmsEn = (Entity) ((CraftEntity) en).getHandle(); NBTTagCompound compound = new NBTTagCompound(); ((net.minecraft.server.v1_8_R1.Entity) nmsEn).c(compound); compound.setByte("NoAI", (byte) 0); ((net.minecraft.server.v1_8_R1.Entity) nmsEn).f(compound); } public static void SpawnarFeiticeiro(Player p) { Skeleton v = (Skeleton) p.getWorld().spawnEntity(p.getLocation(), EntityType.SKELETON); v.setCustomName("§5Mercado Negro"); v.setSkeletonType(SkeletonType.WITHER); v.setCustomNameVisible(true); RetirarIA(v); }
  5. em vez de setar a prefix no grupo seta a prefix no player String prefix = PermissionsEx.getUser(p).getPrefix(); String tag = mp.getFactionName().substring(0, 3).toUpperCase(); p.setPlayerListName(prefix + " " + p.getName() + " " + tag);
  6. Anunciar por money,tipo só anuncia se tiver um valor X de money
  7. String tag = mplayer.getFactionName().substring(0, 3).toUpperCase(); aonde você colocou mp.getFactionName(); coloca apenas tag, que ele ira pegar as três primeiras letras do nome da FAC e ira colocar em maiusculo.
  8. Cria uma classe chamada SimpleScoreboard e coloca este código la package Apis; import java.util.AbstractMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import com.google.common.collect.Lists; import com.google.common.collect.Maps; public class SimpleScoreboard { private Scoreboard scoreboard; private String title; private Map<String, Integer> scores; private List<Team> teams; public SimpleScoreboard(String title) { this.scoreboard = Bukkit.getScoreboardManager().getNewScoreboard(); this.title = title; this.scores = Maps.newLinkedHashMap(); this.teams = Lists.newArrayList(); } public void blankLine() { add(" "); } public void add(String text) { add(text, null); } public void add(String text, Integer score) { Preconditions.checkArgument(text.length() < 48, "text cannot be over 48 characters in length"); text = fixDuplicates(text); scores.put(text, score); } private String fixDuplicates(String text) { while (scores.containsKey(text)) text += "§r"; if (text.length() > 48) text = text.substring(0, 47); return text; } private Map.Entry<Team, String> createTeam(String text) { String result = ""; if (text.length() <= 16) return new AbstractMap.SimpleEntry<>(null, text); Team team = scoreboard.registerNewTeam("text-" + scoreboard.getTeams().size()); Iterator<String> iterator = Splitter.fixedLength(16).split(text).iterator(); team.setPrefix(iterator.next()); result = iterator.next(); if (text.length() > 32) team.setSuffix(iterator.next()); teams.add(team); return new AbstractMap.SimpleEntry<>(team, result); } @SuppressWarnings("deprecation") public void build() { Objective obj = scoreboard.registerNewObjective((title.length() > 16 ? title.substring(0, 15) : title), "dummy"); obj.setDisplayName(title); obj.setDisplaySlot(DisplaySlot.SIDEBAR); int index = scores.size(); for (Map.Entry<String, Integer> text : scores.entrySet()) { Map.Entry<Team, String> team = createTeam(text.getKey()); Integer score = text.getValue() != null ? text.getValue() : index; OfflinePlayer player = Bukkit.getOfflinePlayer(team.getValue()); if (team.getKey() != null) team.getKey().addPlayer(player); obj.getScore(player).setScore(score); index -= 1; } } public void reset() { title = null; scores.clear(); for (Team t : teams) t.unregister(); teams.clear(); } public Scoreboard getScoreboard() { return scoreboard; } public void send(Player... players) { for (Player p : players) p.setScoreboard(scoreboard); } } e depois cria uma classe chamada Score package Apis; import org.bukkit.Bukkit; import org.bukkit.Statistic; import org.bukkit.entity.Player; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.ScoreboardManager; import Principal.Main; public class Score { public static Scoreboard getScoreBoard() { ScoreboardManager manager = Bukkit.getScoreboardManager(); Scoreboard board = manager.getNewScoreboard(); return board; } public static void setScoreBoard(Player p) { SimpleScoreboard board = new SimpleScoreboard("§6Titulo da score"); board.add("§f"); board.add("§eEstatisticas"); board.add("§fKills:§7 " + p.getStatistic(Statistic.PLAYER_KILLS)); board.add("§fDeaths:§7 " + p.getStatistic(Statistic.DEATHS)); board.add("§fDinheiro: §7" + ConvertMoney.convertInt(Main.pl.getConfig().getInt(p.getName()))); board.add("§f"); board.add("§fKit: §7Nenhum"); board.add("§fRank: §7" + Rank(p)); board.add("§8/score"); board.build(); board.send(p); } public static String Rank(Player p) { double a = + p.getStatistic(Statistic.PLAYER_KILLS); if (a <= 0.0D) { return "Silver I"; } if (a <= 50.0D) { return "Silver II"; } if (a <= 100.0D) { return "Silver III"; } if (a <= 150.0D) { return "Gold"; } if (a <= 200.0D) { return "Gold I"; } if (a <= 250.0D) { return "Gold II"; } if (a <= 300.0D) { return "Gold III"; } if (a <= 450.0D) { return "Diamond I"; } if (a <= 500.0D) { return "Diamond II"; } if (a <= 550.0D) { return "Diamond III"; } if (a <= 600.0D) { return "Esmerald I"; } if (a <= 650.0D) { return "Esmerald II"; } if (a <= 700.0D) { return "Esmerald III"; } if (a <= 750.0D) { return "Esmerald IIII"; } if (a <= 800.0D) { return "Ruby I"; } if (a <= 850.0D) { return "Legendary Eagle I"; } if (a <= 900.0D) { return "Legendary Eagle II"; } if (a <= 950.0D) { return "Legendary Eagle III"; } if (a <= 1000.0D) { return "Legendary Eagle IIII"; } if (a <= 1050.0D) { return "Lion"; } if (a <= 1100.0D) { return "Supreme I"; } if (a <= 1150.0D) { return "Supreme II"; } if (a <= 1200.0D) { return "Supreme III"; } if (a <= 1250.0D) { return "Supreme IIII"; } if (a <= 1300.0D) { return "The Global Elite"; } return "The Global Elite"; } public static void clearScoreboard(Player p) { getScoreBoard().clearSlot(DisplaySlot.SIDEBAR); p.setScoreboard(getScoreBoard()); } } e depois na main crie uma arraylist public static ArrayList<String> score = new ArrayList<>(); e depois coloque isto no onEnable new BukkitRunnable() { @Override public void run() { for(Player p:Bukkit.getOnlinePlayers()) { if(!score.contains(p.getName())) { Score.setScoreBoard(p); } else { Score.clearScoreboard(p); } } } }.runTaskTimer(this, 0, 20);
  9. Dependendo do método que você fizer a score, você pode coloca-la no onEnable
  10. não vai funfar no onEnable não há como pegar o player,o unico jeito mesmo é colocando no onJoin
  11. Coloca no evento onEnable pois assim não ira causar tanto lag que nem adicionar no método PlayerJoinEvent
  12. MPlayer mp = MPlayer.get(p); Faction fac = mp.getFaction(); fac.getLeader();
  13. consegui resolver muito obrigado por tentar ajudar!vou fazer um tutorial para todos ja que demorei para conseguir fazer ? nada melhor do que ajudar
  14. se alguém souber o nome de algum plugin assim me manda.thanks
  15. é msm assim n funcionou, ele manda as 2 mensagens 1 com prefix e outra sem ainda n funfa o JSON
  16. eu usei o convertmoney para adicionar Milhao,bilhão,etc
  17. isto não é problema,o problema é que ele não funciona junto com legend chat,etc e já que esta cancelando a mensagem e apenas mandando um texto,plugins que é preciso usar o chat como por exemplo o mamba factions para criar uma facção que é preciso digitar no chat o nome da facção e assim não funciona.
  18. Galera, preciso de ajuda para fazer plugin,eu consegui fazer mas de um meio em que não é compatível com outros plugins,pois ocorrem vários erros PRINT PRINT DA SOURCE
  19. Cara nunca testei vou tentar achar um meio
  20. To aqui com um tutorial, vi que tinha varias pessoas com esta duvida por isso vou disponibilizar aqui o code. Como pegar o nome do Jogador no evento ServerListPingEvent PASSO 1 Crie uma HashMap para adicionar o IP,Nome do player public Map<String, String> playerData = new HashMap<String, String>(); PASSO 2 Criar o evento PlayerJoinEvent Para adicionar as informações para a HashMap @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); String playerIP = player.getAddress().getAddress().toString(); playerIP = playerIP.replaceAll("/", ""); playerIP = playerIP.replaceAll("\\.", "-"); if (!(playerData.containsKey(playerIP))) { playerData.put(playerIP, player.getName()); } PASSO 3 - ULTIMO O Evento ServerListPingEvent @EventHandler public void ServerListPing(ServerListPingEvent event) { String playerIP = event.getAddress().toString(); playerIP = playerIP.replaceAll("/", ""); playerIP = playerIP.replaceAll("\\.", "-"); if (playerData.containsKey(playerIP)) { event.setMotd("Bem Vindo com a info adicionada ao hashmap " + playerData.get(playerIP) + "!"); } else { event.setMotd("Bem Vindo sem a informação adicionada ao hashmap"); } }
  21. Muito bom,o mestre que "ensinou" kkkkk.
×
×
  • Criar Novo...