[go: nahoru, domu]

Skip to content

Commit

Permalink
Added 'allow-visit' option, allows/disallow players to visit jails
Browse files Browse the repository at this point in the history
  • Loading branch information
hoyinm14mc committed Jul 31, 2017
1 parent 5efea54 commit 2dac13d
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 1 deletion.
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Changelog of Jail
- Fixed language initialization error of missing file (Critical fix)
- Fixed "listener.player.not.allowed.leave" message being overlapped
- Animated the emoji of the prisoner UI when Bail is disabled
- Added 'allow-visit' option, allows/disallow players to visit jails

1.1.4 - 30/JUL/2017
- Updated API version, compatible with the current latest PocketMine software
Expand Down
5 changes: 4 additions & 1 deletion plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,7 @@ permission:
description: Allows admins to obtain a prisoner's information
jail.showInOutMessage:
default: true
description: Allows receiving jail enter/leave notification
description: Allows receiving jail enter/leave notification
jail.visit.bypass:
default: op
description: Allows admins to visit any jails
2 changes: 2 additions & 0 deletions resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ enable-penalty: true
penalty-time: 10
#Allow players to bail using money?
allow-bail: true
#Allow non-jailed players to enter a jail?
allow-visit: true
#How much money per second a player has to pay to bail?
bail-per-second: 100
#OPs can't be jailed?
Expand Down
1 change: 1 addition & 0 deletions resources/lang_en.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"listener.player.command.cancelled": "&cCommand execution cancelled!",
"listener.player.set.success": "&aJail set successfully!",
"listener.player.not.allowed.leave": "\n&2You are not allowed to leave the jail!",
"listener.player.not.allowed.enter": "&cYou don't have rights to visit this jail!",
"penalty.added.prisoner": "You have been added %time% minutes as penalty!",
"unjail.you.success": "&aYou have been unjailed successfully!",
"unjail.sender.success": "&aYou unjailed %prisoner%!",
Expand Down
1 change: 1 addition & 0 deletions resources/lang_ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"listener.player.set.success": "&aТюрьма успешно установлена!",
"listener.player.not.allowed.leave": "\n&2Вы не можете покидать тюрьму!",
"penalty.added.prisoner": "Вам было добавлено %time% минут в качестве наказания!",
"listener.player.not.allowed.enter": "&cYou don't have rights to visit this jail!",
"unjail.you.success": "&aВы высажены из тюрьмы!",
"unjail.sender.success": "&aВы высадили из тюрьмы %prisoner%!",
"jails.listing": "Список тюрьм: %jails%",
Expand Down
1 change: 1 addition & 0 deletions resources/lang_zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"listener.player.command.cancelled": "&c執行指令遭取消!",
"listener.player.set.success": "&a監獄設定成功!",
"listener.player.not.allowed.leave": "\n&2您不被允許離開監獄!",
"listener.player.not.allowed.enter": "&cYou don't have rights to visit this jail!",
"penalty.added.prisoner": "您已被添加 %time% 分鐘作為處罰!",
"unjail.you.success": "&a您成功出獄!",
"unjail.sender.success": "&a您成功使 %prisoner% 出獄!",
Expand Down
20 changes: 20 additions & 0 deletions src/hoyinm14mc/jail/listeners/PlayerListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,26 @@ public function onPlayerMove(PlayerMoveEvent $event)
$this->getPlugin()->getServer()->getLevelByName($j[$t[strtolower($event->getPlayer()->getName())]["jail"]]["pos"]["level"])));
$event->getPlayer()->sendPopup($this->getPlugin()->getMessage("listener.player.not.allowed.leave") . "\n\n\n\n");
}
if ($this->getPlugin()->getConfig()->get("allow-visit") !== true
&& $event->getPlayer()->hasPermission("jail.visit.bypass") !== true
&& $this->getPlugin()->isJailed(strtolower($event->getPlayer()->getName())) !== true) {
foreach (array_keys($j) as $jail) {
if ($this->getPlugin()->jailExists($jail)
&& $this->getPlugin()->insideJail($jail, $event->getPlayer()->getPosition()) !== false
&& ($event->getFrom()->x != $event->getPlayer()->x || $event->getFrom()->y != $event->getPlayer()->y || $event->getFrom()->z != $event->getPlayer()->z)
) {
$event->getPlayer()->teleport(
new Position(
$event->getFrom()->x,
$event->getFrom()->y,
$event->getFrom()->z,
$this->getPlugin()->getServer()->getLevelByName($j[$jail]["pos"]["level"])
)
);
$event->getPlayer()->sendMessage($this->getPlugin()->getMessage("listener.player.not.allowed.enter"));
}
}
}
if ($this->getPlugin()->isJailed(strtolower($event->getPlayer()->getName())) !== false && $this->getPlugin()->getConfig()->get("allow-movement") !== true) {
if ($event->getFrom()->x != $event->getPlayer()->x || $event->getFrom()->y != $event->getPlayer()->y || $event->getFrom()->z != $event->getPlayer()->z) {
$event->getPlayer()->sendMessage($this->getPlugin()->getMessage("listener.not.allowed.do.this"));
Expand Down

0 comments on commit 2dac13d

Please sign in to comment.