1358d1e914
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: 881e06e5 PR-725: Add Item Unlimited Lifetime APIs CraftBukkit Changes: 74c08312 SPIGOT-6962: Call EntityChangeBlockEvent when when FallingBlockEntity starts to fall 64db5126 SPIGOT-6959: Make /loot command ignore empty items for spawn 2d760831 Increase outdated build delay 9ed7e4fb SPIGOT-6138, SPIGOT-6415: Don't call CreatureSpawnEvent after cross-dimensional travel fc4ad813 SPIGOT-6895: Trees grown with applyBoneMeal() don't fire the StructureGrowthEvent 59733a2e SPIGOT-6961: Actually return a copy of the ItemMeta Spigot Changes: ffceeae3 SPIGOT-6956: Drop unload queue patch as attempt at fixing stop issue e19ddabd PR-1011: Add Item Unlimited Lifetime APIs 34d40b0e SPIGOT-2942: give command fires PlayerDropItemEvent, cancelling it causes Item Duplication
42 Zeilen
2.6 KiB
Diff
42 Zeilen
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Sun, 3 Jan 2021 21:25:31 -0800
|
|
Subject: [PATCH] Make EntityUnleashEvent cancellable
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
|
index ca9d4c5741c76457fbb7d238a9df1ad5268bbb6b..829f5a82467e7106efddf9e367cd402bc0b36c5f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
|
@@ -1469,7 +1469,7 @@ public abstract class Mob extends LivingEntity {
|
|
if (flag1 && this.isLeashed()) {
|
|
// Paper start - drop leash variable
|
|
EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN, true);
|
|
- this.level.getCraftServer().getPluginManager().callEvent(event); // CraftBukkit
|
|
+ if (!event.callEvent()) { return flag1; }
|
|
this.dropLeash(true, event.isDropLeash());
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/PathfinderMob.java b/src/main/java/net/minecraft/world/entity/PathfinderMob.java
|
|
index 5f256c1ac5d49e19cfccf174dd55506313c493e0..744a99151ceecc85349861a99f6cb65e04c41b73 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/PathfinderMob.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/PathfinderMob.java
|
|
@@ -51,7 +51,7 @@ public abstract class PathfinderMob extends Mob {
|
|
if (f > entity.level.paperConfig.maxLeashDistance) { // Paper
|
|
// Paper start - drop leash variable
|
|
EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE, true);
|
|
- this.level.getCraftServer().getPluginManager().callEvent(event); // CraftBukkit
|
|
+ if (!event.callEvent()) { return; }
|
|
this.dropLeash(true, event.isDropLeash());
|
|
// Paper end
|
|
}
|
|
@@ -63,7 +63,7 @@ public abstract class PathfinderMob extends Mob {
|
|
if (f > entity.level.paperConfig.maxLeashDistance) { // Paper
|
|
// Paper start - drop leash variable
|
|
EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE, true);
|
|
- this.level.getCraftServer().getPluginManager().callEvent(event); // CraftBukkit
|
|
+ if (!event.callEvent()) return;
|
|
this.dropLeash(true, event.isDropLeash());
|
|
// Paper end
|
|
this.goalSelector.disableControlFlag(Goal.Flag.MOVE);
|