Skip to content

Commit a798241

Browse files
committed
feat: add option to hide players on join by default
Signed-off-by: Cristóbal Veas <[email protected]>
1 parent a771148 commit a798241

File tree

3 files changed

+34
-8
lines changed

3 files changed

+34
-8
lines changed

src/main/java/team/devblook/akropolis/module/modules/hotbar/HotbarManager.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,15 @@ public void onEnable() {
6464
}
6565

6666
if (hiderSection.getBoolean("enabled")) {
67-
ItemStack item = ItemStackBuilder.getItemStack(hiderSection.getConfigurationSection("not_hidden")).build();
67+
boolean playersHidden = config.getBoolean("join_settings.players_hidden", false);
68+
ItemStack item;
69+
70+
if (playersHidden) {
71+
item = ItemStackBuilder.getItemStack(hiderSection.getConfigurationSection("hidden")).build();
72+
} else {
73+
item = ItemStackBuilder.getItemStack(hiderSection.getConfigurationSection("not_hidden")).build();
74+
}
75+
6876
PlayerHider playerHider = new PlayerHider(this, item, hiderSection.getInt("slot"), "PLAYER_HIDER");
6977

7078
playerHider.setAllowMovement(hiderSection.getBoolean("disable_inventory_movement"));

src/main/java/team/devblook/akropolis/module/modules/hotbar/items/PlayerHider.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,23 +46,31 @@
4646
import java.util.UUID;
4747

4848
public class PlayerHider extends HotbarItem {
49-
private final int cooldown;
50-
private final ItemStack hiddenItem;
5149
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;
5254

5355
public PlayerHider(HotbarManager hotbarManager, ItemStack item, int slot, String keyValue) {
5456
super(hotbarManager, item, slot, keyValue);
5557
hidden = new ArrayList<>();
5658

5759
FileConfiguration config = getHotbarManager().getConfig(ConfigType.SETTINGS);
60+
5861
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();
6163

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);
6470

6571
this.hiddenItem = hiddenItem;
72+
this.notHiddenItem = notHiddenItem;
73+
playersHidden = config.getBoolean("join_settings.players_hidden");
6674
cooldown = config.getInt("player_hider.cooldown");
6775
}
6876

@@ -91,7 +99,7 @@ protected void onInteract(Player player) {
9199
hidden.remove(player.getUniqueId());
92100
Message.PLAYER_HIDER_SHOWN.sendFrom(player);
93101

94-
player.getInventory().setItem(getSlot(), getItem());
102+
player.getInventory().setItem(getSlot(), notHiddenItem);
95103
}
96104
}
97105

@@ -121,6 +129,14 @@ public void onPlayerJoin(PlayerJoinEvent event) {
121129

122130
player.hidePlayer(playerToHide);
123131
});
132+
133+
if (playersHidden) {
134+
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
135+
playerToHide.hidePlayer(player);
136+
}
137+
138+
hidden.add(playerToHide.getUniqueId());
139+
}
124140
}
125141

126142
@SuppressWarnings("deprecation")

src/main/resources/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,8 @@ join_events:
397397
- "[EFFECT] SPEED;1"
398398

399399
join_settings:
400+
# Decide whether players will be hidden on join or not
401+
players_hidden: false
400402
# Should we teleport the player to the spawn point (if set) on join?
401403
spawn_join: true
402404
# Should we heal the player?

0 commit comments

Comments
 (0)