2015-12-14 13:08:14 +00:00
|
|
|
package cn.citycraft.ResExtras.flags;
|
|
|
|
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
|
2015-12-15 03:18:11 +00:00
|
|
|
import com.bekvon.bukkit.residence.event.ResidenceChangedEvent;
|
2015-12-14 13:08:14 +00:00
|
|
|
import com.bekvon.bukkit.residence.event.ResidenceFlagChangeEvent;
|
|
|
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
|
|
|
import com.bekvon.bukkit.residence.protection.FlagPermissions.FlagState;
|
|
|
|
|
2015-12-15 03:18:11 +00:00
|
|
|
public class Time implements Listener {
|
|
|
|
@EventHandler
|
|
|
|
public void onResidenceChange(final ResidenceChangedEvent e) {
|
|
|
|
final Player player = e.getPlayer();
|
|
|
|
final ClaimedResidence oldRes = e.getFrom();
|
|
|
|
final ClaimedResidence newRes = e.getTo();
|
|
|
|
if (oldRes != null) {
|
|
|
|
if (oldRes.getPermissions().has("night", false) || oldRes.getPermissions().has("day", false)) {
|
|
|
|
player.resetPlayerTime();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (newRes != null) {
|
|
|
|
if (newRes.getPermissions().has("day", false)) {
|
|
|
|
player.setPlayerTime(6000, false);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (newRes.getPermissions().has("night", false)) {
|
|
|
|
player.setPlayerTime(14000, false);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2015-12-14 13:08:14 +00:00
|
|
|
|
2015-12-15 03:18:11 +00:00
|
|
|
@EventHandler
|
2015-12-14 13:08:14 +00:00
|
|
|
public void onResidenceFlag(final ResidenceFlagChangeEvent event) {
|
|
|
|
final ClaimedResidence res = event.getResidence();
|
|
|
|
if (event.getFlag().equalsIgnoreCase("day")) {
|
|
|
|
if (event.getNewState() == FlagState.TRUE) {
|
|
|
|
for (final Player player : res.getPlayersInResidence()) {
|
|
|
|
player.setPlayerTime(6000, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (event.getNewState() == FlagState.FALSE) {
|
|
|
|
for (final Player player : res.getPlayersInResidence()) {
|
|
|
|
player.resetPlayerTime();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (event.getNewState() == FlagState.NEITHER) {
|
|
|
|
for (final Player player : res.getPlayersInResidence()) {
|
|
|
|
player.resetPlayerTime();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (event.getFlag().equalsIgnoreCase("night")) {
|
|
|
|
if (event.getNewState() == FlagState.TRUE) {
|
|
|
|
for (final Player player : res.getPlayersInResidence()) {
|
|
|
|
player.setPlayerTime(14000, false);
|
|
|
|
}
|
|
|
|
}
|
2015-12-15 03:18:11 +00:00
|
|
|
if (event.getNewState() == FlagState.FALSE || event.getNewState() == FlagState.NEITHER) {
|
2015-12-14 13:08:14 +00:00
|
|
|
for (final Player player : res.getPlayersInResidence()) {
|
|
|
|
player.resetPlayerTime();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|