RedisBungee/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/api/tasks/ShutdownUtils.java

40 lines
1.4 KiB
Java
Raw Normal View History

2022-10-29 20:02:09 +00:00
/*
* Copyright (c) 2013-present RedisBungee contributors
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
*
* http://www.eclipse.org/legal/epl-v10.html
*/
2022-07-26 06:58:00 +00:00
package com.imaginarycode.minecraft.redisbungee.api.tasks;
2022-07-26 08:49:44 +00:00
import com.imaginarycode.minecraft.redisbungee.api.util.player.PlayerUtils;
2022-07-26 06:58:00 +00:00
import com.imaginarycode.minecraft.redisbungee.api.RedisBungeePlugin;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.UnifiedJedis;
2022-07-26 06:58:00 +00:00
import java.util.Set;
public class ShutdownUtils {
public static void shutdownCleanup(RedisBungeePlugin<?> plugin) {
new RedisTask<Void>(plugin) {
@Override
public Void unifiedJedisTask(UnifiedJedis unifiedJedis) {
unifiedJedis.hdel("heartbeats", plugin.getConfiguration().getProxyId());
if (unifiedJedis.scard("proxy:" + plugin.getConfiguration().getProxyId() + ":usersOnline") > 0) {
Set<String> players = unifiedJedis.smembers("proxy:" + plugin.getConfiguration().getProxyId() + ":usersOnline");
2022-07-26 06:58:00 +00:00
for (String member : players)
PlayerUtils.cleanUpPlayer(member, unifiedJedis, true);
2022-07-26 06:58:00 +00:00
}
return null;
}
}.execute();
}
}