Paper/patches/server/0756-Add-Player-Warden-Warning-API.patch

58 lines
2.3 KiB
Diff
Raw Permalink Normal View History

2022-11-20 19:53:58 +01:00
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 ==
2022-12-08 00:49:41 +01:00
public net.minecraft.server.level.ServerPlayer wardenSpawnTracker
2022-11-20 19:53:58 +01:00
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 1fb27bf5da9bb281d1ff6e863912dfac2588611f..95f0e7e1248ded53ec5de684ec0cfb6343598f51 100644
2022-11-20 19:53:58 +01:00
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3313,6 +3313,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
2022-11-20 19:53:58 +01:00
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()