Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-17 12:00:07 +01:00
17b58d00d8
This was a useless exception wrapper that ends up making stack traces harder to read as well as the JVM cutting off the important parts Nothing catches this exception, so its safe to just get rid of it and let the REAL exception bubble down
92 Zeilen
2.5 KiB
Diff
92 Zeilen
2.5 KiB
Diff
From 5694eae25981fb9647ef73f3945e828166bd2ebf 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 00000000..f6ef1162
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityKnockbackByEntityEvent.java
|
|
@@ -0,0 +1,76 @@
|
|
+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;
|
|
+
|
|
+/**
|
|
+ * 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();
|
|
+
|
|
+ private final Entity hitBy;
|
|
+ private final float knockbackStrength;
|
|
+ private final Vector acceleration;
|
|
+ private boolean cancelled = false;
|
|
+
|
|
+ public EntityKnockbackByEntityEvent(LivingEntity entity, Entity hitBy, float knockbackStrength, Vector acceleration) {
|
|
+ super(entity);
|
|
+ this.hitBy = hitBy;
|
|
+ this.knockbackStrength = knockbackStrength;
|
|
+ this.acceleration = acceleration;
|
|
+ }
|
|
+
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ 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
|
|
+ */
|
|
+ @Override
|
|
+ public LivingEntity getEntity() {
|
|
+ return (LivingEntity) super.getEntity();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the original knockback strength.
|
|
+ */
|
|
+ public float getKnockbackStrength() {
|
|
+ return knockbackStrength;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the Entity which hit
|
|
+ */
|
|
+ public Entity getHitBy() {
|
|
+ return hitBy;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return the acceleration that will be applied
|
|
+ */
|
|
+ public Vector getAcceleration() {
|
|
+ return acceleration;
|
|
+ }
|
|
+}
|
|
--
|
|
2.20.1
|
|
|