Skip to content

Commit 1950489

Browse files
authored
Merge pull request #7 from easybot-team/dev
2.1.2
2 parents 62e86fe + 0f274d1 commit 1950489

14 files changed

Lines changed: 137 additions & 28 deletions

build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group = 'com.springwater.easybot'
7-
version = '2.1.1'
7+
version = '2.1.2'
88

99
repositories {
1010
mavenCentral()
@@ -60,7 +60,7 @@ tasks.build.dependsOn(tasks.shadowJar)
6060

6161
dependencies {
6262
compileOnly "org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT"
63-
implementation 'com.springwater.easybot:easybot-bridge:1.4-SNAPSHOT'
63+
implementation 'com.springwater.easybot:easybot-bridge:1.5'
6464
implementation 'org.javassist:javassist:3.28.0-GA'
6565
implementation 'bot.inker.acj:runtime:1.5'
6666
implementation 'org.reflections:reflections:0.10.2'
@@ -75,6 +75,9 @@ dependencies {
7575

7676
implementation("net.kyori:adventure-text-serializer-plain:4.17.0")
7777
implementation("org.glavo:rcon-java:2.0.2")
78+
79+
compileOnly 'org.projectlombok:lombok:1.18.32'
80+
annotationProcessor 'org.projectlombok:lombok:1.18.32'
7881
}
7982

8083

libs/fakeplayer-0.3.19.jar

1.64 MB
Binary file not shown.

src/main/java/com/springwater/easybot/EasyBotImpl.java renamed to src/main/java/com/springwater/easybot/BridgeImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import java.util.logging.Logger;
1818
import java.util.stream.Collectors;
1919

20-
public class EasyBotImpl implements BridgeBehavior {
20+
public class BridgeImpl implements BridgeBehavior {
2121
private final Logger logger = Logger.getLogger("EasyBotImpl");
2222

2323
@Override
@@ -187,6 +187,7 @@ public void SyncToChatExtra(List<Segment> segments, String text) {
187187
@Override
188188
public List<PlayerInfo> getPlayerList() {
189189
return Bukkit.getOnlinePlayers().stream()
190+
.filter(FakePlayerUtils::isNotFake)
190191
.map(x -> {
191192
PlayerInfo info = new PlayerInfo();
192193
info.setPlayerName(GeyserUtils.getNameByPlayer(x));

src/main/java/com/springwater/easybot/Easybot.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.springwater.easybot.papi.OfflineStatisticExpansion;
1313
import com.springwater.easybot.task.TaskManager;
1414
import com.springwater.easybot.utils.BukkitUtils;
15+
import com.springwater.easybot.utils.FakePlayerUtils;
1516
import com.springwater.easybot.utils.ItemsAdderUtils;
1617
import org.bukkit.Bukkit;
1718
import org.bukkit.event.EventHandler;
@@ -57,7 +58,7 @@ public void onEnable() {
5758
ClientProfile.setDebugMode(getConfig().getBoolean("debug", false));
5859

5960
instance = this;
60-
bridgeBehavior = new EasyBotImpl();
61+
bridgeBehavior = new BridgeImpl();
6162

6263
initHooks();
6364

@@ -82,11 +83,11 @@ public void onEnable() {
8283

8384

8485
private void handleSkinsRestorerCompatibility() {
85-
if(BukkitUtils.hasSkinsRestorer() && !BukkitUtils.placeholderApiInstalled()){
86+
if (BukkitUtils.hasSkinsRestorer() && !BukkitUtils.placeholderApiInstalled()) {
8687
getLogger().info("\u001B[31m※ 检测到SkinsRestorer插件,但未检测到PlaceholderApi插件,EasyBot获取SkinsRestorer的皮肤需要依赖PlaceholderApi!\u001B[0m");
8788
}
8889

89-
if (BukkitUtils.hasSkinsRestorer() && BukkitUtils.placeholderApiInstalled()) {
90+
if (BukkitUtils.hasSkinsRestorer() && BukkitUtils.placeholderApiInstalled()) {
9091
getLogger().info("\u001B[32m※ 检测到SkinsRestorer插件,玩家皮肤将通过该插件获取!\u001B[0m");
9192
ClientProfile.setHasSkinsRestorer(true);
9293
} else if (BukkitUtils.hasPaperSkinApi()) {
@@ -98,7 +99,7 @@ private void handleSkinsRestorerCompatibility() {
9899
}
99100

100101
private void handleItemsAdderCompatibility() {
101-
if(ItemsAdderUtils.isItemsAdderInstalled()){
102+
if (ItemsAdderUtils.isItemsAdderInstalled()) {
102103
getLogger().info("\u001B[32m※ 检测到ItemsAdder插件!\u001B[0m");
103104
ClientProfile.setHasItemsAdder(true);
104105
Bukkit.getPluginManager().registerEvents(new ItemsAdderEvents(), this);
@@ -238,6 +239,12 @@ private void initHooks() {
238239
getLogger().info("\u001B[32m※ 已注册离线变量,专用文档: \u001B[33mhttps://docs.hualib.com/offline-papi.html\u001B[0m");
239240
}
240241

242+
getLogger().info("\u001B[32m[>]\u001B[0m 假人插件");
243+
if (FakePlayerUtils.isInstalled()) {
244+
getLogger().info(" \u001B[32m[OK]\u001B[0m 已开启假人过滤");
245+
} else {
246+
getLogger().info(" \u001B[32m[OK]\u001B[0m 已关闭假人过滤");
247+
}
241248
}
242249

243250
private void uninstallPlaceholderApi() {

src/main/java/com/springwater/easybot/event/BukkitSideMessageSyncEvents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.springwater.easybot.Easybot;
44
import com.springwater.easybot.bridge.packet.PlayerInfoWithRaw;
55
import com.springwater.easybot.utils.BridgeUtils;
6+
import com.springwater.easybot.utils.FakePlayerUtils;
67
import org.bukkit.event.EventHandler;
78
import org.bukkit.event.EventPriority;
89
import org.bukkit.event.Listener;
@@ -12,6 +13,7 @@ public class BukkitSideMessageSyncEvents implements Listener {
1213
@EventHandler(priority = EventPriority.LOWEST)
1314
public static void syncMessage(AsyncPlayerChatEvent event){
1415
if(Easybot.instance.getConfig().getBoolean("skip_options.skip_chat")) return;
16+
if(FakePlayerUtils.isFake(event.getPlayer())) return;
1517
if(!event.isCancelled()){
1618
PlayerInfoWithRaw playerInfo = BridgeUtils.buildPlayerInfoFull(event.getPlayer());
1719
new Thread(() -> Easybot.getClient().syncMessage(playerInfo, event.getMessage(), false), "EasyBotThread-SyncMessage(BukkitSide)").start();

src/main/java/com/springwater/easybot/event/PaperSideMessageSyncEvents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.springwater.easybot.Easybot;
44
import com.springwater.easybot.bridge.packet.PlayerInfoWithRaw;
55
import com.springwater.easybot.utils.BridgeUtils;
6+
import com.springwater.easybot.utils.FakePlayerUtils;
67
import io.papermc.paper.event.player.AsyncChatEvent;
78
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
89
import org.bukkit.event.EventHandler;
@@ -13,6 +14,7 @@ public class PaperSideMessageSyncEvents implements Listener {
1314
@EventHandler(priority = EventPriority.LOWEST)
1415
public static void syncMessage(AsyncChatEvent event){
1516
if(Easybot.instance.getConfig().getBoolean("skip_options.skip_chat")) return;
17+
if(FakePlayerUtils.isFake(event.getPlayer())) return;
1618
if(!event.isCancelled()){
1719
PlayerInfoWithRaw playerInfo = BridgeUtils.buildPlayerInfoFull(event.getPlayer());
1820
String message = PlainTextComponentSerializer.plainText().serialize(event.message());

src/main/java/com/springwater/easybot/event/PlayerChatMessageSyncEvents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.springwater.easybot.Easybot;
55
import com.springwater.easybot.bridge.packet.PlayerInfoWithRaw;
66
import com.springwater.easybot.utils.BridgeUtils;
7+
import com.springwater.easybot.utils.FakePlayerUtils;
78
import org.bukkit.event.EventHandler;
89
import org.bukkit.event.EventPriority;
910
import org.bukkit.event.Listener;
@@ -12,6 +13,7 @@ public class PlayerChatMessageSyncEvents implements Listener {
1213
@EventHandler(priority = EventPriority.HIGHEST)
1314
public static void syncMessage(PlayerChannelChatEvent event){
1415
if(Easybot.instance.getConfig().getBoolean("skip_options.skip_chat")) return;
16+
if(FakePlayerUtils.isFake(event.getPlayer())) return;
1517
if(!event.isCancelled()){
1618
PlayerInfoWithRaw playerInfo = BridgeUtils.buildPlayerInfoFull(event.getPlayer());
1719
new Thread(() -> Easybot.getClient().syncMessage(playerInfo, event.getOriginalMessage(), false), "EasyBotThread-SyncMessage(PlayerChat)").start();

src/main/java/com/springwater/easybot/event/PlayerDeathSyncEvents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.springwater.easybot.Easybot;
44
import com.springwater.easybot.bridge.packet.PlayerInfoWithRaw;
55
import com.springwater.easybot.utils.BridgeUtils;
6+
import com.springwater.easybot.utils.FakePlayerUtils;
67
import org.bukkit.block.Block;
78
import org.bukkit.entity.Arrow;
89
import org.bukkit.entity.Entity;
@@ -39,6 +40,7 @@ public String getKiller(Player player) {
3940
@EventHandler(priority = EventPriority.LOWEST)
4041
public void onPlayerDeath(PlayerDeathEvent event) {
4142
if(Easybot.instance.getConfig().getBoolean("skip_options.skip_death")) return;
43+
if(FakePlayerUtils.isFake(event.getPlayer())) return;
4244
PlayerInfoWithRaw playerInfo = BridgeUtils.buildPlayerInfoFull(event.getEntity());
4345
String deathMessage = event.getDeathMessage();
4446
if(deathMessage == null){

src/main/java/com/springwater/easybot/event/PlayerEvents.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
package com.springwater.easybot.event;
22

3-
import com.google.errorprone.annotations.Var;
43
import com.springwater.easybot.Easybot;
54
import com.springwater.easybot.bridge.packet.PlayerLoginResultPacket;
6-
import com.springwater.easybot.utils.BridgeUtils;
5+
import com.springwater.easybot.utils.FakePlayerUtils;
76
import com.springwater.easybot.utils.GeyserUtils;
8-
import org.bukkit.entity.Player;
97
import org.bukkit.event.EventHandler;
108
import org.bukkit.event.Listener;
119
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
12-
import org.bukkit.event.player.PlayerJoinEvent;
13-
import org.bukkit.event.player.PlayerLoginEvent;
1410

1511
public class PlayerEvents implements Listener {
1612
@EventHandler
1713
public void onPlayerLogin(AsyncPlayerPreLoginEvent event) {
1814
try {
15+
if(FakePlayerUtils.isFake(event.getName())) return;
1916
String ip = event.getAddress().getHostAddress();
2017
String name = GeyserUtils.getName(event.getUniqueId());
2118
if (name == null) name = event.getPlayerProfile().getName();

src/main/java/com/springwater/easybot/event/PlayerJoinExitEvents.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.springwater.easybot.Easybot;
44
import com.springwater.easybot.bridge.packet.PlayerInfoWithRaw;
55
import com.springwater.easybot.utils.BridgeUtils;
6+
import com.springwater.easybot.utils.FakePlayerUtils;
67
import org.bukkit.event.EventHandler;
78
import org.bukkit.event.EventPriority;
89
import org.bukkit.event.Listener;
@@ -13,13 +14,15 @@ public class PlayerJoinExitEvents implements Listener {
1314
@EventHandler(priority = EventPriority.LOWEST)
1415
public void onPlayerJoin(PlayerJoinEvent event) {
1516
if(Easybot.instance.getConfig().getBoolean("skip_options.skip_join")) return;
17+
if(FakePlayerUtils.isFake(event.getPlayer())) return;
1618
PlayerInfoWithRaw playerInfo = BridgeUtils.buildPlayerInfoFull(event.getPlayer());
1719
new Thread(() -> Easybot.getClient().syncEnterExit(playerInfo, true), "EasyBotThread-SyncPlayerJoinMessage").start();
1820
}
1921

2022
@EventHandler(priority = EventPriority.LOWEST)
2123
public void onPlayerQuit(PlayerQuitEvent event) {
2224
if(Easybot.instance.getConfig().getBoolean("skip_options.skip_quit")) return;
25+
if(FakePlayerUtils.isFake(event.getPlayer())) return;
2326
PlayerInfoWithRaw playerInfo = BridgeUtils.buildPlayerInfoFull(event.getPlayer());
2427
new Thread(() -> Easybot.getClient().syncEnterExit(playerInfo, false), "EasyBotThread-SyncPlayerExitMessage").start();
2528
}

0 commit comments

Comments
 (0)