Fix chatting while afk not working

This commit is contained in:
William Blake Galbreath
2020-03-20 01:43:03 -05:00
parent a9902c9571
commit 3b5e10df8b
2 changed files with 23 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
From a97b62ca22425cb2e180fe13b2e537905b240822 Mon Sep 17 00:00:00 2001
From e9286b665d474b7569018a78f391cbea9f900994 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 10 Aug 2019 22:19:56 -0500
Subject: [PATCH] Implement AFK API
@@ -6,12 +6,13 @@ Subject: [PATCH] Implement AFK API
---
.../net/pl3x/purpur/event/PlayerAFKEvent.java | 70 +++++++++++++++++++
src/main/java/org/bukkit/entity/Player.java | 21 ++++++
2 files changed, 91 insertions(+)
.../org/bukkit/event/player/PlayerEvent.java | 2 +-
3 files changed, 92 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/net/pl3x/purpur/event/PlayerAFKEvent.java
diff --git a/src/main/java/net/pl3x/purpur/event/PlayerAFKEvent.java b/src/main/java/net/pl3x/purpur/event/PlayerAFKEvent.java
new file mode 100644
index 000000000..4db334854
index 000000000..0c8b3e5e4
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/event/PlayerAFKEvent.java
@@ -0,0 +1,70 @@
@@ -31,8 +32,8 @@ index 000000000..4db334854
+ private String broadcast;
+ private boolean cancel;
+
+ public PlayerAFKEvent(@NotNull Player player, boolean setAfk, boolean shouldKick, @Nullable String broadcast) {
+ super(player);
+ public PlayerAFKEvent(@NotNull Player player, boolean setAfk, boolean shouldKick, @Nullable String broadcast, boolean async) {
+ super(player, async);
+ this.setAfk = setAfk;
+ this.shouldKick = shouldKick;
+ this.broadcast = broadcast;
@@ -115,6 +116,19 @@ index 5367975ac..c7cba5046 100644
+ void resetIdleTimer();
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerEvent.java b/src/main/java/org/bukkit/event/player/PlayerEvent.java
index 793b661b6..ad79d0db6 100644
--- a/src/main/java/org/bukkit/event/player/PlayerEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerEvent.java
@@ -14,7 +14,7 @@ public abstract class PlayerEvent extends Event {
player = who;
}
- PlayerEvent(@NotNull final Player who, boolean async) {
+ public PlayerEvent(@NotNull final Player who, boolean async) { // Purpur - package-private -> public
super(async);
player = who;
--
2.24.0

View File

@@ -1,4 +1,4 @@
From e1dc0a3743aee405fe8149535575f49817094c97 Mon Sep 17 00:00:00 2001
From 42956f3059fbaa0060410ada3bb5ba324071af8c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 8 Aug 2019 15:29:15 -0500
Subject: [PATCH] Implement AFK API
@@ -36,7 +36,7 @@ index de22cad764..9d26bd1e4c 100644
super(EntityTypes.PLAYER, world);
this.bV = ItemStack.a;
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index b396e0464b..d5e75828ca 100644
index 561588ddaa..31d34e51e9 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1653,8 +1653,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -55,7 +55,7 @@ index b396e0464b..d5e75828ca 100644
+ return;
+ }
+
+ net.pl3x.purpur.event.PlayerAFKEvent event = new net.pl3x.purpur.event.PlayerAFKEvent(getBukkitEntity(), setAfk, world.purpurConfig.idleTimeoutKick, setAfk ? world.purpurConfig.idleTimeoutBroadcastAway : world.purpurConfig.idleTimeoutBroadcastBack);
+ net.pl3x.purpur.event.PlayerAFKEvent event = new net.pl3x.purpur.event.PlayerAFKEvent(getBukkitEntity(), setAfk, world.purpurConfig.idleTimeoutKick, setAfk ? world.purpurConfig.idleTimeoutBroadcastAway : world.purpurConfig.idleTimeoutBroadcastBack, !Bukkit.isPrimaryThread());
+ if (!event.callEvent() || event.shouldKick()) {
+ return;
+ }
@@ -214,7 +214,7 @@ index 3e5dc93dff..ff38e6c69c 100644
} else if (entityplayer.isSleeping()) {
++j;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2bbbf30c0d..95f1dcf0d7 100644
index 84a89d7875..555039f531 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -147,6 +147,21 @@ public class PurpurWorldConfig {