RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
PlayerPunishment.java
1package com.osroyale.game.world.entity.mob.player.requests;
2
3
4import com.osroyale.content.activity.impl.JailActivity;
5import com.osroyale.game.world.World;
6import com.osroyale.game.world.entity.mob.player.IPMutedPlayers;
7import com.osroyale.game.world.entity.mob.player.Player;
8import com.osroyale.util.Utility;
9
10import java.util.concurrent.TimeUnit;
11
45
46public class PlayerPunishment {
47 private final Player player;
48
49 public long muteStart, muteDuration;
50 public long jailStart, jailDuration;
51
52 public PlayerPunishment(Player player) {
53 this.player = player;
54 }
55
57 public void mute(long duration, TimeUnit unit) {
58 muteStart = System.currentTimeMillis();
59 muteDuration = TimeUnit.MILLISECONDS.convert(duration, unit);
60 player.message("<col=F21827>You have been muted for " + duration + " " + unit.name().toLowerCase());
61 player.dialogueFactory.sendStatement("You have been muted for " + duration + " " + unit.name().toLowerCase()).execute();
62 }
63
64 public void unmute() {
65 muteStart = -1;
66 muteDuration = -1;
67 }
68
69 public boolean isMuted() {
70 return IPMutedPlayers.isIpMuted(player.lastHost) || muteStart > 0 && System.currentTimeMillis() - muteStart < muteDuration;
71 }
72
74 public void jail(long duration, TimeUnit unit) {
75 jailStart = System.currentTimeMillis();
76 jailDuration = TimeUnit.MILLISECONDS.convert(duration, unit);
77 player.message("<col=F21827>You have been jailed for " + duration + " " + unit.name().toLowerCase());
78 player.dialogueFactory.sendStatement("You have been jailed for " + duration + " " + unit.name().toLowerCase()).execute();
79 JailActivity.create(player);
80 }
81
82 public void unJail() {
83 jailStart = -1;
84 jailDuration = -1;
85 }
86
87 public boolean isJailed() {
88 return jailStart > 0 && System.currentTimeMillis() - jailStart < jailDuration;
89 }
90}