Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-16 03:20:07 +01:00
a73ed9572e
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 CraftBukkit Changes: b76ceb4f5 PR-1235: Move EntityType return to base Entity class e795d7490 SPIGOT-7458: Exception when Entity CommandSender executes Vanilla command 46c7fc3b1 SPIGOT-7452: Player#openSign cannot edit d91e5aa0b SPIGOT-7447: Rewrite --forceUpgrade to minimise diff and properly handle CraftBukkit world layout 921ae06d6 Revert "SPIGOT-7447: Fix --forceUpgrade" Spigot Changes: 94e187b5 Rebuild patches 3bce7935 SPIGOT-7091: Update bungeecord-chat
40 Zeilen
2.6 KiB
Diff
40 Zeilen
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..97b763431bc5015448ee7a26a340635a932c950b 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);
|