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> From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 10 Aug 2019 22:19:56 -0500 Date: Sat, 10 Aug 2019 22:19:56 -0500
Subject: [PATCH] Implement AFK API Subject: [PATCH] Implement AFK API
@@ -6,12 +6,13 @@ Subject: [PATCH] Implement AFK API
--- ---
.../net/pl3x/purpur/event/PlayerAFKEvent.java | 70 +++++++++++++++++++ .../net/pl3x/purpur/event/PlayerAFKEvent.java | 70 +++++++++++++++++++
src/main/java/org/bukkit/entity/Player.java | 21 ++++++ 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 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 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 new file mode 100644
index 000000000..4db334854 index 000000000..0c8b3e5e4
--- /dev/null --- /dev/null
+++ b/src/main/java/net/pl3x/purpur/event/PlayerAFKEvent.java +++ b/src/main/java/net/pl3x/purpur/event/PlayerAFKEvent.java
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
@@ -31,8 +32,8 @@ index 000000000..4db334854
+ private String broadcast; + private String broadcast;
+ private boolean cancel; + private boolean cancel;
+ +
+ public PlayerAFKEvent(@NotNull Player player, boolean setAfk, boolean shouldKick, @Nullable String broadcast) { + public PlayerAFKEvent(@NotNull Player player, boolean setAfk, boolean shouldKick, @Nullable String broadcast, boolean async) {
+ super(player); + super(player, async);
+ this.setAfk = setAfk; + this.setAfk = setAfk;
+ this.shouldKick = shouldKick; + this.shouldKick = shouldKick;
+ this.broadcast = broadcast; + this.broadcast = broadcast;
@@ -115,6 +116,19 @@ index 5367975ac..c7cba5046 100644
+ void resetIdleTimer(); + void resetIdleTimer();
+ // Purpur end + // 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 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> From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 8 Aug 2019 15:29:15 -0500 Date: Thu, 8 Aug 2019 15:29:15 -0500
Subject: [PATCH] Implement AFK API Subject: [PATCH] Implement AFK API
@@ -36,7 +36,7 @@ index de22cad764..9d26bd1e4c 100644
super(EntityTypes.PLAYER, world); super(EntityTypes.PLAYER, world);
this.bV = ItemStack.a; this.bV = ItemStack.a;
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java 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 --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/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 { @@ -1653,8 +1653,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -55,7 +55,7 @@ index b396e0464b..d5e75828ca 100644
+ return; + 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()) { + if (!event.callEvent() || event.shouldKick()) {
+ return; + return;
+ } + }
@@ -214,7 +214,7 @@ index 3e5dc93dff..ff38e6c69c 100644
} else if (entityplayer.isSleeping()) { } else if (entityplayer.isSleeping()) {
++j; ++j;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java 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 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -147,6 +147,21 @@ public class PurpurWorldConfig { @@ -147,6 +147,21 @@ public class PurpurWorldConfig {