
Upstream has released updates that appears 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: eb2e6578 SPIGOT-5116: Fix concurrent modification exception inside ChunkMapDistance 989f9b3d SPIGOT-4849: Fix server crash when accessing chunks during chunk load/unload/populate events f554183c SPIGOT-5171: Don't fire PlayerTeleportEvent if not actually moving 2349feb8 SPIGOT-5163: Cancelling PlayerBucketFillEvent visually removes the targeted block Spigot Changes: 9a643a6a Remove DataWatcher Locking
31 lines
No EOL
1.8 KiB
Diff
31 lines
No EOL
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 16 May 2018 20:44:58 -0400
|
|
Subject: [PATCH] WitchThrowPotionEvent
|
|
|
|
Fired when a witch throws a potion at a player
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
|
|
index 6e9d34158..0c641d915 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityWitch.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
|
|
@@ -0,0 +0,0 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
|
|
potionregistry = Potions.WEAKNESS;
|
|
}
|
|
|
|
+ // Paper start
|
|
+ ItemStack potion = PotionUtil.a(new ItemStack(Items.SPLASH_POTION), potionregistry);
|
|
+ com.destroystokyo.paper.event.entity.WitchThrowPotionEvent event = new com.destroystokyo.paper.event.entity.WitchThrowPotionEvent((org.bukkit.entity.Witch) this.getBukkitEntity(), (org.bukkit.entity.LivingEntity) entityliving.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(potion));
|
|
+ if (!event.callEvent()) {
|
|
+ return;
|
|
+ }
|
|
+ potion = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getPotion());
|
|
EntityPotion entitypotion = new EntityPotion(this.world, this);
|
|
-
|
|
- entitypotion.setItem(PotionUtil.a(new ItemStack(Items.SPLASH_POTION), potionregistry));
|
|
+ entitypotion.setItem(potion);
|
|
+ // Paper end
|
|
entitypotion.pitch -= -20.0F;
|
|
entitypotion.shoot(d0, d1 + (double) (f1 * 0.2F), d2, 0.75F, 8.0F);
|
|
this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_THROW, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F);
|
|
--
|