Add methods to change entity physics (#10334)
This commit is contained in:
parent
9ec7dfcbc4
commit
b6001403e9
939 changed files with 171 additions and 211 deletions
72
patches/api/0316-Add-critical-damage-API.patch
Normal file
72
patches/api/0316-Add-critical-damage-API.patch
Normal file
|
@ -0,0 +1,72 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: dodison <kacpik@mapik.eu>
|
||||
Date: Mon, 26 Jul 2021 17:35:20 +0200
|
||||
Subject: [PATCH] Add critical damage API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
||||
index 04449ef55caacf2ac910f0916f8afeb428c282e9..6b24d1281cb8f0253430c9c1a1323e2670bb9c93 100644
|
||||
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
||||
@@ -5,6 +5,7 @@ import java.util.Map;
|
||||
import org.bukkit.damage.DamageSource;
|
||||
import org.bukkit.damage.DamageType;
|
||||
import org.bukkit.entity.Entity;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
@@ -12,15 +13,18 @@ import org.jetbrains.annotations.NotNull;
|
||||
*/
|
||||
public class EntityDamageByEntityEvent extends EntityDamageEvent {
|
||||
private final Entity damager;
|
||||
+ private final boolean critical; // Paper
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
|
||||
this(damager, damagee, cause, DamageSource.builder(DamageType.GENERIC).withCausingEntity(damager).withDirectEntity(damager).build(), damage);
|
||||
}
|
||||
|
||||
+ @Deprecated
|
||||
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) {
|
||||
super(damagee, cause, damageSource, damage);
|
||||
this.damager = damager;
|
||||
+ this.critical = false; // Paper - add critical damage API
|
||||
}
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
@@ -28,11 +32,34 @@ public class EntityDamageByEntityEvent extends EntityDamageEvent {
|
||||
this(damager, damagee, cause, DamageSource.builder(DamageType.GENERIC).withCausingEntity(damager).withDirectEntity(damager).build(), modifiers, modifierFunctions);
|
||||
}
|
||||
|
||||
+ @Deprecated
|
||||
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
|
||||
super(damagee, cause, damageSource, modifiers, modifierFunctions);
|
||||
this.damager = damager;
|
||||
+ // Paper start
|
||||
+ this.critical = false;
|
||||
}
|
||||
|
||||
+ @ApiStatus.Internal
|
||||
+ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, boolean critical) {
|
||||
+ super(damagee, cause, damageSource, modifiers, modifierFunctions);
|
||||
+ this.damager = damager;
|
||||
+ this.critical = critical;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Shows this damage instance was critical.
|
||||
+ * The damage instance can be critical if the attacking player met the respective conditions.
|
||||
+ * Furthermore, arrows may also cause a critical damage event if the arrow {@link org.bukkit.entity.AbstractArrow#isCritical()}.
|
||||
+ *
|
||||
+ * @return if the hit was critical.
|
||||
+ * @see <a href="https://minecraft.wiki/wiki/Damage#Critical_hit">https://minecraft.wiki/wiki/Damage#Critical_hit</a>
|
||||
+ */
|
||||
+ public boolean isCritical() {
|
||||
+ return this.critical;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
/**
|
||||
* Returns the entity that damaged the defender.
|
||||
*
|
Loading…
Add table
Add a link
Reference in a new issue