mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
4af62f6d1d
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 2d009e64 Update SnakeYAML javadoc link b4fd213c Switch Player#updateInventory deprecation for internal API annotation CraftBukkit Changes: f3b2b2210 SPIGOT-7376: Exception with getBlockData when hasBlockData is false 725545630 SPIGOT-7375: Fix crash breeding certain entities b9873b0d4 Update Brigadier version with fix 68b320562 SPIGOT-7266: Found typo in CraftBukkit package 98b4d2ff8 SPIGOT-7372, SPIGOT-7373: Signs can't be edited, issues with SignChangeEvent 5f7bd4d78 SPIGOT-7371: Sign does not open edit text on placement b4cf99d24 SPIGOT-7371: Fix editing signs with API a2b6c2744 PR-1200: Implement open sign by side a345bb940 SPIGOT-7368: Downgrade SpecialSource version Spigot Changes: 723951c3 Rebuild patches b655c57d Drop old collision API deprecated since 1.9.4 55b0fed4 Rebuild patches
39 lines
2.6 KiB
Diff
39 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: nopjar <code.nopjar@gmail.com>
|
|
Date: Sun, 12 Jun 2022 02:26:04 +0200
|
|
Subject: [PATCH] Add WardenAngerChangeEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java b/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java
|
|
index 02abc5f387d781094bd2f39233444add3a470be1..ece82743df21f0b776382821ad75dee96d0a0748 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java
|
|
@@ -146,7 +146,7 @@ public class AngerManagement {
|
|
public int increaseAnger(Entity entity, int amount) {
|
|
boolean bl = !this.angerBySuspect.containsKey(entity);
|
|
int i = this.angerBySuspect.computeInt(entity, (suspect, anger) -> {
|
|
- return Math.min(150, (anger == null ? 0 : anger) + amount);
|
|
+ return Math.min(150, (anger == null ? 0 : anger) + amount); // Paper - diff on change
|
|
});
|
|
if (bl) {
|
|
int j = this.angerByUuid.removeInt(entity.getUUID());
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
|
|
index 64d3467322e6db1fc223ded9d4d1b26bc628b4e1..0b274c3937daf274c78d8d5854f740bbcadfb385 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
|
|
@@ -486,6 +486,15 @@ public class Warden extends Monster implements VibrationSystem {
|
|
@VisibleForTesting
|
|
public void increaseAngerAt(@Nullable Entity entity, int amount, boolean listening) {
|
|
if (!this.isNoAi() && this.canTargetEntity(entity)) {
|
|
+ // Paper start
|
|
+ int activeAnger = this.angerManagement.getActiveAnger(entity);
|
|
+ io.papermc.paper.event.entity.WardenAngerChangeEvent event = new io.papermc.paper.event.entity.WardenAngerChangeEvent((org.bukkit.entity.Warden) this.getBukkitEntity(), entity.getBukkitEntity(), activeAnger, Math.min(150, activeAnger + amount));
|
|
+ this.level.getCraftServer().getPluginManager().callEvent(event);
|
|
+ if (event.isCancelled()) {
|
|
+ return;
|
|
+ }
|
|
+ amount = event.getNewAnger() - activeAnger;
|
|
+ // Paper end
|
|
WardenAi.setDigCooldown(this);
|
|
boolean flag1 = !(this.getBrain().getMemory(MemoryModuleType.ATTACK_TARGET).orElse(null) instanceof Player); // CraftBukkit - decompile error
|
|
int j = this.angerManagement.increaseAnger(entity, amount);
|