import org.bukkit.entity.Player; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.LOWEST)
public void onJoin(PlayerJoinEvent event)
{
final Player player = event.getPlayer();
if (forceUrl != null)
{
currentlyDownloading.add(player.getUniqueId());
sendPack(player, forceUrl);
//Kick if still downloading after 1 minute
Bukkit.getScheduler().runTaskLater(SamaGamesAPI.get().getPlugin(),
() -> {
if(currentlyDownloading.contains(player.getUniqueId()) && player.isOnline())
{
if (callback == null || callback.automaticKick(player))
{
player.kickPlayer(rejectMessage);
}
currentlyDownloading.remove(player.getUniqueId());
APIPlugin.getInstance().getLogger().info("Player " + player.getName() + " timed out resource pack");
}
}, 1200L);//20*60
} else
{
Jedis jedis = api.getBungeeResource();
Long l = jedis.srem("playersWithPack", player.getUniqueId().toString());
jedis.close();
if (l > 0)
{
//Better to check than force resourcepack
player.setResourcePack(resetUrl);
APIPlugin.getInstance().getLogger().info("Sending pack to " + player.getName() + " : " + resetUrl);
}
}
}