mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
Fix #364 - isCritical always false
This commit is contained in:
@@ -33,9 +33,27 @@ index a70c557de56c5ba04cb520108cdb037eb9cad8a9..78442fe87ceaf65b302536c893610aa0
|
|||||||
if (flag5) {
|
if (flag5) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
index c4218281721cf4a5b8f2cad5e12089e3aee89737..cfeb80b889b84f9de65c4d5ba50bd76019c16ef0 100644
|
index c4218281721cf4a5b8f2cad5e12089e3aee89737..c07ff0cc7cae358c3fd772d24c2944cc92e1acff 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
|
@@ -962,7 +962,7 @@ public class CraftEventFactory {
|
||||||
|
} else {
|
||||||
|
damageCause = DamageCause.ENTITY_EXPLOSION;
|
||||||
|
}
|
||||||
|
- event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions);
|
||||||
|
+ event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, damager instanceof HumanEntity && ((EntityHuman)damager).isCritical); // Purpur
|
||||||
|
damager.processClick(EnumHand.MAIN_HAND); // Purpur
|
||||||
|
}
|
||||||
|
event.setCancelled(cancelled);
|
||||||
|
@@ -1042,7 +1042,7 @@ public class CraftEventFactory {
|
||||||
|
} else {
|
||||||
|
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.translationIndex));
|
||||||
|
}
|
||||||
|
- EntityDamageEvent event = new EntityDamageByEntityEvent(damager, entity.getBukkitEntity(), cause, modifiers, modifierFunctions);
|
||||||
|
+ EntityDamageEvent event = new EntityDamageByEntityEvent(damager, entity.getBukkitEntity(), cause, modifiers, modifierFunctions, entityDamage instanceof HumanEntity && ((EntityHuman)entityDamage).isCritical); // Purpur
|
||||||
|
event.setCancelled(cancelled);
|
||||||
|
callEvent(event);
|
||||||
|
if (!event.isCancelled()) {
|
||||||
@@ -1097,7 +1097,7 @@ public class CraftEventFactory {
|
@@ -1097,7 +1097,7 @@ public class CraftEventFactory {
|
||||||
private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
|
private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
|
||||||
EntityDamageEvent event;
|
EntityDamageEvent event;
|
||||||
|
|||||||
Reference in New Issue
Block a user