RuneHive-Game
Loading...
Searching...
No Matches
PlayerPunishment.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.mob.player.requests;
2
3
4import com.runehive.content.activity.impl.JailActivity;
5import com.runehive.game.world.World;
6import com.runehive.game.world.entity.mob.player.IPMutedPlayers;
7import com.runehive.game.world.entity.mob.player.Player;
8import com.runehive.util.Utility;
9
10import java.util.concurrent.TimeUnit;
11
12/**
13 * Handles the player punishment
14 *
15 * @author Daniel
16 */
17public class PlayerPunishment {
18 private final Player player;
19
20 public long muteStart, muteDuration;
21 public long jailStart, jailDuration;
22
24 this.player = player;
25 }
26
27 /** Muting */
28 public void mute(long duration, TimeUnit unit) {
29 muteStart = System.currentTimeMillis();
30 muteDuration = TimeUnit.MILLISECONDS.convert(duration, unit);
31 player.message("<col=F21827>You have been muted for " + duration + " " + unit.name().toLowerCase());
32 player.dialogueFactory.sendStatement("You have been muted for " + duration + " " + unit.name().toLowerCase()).execute();
33 }
34
35 public void unmute() {
36 muteStart = -1;
37 muteDuration = -1;
38 }
39
40 public boolean isMuted() {
41 return IPMutedPlayers.isIpMuted(player.lastHost) || muteStart > 0 && System.currentTimeMillis() - muteStart < muteDuration;
42 }
43
44 /** Jailing */
45 public void jail(long duration, TimeUnit unit) {
46 jailStart = System.currentTimeMillis();
47 jailDuration = TimeUnit.MILLISECONDS.convert(duration, unit);
48 player.message("<col=F21827>You have been jailed for " + duration + " " + unit.name().toLowerCase());
49 player.dialogueFactory.sendStatement("You have been jailed for " + duration + " " + unit.name().toLowerCase()).execute();
51 }
52
53 public void unJail() {
54 jailStart = -1;
55 jailDuration = -1;
56 }
57
58 public boolean isJailed() {
59 return jailStart > 0 && System.currentTimeMillis() - jailStart < jailDuration;
60 }
61}
static JailActivity create(Player player)
This class represents a character controlled by a player.
Definition Player.java:125