Update from Git Manager GUI
This commit is contained in:
@@ -23,14 +23,23 @@ public class PlayerHider implements Listener {
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
if (!NexusLobby.getInstance().getConfig().getBoolean("hider.enabled", true)) return;
|
||||
|
||||
Material material = Material.valueOf(NexusLobby.getInstance().getConfig().getString("hider.item", "REDSTONE"));
|
||||
int slot = NexusLobby.getInstance().getConfig().getInt("hider.slot", 8);
|
||||
|
||||
var config = NexusLobby.getInstance().getConfig();
|
||||
Material material;
|
||||
try {
|
||||
material = Material.valueOf(config.getString("hider.item", "REDSTONE"));
|
||||
} catch (IllegalArgumentException e) {
|
||||
material = Material.REDSTONE;
|
||||
}
|
||||
int slot = config.getInt("hider.slot", 8);
|
||||
|
||||
ItemStack item = new ItemStack(material);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(NexusLobby.getInstance().getConfig().getString("hider.messages.all").replace("&", "§"));
|
||||
item.setItemMeta(meta);
|
||||
if (meta != null) {
|
||||
String allMsg = colorize(config.getString("hider.messages.all", "&aAlle Spieler"));
|
||||
meta.setDisplayName(allMsg);
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
|
||||
event.getPlayer().getInventory().setItem(slot, item);
|
||||
}
|
||||
@@ -39,32 +48,40 @@ public class PlayerHider implements Listener {
|
||||
public void onInteract(PlayerInteractEvent event) {
|
||||
if (event.getAction() != Action.RIGHT_CLICK_AIR && event.getAction() != Action.RIGHT_CLICK_BLOCK) return;
|
||||
if (event.getItem() == null) return;
|
||||
if (!event.getItem().hasItemMeta()) return;
|
||||
if (event.getItem().getItemMeta() == null) return;
|
||||
if (!event.getItem().getItemMeta().hasDisplayName()) return;
|
||||
|
||||
Player player = event.getPlayer();
|
||||
String allMsg = NexusLobby.getInstance().getConfig().getString("hider.messages.all").replace("&", "§");
|
||||
String noneMsg = NexusLobby.getInstance().getConfig().getString("hider.messages.none").replace("&", "§");
|
||||
var config = NexusLobby.getInstance().getConfig();
|
||||
String allMsg = de.nexuslobby.utils.LangManager.get("hider_all");
|
||||
String noneMsg = de.nexuslobby.utils.LangManager.get("hider_none");
|
||||
|
||||
if (event.getItem().getItemMeta().getDisplayName().equals(allMsg)) {
|
||||
// Verstecken
|
||||
hidden.add(player.getUniqueId());
|
||||
for (Player target : Bukkit.getOnlinePlayers()) player.hidePlayer(NexusLobby.getInstance(), target);
|
||||
|
||||
updateItem(player, noneMsg);
|
||||
player.sendMessage(noneMsg);
|
||||
} else if (event.getItem().getItemMeta().getDisplayName().equals(noneMsg)) {
|
||||
// Zeigen
|
||||
hidden.remove(player.getUniqueId());
|
||||
for (Player target : Bukkit.getOnlinePlayers()) player.showPlayer(NexusLobby.getInstance(), target);
|
||||
|
||||
updateItem(player, allMsg);
|
||||
player.sendMessage(allMsg);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateItem(Player player, String name) {
|
||||
ItemStack item = player.getInventory().getItemInHand();
|
||||
ItemStack item = player.getInventory().getItemInMainHand();
|
||||
if (item == null || !item.hasItemMeta()) return;
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if (meta == null) return;
|
||||
meta.setDisplayName(name);
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
|
||||
private String colorize(String s) {
|
||||
return s == null ? "" : s.replace("&", "§");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user