|
46 | 46 | import java.util.UUID; |
47 | 47 |
|
48 | 48 | public class PlayerHider extends HotbarItem { |
49 | | - private final int cooldown; |
50 | | - private final ItemStack hiddenItem; |
51 | 49 | private final List<UUID> hidden; |
| 50 | + private final ItemStack hiddenItem; |
| 51 | + private final ItemStack notHiddenItem; |
| 52 | + private final boolean playersHidden; |
| 53 | + private final int cooldown; |
52 | 54 |
|
53 | 55 | public PlayerHider(HotbarManager hotbarManager, ItemStack item, int slot, String keyValue) { |
54 | 56 | super(hotbarManager, item, slot, keyValue); |
55 | 57 | hidden = new ArrayList<>(); |
56 | 58 |
|
57 | 59 | FileConfiguration config = getHotbarManager().getConfig(ConfigType.SETTINGS); |
| 60 | + |
58 | 61 | ItemStack hiddenItem = ItemStackBuilder.getItemStack(config.getConfigurationSection("player_hider.hidden")).build(); |
59 | | - ItemMeta hiddenItemMeta = hiddenItem.getItemMeta(); |
60 | | - PersistentDataContainer hiddenItemContainer = hiddenItemMeta.getPersistentDataContainer(); |
| 62 | + ItemStack notHiddenItem = ItemStackBuilder.getItemStack(config.getConfigurationSection("player_hider.not_hidden")).build(); |
61 | 63 |
|
62 | | - hiddenItemContainer.set(NamespacedKey.minecraft("hotbar-item"), PersistentDataType.STRING, keyValue); |
63 | | - hiddenItem.setItemMeta(hiddenItemMeta); |
| 64 | + ItemMeta playerHiderMeta = hiddenItem.getItemMeta(); |
| 65 | + PersistentDataContainer playerHiderContainer = playerHiderMeta.getPersistentDataContainer(); |
| 66 | + playerHiderContainer.set(NamespacedKey.minecraft("hotbar-item"), PersistentDataType.STRING, keyValue); |
| 67 | + |
| 68 | + hiddenItem.setItemMeta(playerHiderMeta); |
| 69 | + notHiddenItem.setItemMeta(playerHiderMeta); |
64 | 70 |
|
65 | 71 | this.hiddenItem = hiddenItem; |
| 72 | + this.notHiddenItem = notHiddenItem; |
| 73 | + playersHidden = config.getBoolean("join_settings.players_hidden"); |
66 | 74 | cooldown = config.getInt("player_hider.cooldown"); |
67 | 75 | } |
68 | 76 |
|
@@ -91,7 +99,7 @@ protected void onInteract(Player player) { |
91 | 99 | hidden.remove(player.getUniqueId()); |
92 | 100 | Message.PLAYER_HIDER_SHOWN.sendFrom(player); |
93 | 101 |
|
94 | | - player.getInventory().setItem(getSlot(), getItem()); |
| 102 | + player.getInventory().setItem(getSlot(), notHiddenItem); |
95 | 103 | } |
96 | 104 | } |
97 | 105 |
|
@@ -121,6 +129,14 @@ public void onPlayerJoin(PlayerJoinEvent event) { |
121 | 129 |
|
122 | 130 | player.hidePlayer(playerToHide); |
123 | 131 | }); |
| 132 | + |
| 133 | + if (playersHidden) { |
| 134 | + for (Player player : Bukkit.getServer().getOnlinePlayers()) { |
| 135 | + playerToHide.hidePlayer(player); |
| 136 | + } |
| 137 | + |
| 138 | + hidden.add(playerToHide.getUniqueId()); |
| 139 | + } |
124 | 140 | } |
125 | 141 |
|
126 | 142 | @SuppressWarnings("deprecation") |
|
0 commit comments