-
-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathTaserManager.java
More file actions
35 lines (28 loc) · 1.24 KB
/
TaserManager.java
File metadata and controls
35 lines (28 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package nl.openminetopia.modules.police.taser;
import lombok.Getter;
import nl.openminetopia.OpenMinetopia;
import nl.openminetopia.api.player.objects.MinetopiaPlayer;
import nl.openminetopia.modules.police.utils.TaserUtils;
import nl.openminetopia.utils.ChatUtils;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@Getter
public class TaserManager {
private final List<UUID> taseredPlayers = new ArrayList<>();
public void taser(MinetopiaPlayer targetMinetopiaPlayer) {
Player target = targetMinetopiaPlayer.getBukkit().getPlayer();
if (target == null) return;
taseredPlayers.add(target.getUniqueId());
Bukkit.getScheduler().runTaskLaterAsynchronously(OpenMinetopia.getInstance(), () -> {
taseredPlayers.remove(target.getUniqueId());
}, OpenMinetopia.getDefaultConfiguration().getTaserFreezeDuration() * 20L);
target.sendMessage(ChatUtils.format(targetMinetopiaPlayer, "<red>Je bent geraakt door een tazer!"));
TaserUtils.applyTaserEffects(target);
}
public boolean isTasered(Player player) {
return taseredPlayers.stream().anyMatch(uuid -> uuid.equals(player.getUniqueId()));
}
}