PaperMC/patches/server/0771-Add-Player-Warden-Warning-API.patch
2024-06-14 14:07:44 -07:00

57 lines
2.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: dawon <dawon@dawon.eu>
Date: Sat, 15 Oct 2022 00:46:57 +0200
Subject: [PATCH] Add Player Warden Warning API
== AT ==
public net.minecraft.server.level.ServerPlayer wardenSpawnTracker
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker ticksSinceLastWarning
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTicks
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index daa4aad117a6cf5f1e4e6da245e5c346122ac324..90ce5c386d46f10e14df67953938168c29d24c6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3302,6 +3302,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void showElderGuardian(boolean silent) {
if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F));
}
+
+ @Override
+ public int getWardenWarningCooldown() {
+ return this.getHandle().wardenSpawnTracker.cooldownTicks;
+ }
+
+ @Override
+ public void setWardenWarningCooldown(int cooldown) {
+ this.getHandle().wardenSpawnTracker.cooldownTicks = Math.max(cooldown, 0);
+ }
+
+ @Override
+ public int getWardenTimeSinceLastWarning() {
+ return this.getHandle().wardenSpawnTracker.ticksSinceLastWarning;
+ }
+
+ @Override
+ public void setWardenTimeSinceLastWarning(int time) {
+ this.getHandle().wardenSpawnTracker.ticksSinceLastWarning = time;
+ }
+
+ @Override
+ public int getWardenWarningLevel() {
+ return this.getHandle().wardenSpawnTracker.getWarningLevel();
+ }
+
+ @Override
+ public void setWardenWarningLevel(int warningLevel) {
+ this.getHandle().wardenSpawnTracker.setWarningLevel(warningLevel);
+ }
+
+ @Override
+ public void increaseWardenWarningLevel() {
+ this.getHandle().wardenSpawnTracker.increaseWarningLevel();
+ }
// Paper end
public Player.Spigot spigot()