A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
1
package de.typable.minecrafthub.constant;3
public class DefaultConstants4
{5
public static final long TICK = 20;6
}
1
package de.typable.minecrafthub.event;3
import java.util.Collection;5
import org.bukkit.Bukkit;6
import org.bukkit.entity.Player;7
import org.bukkit.event.EventHandler;8
import org.bukkit.event.Listener;9
import org.bukkit.event.player.PlayerJoinEvent;10
import org.bukkit.event.player.PlayerQuitEvent;11
import org.bukkit.plugin.Plugin;12
import org.bukkit.scheduler.BukkitTask;14
import de.typable.minecrafthub.constant.DefaultConstants;17
public class StandbyListener implements Listener, Runnable18
{19
private Plugin plugin;20
private BukkitTask task;21
private boolean enabled;22
private long delay;24
public StandbyListener(Plugin plugin)25
{26
this.plugin = plugin;27
this.delay = 10 * 60;28
}30
@EventHandler31
private void onPlayerJoin(PlayerJoinEvent event)32
{33
if(enabled && task != null)34
{35
task.cancel();36
task = null;37
}38
}40
@EventHandler41
private void onPlayerQuit(PlayerQuitEvent event)42
{43
if(enabled)44
{45
Collection<? extends Player> online = Bukkit.getOnlinePlayers();47
if(online.size() == 1 && online.contains(event.getPlayer()))48
{49
task = Bukkit.getScheduler().runTaskLater(plugin, this, delay * DefaultConstants.TICK);50
}51
}52
}54
@Override55
public void run()56
{57
Bukkit.getServer().shutdown();58
}60
public boolean isEnabled()61
{62
return enabled;63
}65
public void setEnabled(boolean enabled)66
{67
this.enabled = enabled;68
}70
public long getDelay()71
{72
return delay;73
}75
public void setDelay(long delay)76
{77
this.delay = delay;78
}79
}