1
0
mirror of https://github.com/Zrips/Jobs.git synced 2025-03-12 06:40:09 +01:00

Option to filter hidden players from tab-complete

This is incomplete...
This commit is contained in:
montlikadani 2020-02-03 21:16:09 +01:00
parent 87902519c9
commit 975dd3cd87
5 changed files with 36 additions and 29 deletions

View File

@ -994,7 +994,7 @@ public enum CMIMaterial {
//1.15
BEEHIVE("Beehive"),
BEE_NEST("Bee Nest"),
BEE_SPAWN_EGG("Bee Spawn Egg"),
BEE_SPAWN_EGG(383, null, 15434, "Bee Spawn Egg"),
HONEYCOMB("Honeycomb"),
HONEYCOMB_BLOCK("Honeycomb Block"),
HONEY_BLOCK("Honey Block"),

View File

@ -72,17 +72,15 @@ public class top implements Cmd {
continue;
if (pi.isBreak())
break;
String PlayerName = One.getPlayerName() != null ? One.getPlayerName() : "Unknown";
player.sendMessage(Jobs.getLanguage().getMessage("command.top.output.list",
"%number%", pi.getPositionForOutput(),
"%playername%", PlayerName,
"%playername%", One.getPlayerName(),
"%level%", One.getLevel(),
"%exp%", One.getExp()));
}
Jobs.getInstance().ShowPagination(sender, pi, "jobs top " + job.getName());
} else {
List<String> ls = new ArrayList<>();
for (TopList one : FullList) {
@ -90,8 +88,9 @@ public class top implements Cmd {
continue;
if (pi.isBreak())
break;
String playername = one.getPlayerName() != null ? one.getPlayerName() : "Unknown";
ls.add(Jobs.getLanguage().getMessage("scoreboard.line", "%number%", pi.getPositionForOutput(), "%playername%", playername, "%level%", one.getLevel()));
ls.add(Jobs.getLanguage().getMessage("scoreboard.line", "%number%", pi.getPositionForOutput(),
"%playername%", one.getPlayerName(), "%level%", one.getLevel()));
}
plugin.getCMIScoreboardManager().setScoreBoard(player, Jobs.getLanguage().getMessage("scoreboard.topline", "%jobname%", job.getName()), ls);

View File

@ -1,4 +1,3 @@
package com.gamingmesh.jobs.commands.list;
import org.bukkit.command.CommandSender;
@ -25,16 +24,19 @@ public class transfer implements Cmd {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.noinfoByPlayer", "%playername%", args[0]));
return true;
}
Job oldjob = Jobs.getJob(args[1]);
Job newjob = Jobs.getJob(args[2]);
if (oldjob == null) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.job"));
return true;
}
Job newjob = Jobs.getJob(args[2]);
if (newjob == null) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.job"));
return true;
}
try {
if (jPlayer.isInJob(oldjob) && !jPlayer.isInJob(newjob)) {
Jobs.getPlayerManager().transferJob(jPlayer, oldjob, newjob);
@ -49,9 +51,10 @@ public class transfer implements Cmd {
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success"));
}
} catch (Throwable e) {
} catch (Exception e) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.error"));
}
return true;
}
}

View File

@ -124,6 +124,7 @@ public class GeneralConfigManager {
public ItemStack guiBackButton;
public ItemStack guiFiller;
public boolean FilterHiddenPlayerFromTabComplete;
public int JobsTopAmount, PlaceholdersPage;
public Integer levelLossPercentageFromMax, levelLossPercentage, SoundLevelupVolume, SoundLevelupPitch, SoundTitleChangeVolume,
@ -1012,10 +1013,16 @@ public class GeneralConfigManager {
c.addComment("JobsGUI.SkipAmount", "Defines by how many slots we need to skip after group");
JobsGUISkipAmount = c.get("JobsGUI.SkipAmount", 2);
c.addComment("PageRow.JobsTop.AmountToShow", "Defines amount of players to be shown in one page for /jobs top & /jobs gtop");
JobsTopAmount = c.get("PageRow.JobsTop.AmountToShow", 15);
c.addComment("PageRow.Placeholders.AmountToShow", "Defines amount of placeholders to be shown in one page for /jobs placeholders");
PlaceholdersPage = c.get("PageRow.Placeholders.AmountToShow", 10);
c.addComment("Commands.FilterHiddenPlayersInTabComplete", "Do you want to filter the hidden player names from tab-complete?");
FilterHiddenPlayerFromTabComplete = c.get("Commands.FilterHiddenPlayersInTabComplete", false);
c.addComment("Commands.PageRow.JobsTop.AmountToShow", "Defines amount of players to be shown in one page for /jobs top & /jobs gtop");
JobsTopAmount = c.get("Commands.PageRow.JobsTop.AmountToShow", 15);
c.addComment("Commands.PageRow.Placeholders.AmountToShow", "Defines amount of placeholders to be shown in one page for /jobs placeholders");
PlaceholdersPage = c.get("Commands.PageRow.Placeholders.AmountToShow", 10);
c.addComment("Commands.JobsLeave.EnableConfirmation", "Allows to confirm the /jobs leave and leaveall commands, to confirm the leave.");
EnableConfirmation = c.get("Commands.JobsLeave.EnableConfirmation", false);
c.addComment("Commands.JobsLeave.ConfirmExpiryTime", "Specify the confirm expiry time.", "Time in seconds.");
ConfirmExpiryTime = c.get("Commands.JobsLeave.ConfirmExpiryTime", 10);
CMIMaterial tmat = null;
tmat = CMIMaterial.get(c.get("JobsGUI.BackButton.Material", "JACK_O_LANTERN"));
@ -1027,11 +1034,6 @@ public class GeneralConfigManager {
// c.addComment("Schedule.Boost.Enable", "Do you want to enable scheduler for global boost?");
// useGlobalBoostScheduler = c.get("Schedule.Boost.Enable", false);
c.addComment("JobsLeave.EnableConfirmation", "Allows to confirm the /jobs leave and leaveall commands, to confirm the leave.");
EnableConfirmation = c.get("JobsLeave.EnableConfirmation", false);
c.addComment("JobsLeave.ConfirmExpiryTime", "Specify the confirm expiry time.", "Time in seconds.");
ConfirmExpiryTime = c.get("JobsLeave.ConfirmExpiryTime", 10);
c.save();
}

View File

@ -10,6 +10,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.util.StringUtil;
import com.gamingmesh.jobs.ItemBoostManager;
@ -25,7 +26,6 @@ public class TabComplete implements TabCompleter {
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
List<String> completionList = new ArrayList<>();
if (args.length == 1) {
@ -65,13 +65,23 @@ public class TabComplete implements TabCompleter {
for (String ar : t2) {
switch (ar) {
case "[jobname]":
List<Job> Jobsai = Jobs.getJobs();
for (Job one : Jobsai) {
case "[newjob]":
for (Job one : Jobs.getJobs()) {
temp.add(one.getName());
}
break;
case "[playername]":
for (Player player : Bukkit.getOnlinePlayers()) {
pl: for (Player player : Bukkit.getOnlinePlayers()) {
// ignore hidden players
if (Jobs.getGCManager().FilterHiddenPlayerFromTabComplete && player.hasMetadata("vanished")) {
// TODO add essentials & cmi support
for (MetadataValue meta : player.getMetadata("vanished")) {
if (meta.asBoolean()) {
continue pl;
}
}
}
temp.add(player.getName());
}
break;
@ -113,13 +123,6 @@ public class TabComplete implements TabCompleter {
}
}
break;
case "[newjob]":
if (sender instanceof Player) {
for (Job job : Jobs.getJobs()) {
temp.add(job.getName());
}
}
break;
default:
temp.add(ar);
break;