mirror of
https://github.com/tanyaofei/minecraft-fakeplayer.git
synced 2025-09-14 19:26:51 +08:00
修复判断玩家在线
This commit is contained in:
parent
f4418f8b67
commit
03c45c6b88
@ -77,7 +77,7 @@ public class FakeplayerManager {
|
|||||||
timer.schedule(new TimerTask() {
|
timer.schedule(new TimerTask() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (!properties.isFollowQuiting() || !properties.isBungeecord()) {
|
if (!properties.isFollowQuiting()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,11 +90,15 @@ public class FakeplayerManager {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var fakePlayer : entry.getValue()) {
|
new BukkitRunnable() {
|
||||||
remove(fakePlayer.getName());
|
@Override
|
||||||
}
|
public void run() {
|
||||||
|
for (var fakePlayer : entry.getValue()) {
|
||||||
log.info(String.format("玩家 %s 已不在线, 已移除 %d 个假人", entry.getKey(), entry.getValue().size()));
|
remove(fakePlayer.getName());
|
||||||
|
}
|
||||||
|
log.info(String.format("玩家 %s 已不在线, 已移除 %d 个假人", entry.getKey(), entry.getValue().size()));
|
||||||
|
}
|
||||||
|
}.runTask(Main.getInstance());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -202,7 +206,7 @@ public class FakeplayerManager {
|
|||||||
*/
|
*/
|
||||||
public @Nullable Player get(@NotNull String name) {
|
public @Nullable Player get(@NotNull String name) {
|
||||||
return Optional
|
return Optional
|
||||||
.ofNullable(Bukkit.getServer().getPlayer(name))
|
.ofNullable(Bukkit.getServer().getPlayerExact(name))
|
||||||
.filter(this::isFake)
|
.filter(this::isFake)
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ public class BungeeCordServer implements PluginMessageListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPlayerOnline(@NotNull String name) {
|
public boolean isPlayerOnline(@NotNull String name) {
|
||||||
return onlinePlayers.contains(name) || Bukkit.getServer().getPlayer(name) != null;
|
return onlinePlayers.contains(name) || (Bukkit.getServer().getPlayerExact(name) != null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -47,11 +47,6 @@ public class FakeplayerProperties extends AbstractProperties<FakeplayerPropertie
|
|||||||
*/
|
*/
|
||||||
private boolean followQuiting;
|
private boolean followQuiting;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否允许玩家切换 bungeeCord 服务器时不跟随下线
|
|
||||||
*/
|
|
||||||
private boolean bungeecord;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否探测 IP
|
* 是否探测 IP
|
||||||
*/
|
*/
|
||||||
@ -102,7 +97,6 @@ public class FakeplayerProperties extends AbstractProperties<FakeplayerPropertie
|
|||||||
this.destroyCommands = file.getStringList("destroy-commands");
|
this.destroyCommands = file.getStringList("destroy-commands");
|
||||||
this.nameTemplate = file.getString("name-template", "");
|
this.nameTemplate = file.getString("name-template", "");
|
||||||
this.simulateLogin = file.getBoolean("simulate-login", false);
|
this.simulateLogin = file.getBoolean("simulate-login", false);
|
||||||
this.bungeecord = file.getBoolean("bungeecord", true);
|
|
||||||
|
|
||||||
if (this.nameTemplate.startsWith("-")) {
|
if (this.nameTemplate.startsWith("-")) {
|
||||||
log.warning("假人名称模版不能以 - 开头, 该配置不会生效: " + this.nameTemplate);
|
log.warning("假人名称模版不能以 - 开头, 该配置不会生效: " + this.nameTemplate);
|
||||||
|
@ -24,11 +24,6 @@ name-template: ''
|
|||||||
# 如果玩家只是切换服务器, 那么不会触发跟随下线
|
# 如果玩家只是切换服务器, 那么不会触发跟随下线
|
||||||
follow-quiting: true
|
follow-quiting: true
|
||||||
|
|
||||||
# 是否开启 bungeeCord 跟随下线
|
|
||||||
# 如果开启则玩家在切换服务器时不会因为在当前服务器下线而导致跟随下线
|
|
||||||
# 此配置仅在 `follow-quiting` 为 `true` 时生效
|
|
||||||
bungeecord: true
|
|
||||||
|
|
||||||
# 是否检测 IP
|
# 是否检测 IP
|
||||||
# 如果启用, 则一个 IP 只能创建 `maximum` 个假人
|
# 如果启用, 则一个 IP 只能创建 `maximum` 个假人
|
||||||
# 能够避免玩家开小号疯狂创建假人
|
# 能够避免玩家开小号疯狂创建假人
|
||||||
|
Loading…
Reference in New Issue
Block a user