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 Bukkit Changes: 122289ff Add FaceAttachable interface to handle Grindstone facing in common with Switches a6db750e SPIGOT-5647: ZombieVillager entity should have getVillagerType() CraftBukkit Changes: bbe3d58e SPIGOT-5650: Lectern.setPage(int) causes a NullPointerException 3075579f Add FaceAttachable interface to handle Grindstone facing in common with Switches 95bd4238 SPIGOT-5647: ZombieVillager entity should have getVillagerType() 4d975ac3 SPIGOT-5617: setBlockData does not work when NotPlayEvent is called by redstone current
98 lines
2.7 KiB
Diff
98 lines
2.7 KiB
Diff
From 4591321a0b6f1215bbcd8ee48963b40a0ac2a9ca Mon Sep 17 00:00:00 2001
|
|
From: Brokkonaut <hannos17@gmx.de>
|
|
Date: Mon, 18 Jun 2018 15:40:39 +0200
|
|
Subject: [PATCH] Add EntityKnockbackByEntityEvent
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EntityKnockbackByEntityEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EntityKnockbackByEntityEvent.java
|
|
new file mode 100644
|
|
index 000000000..9efecabab
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityKnockbackByEntityEvent.java
|
|
@@ -0,0 +1,82 @@
|
|
+package com.destroystokyo.paper.event.entity;
|
|
+
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.entity.LivingEntity;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.entity.EntityEvent;
|
|
+import org.bukkit.util.Vector;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Fired when an Entity is knocked back by the hit of another Entity. The acceleration
|
|
+ * vector can be modified. If this event is cancelled, the entity is not knocked back.
|
|
+ *
|
|
+ */
|
|
+public class EntityKnockbackByEntityEvent extends EntityEvent implements Cancellable {
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+
|
|
+ @NotNull private final Entity hitBy;
|
|
+ private final float knockbackStrength;
|
|
+ @NotNull private final Vector acceleration;
|
|
+ private boolean cancelled = false;
|
|
+
|
|
+ public EntityKnockbackByEntityEvent(@NotNull LivingEntity entity, @NotNull Entity hitBy, float knockbackStrength, @NotNull Vector acceleration) {
|
|
+ super(entity);
|
|
+ this.hitBy = hitBy;
|
|
+ this.knockbackStrength = knockbackStrength;
|
|
+ this.acceleration = acceleration;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isCancelled() {
|
|
+ return cancelled;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setCancelled(boolean cancel) {
|
|
+ cancelled = cancel;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the entity which was knocked back
|
|
+ */
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public LivingEntity getEntity() {
|
|
+ return (LivingEntity) super.getEntity();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the original knockback strength.
|
|
+ */
|
|
+ public float getKnockbackStrength() {
|
|
+ return knockbackStrength;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the Entity which hit
|
|
+ */
|
|
+ @NotNull
|
|
+ public Entity getHitBy() {
|
|
+ return hitBy;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the acceleration that will be applied
|
|
+ */
|
|
+ @NotNull
|
|
+ public Vector getAcceleration() {
|
|
+ return acceleration;
|
|
+ }
|
|
+}
|
|
--
|
|
2.25.1
|
|
|