mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 09:57:43 +01:00
Rebuild patches
This commit is contained in:
@@ -5,18 +5,39 @@ Subject: [PATCH] Add critical hit check to EntityDamagedByEntityEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
||||||
index 869bad740..7ef65376a 100644
|
index 869bad740..05fde759b 100644
|
||||||
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
||||||
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
|
||||||
@@ -10,6 +10,7 @@ import org.jetbrains.annotations.NotNull;
|
@@ -10,15 +10,28 @@ import org.jetbrains.annotations.NotNull;
|
||||||
*/
|
*/
|
||||||
public class EntityDamageByEntityEvent extends EntityDamageEvent {
|
public class EntityDamageByEntityEvent extends EntityDamageEvent {
|
||||||
private final Entity damager;
|
private final Entity damager;
|
||||||
+ private boolean isCritical; // Purpur
|
+ private final boolean isCritical; // Purpur
|
||||||
|
|
||||||
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
|
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
|
||||||
|
+ // Purpur start
|
||||||
|
+ this(damager, damagee, cause, damage, false);
|
||||||
|
+ }
|
||||||
|
+ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage, boolean isCritical) {
|
||||||
|
+ // Purpur end
|
||||||
super(damagee, cause, damage);
|
super(damagee, cause, damage);
|
||||||
@@ -30,4 +31,25 @@ public class EntityDamageByEntityEvent extends EntityDamageEvent {
|
this.damager = damager;
|
||||||
|
+ this.isCritical = isCritical; // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
|
||||||
|
+ // Purpur start
|
||||||
|
+ this(damager, damagee, cause, modifiers, modifierFunctions, false);
|
||||||
|
+ }
|
||||||
|
+ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, boolean isCritical) {
|
||||||
|
+ // Purpur end
|
||||||
|
super(damagee, cause, modifiers, modifierFunctions);
|
||||||
|
this.damager = damager;
|
||||||
|
+ this.isCritical = isCritical; // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -30,4 +43,16 @@ public class EntityDamageByEntityEvent extends EntityDamageEvent {
|
||||||
public Entity getDamager() {
|
public Entity getDamager() {
|
||||||
return damager;
|
return damager;
|
||||||
}
|
}
|
||||||
@@ -31,14 +52,5 @@ index 869bad740..7ef65376a 100644
|
|||||||
+ public boolean isCritical() {
|
+ public boolean isCritical() {
|
||||||
+ return this.isCritical;
|
+ return this.isCritical;
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Set whether this damage was done by a critical hit
|
|
||||||
+ *
|
|
||||||
+ * @param isCritical True if critical hit
|
|
||||||
+ */
|
|
||||||
+ public void setCritical(boolean isCritical) {
|
|
||||||
+ this.isCritical = isCritical;
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ Subject: [PATCH] Add critical hit check to EntityDamagedByEntityEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
index deb6c9342..00497dd44 100644
|
index deb6c9342..84e500fa7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
@@ -73,6 +73,7 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -73,6 +73,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
// Paper start
|
// Paper start
|
||||||
public boolean affectsSpawning = true;
|
public boolean affectsSpawning = true;
|
||||||
// Paper end
|
// Paper end
|
||||||
+ public static boolean isCritical = false; // Purpur
|
+ public boolean isCritical = false; // Purpur
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public boolean fauxSleeping;
|
public boolean fauxSleeping;
|
||||||
@@ -20,7 +20,7 @@ index deb6c9342..00497dd44 100644
|
|||||||
flag2 = flag2 && !world.paperConfig.disablePlayerCrits; // Paper
|
flag2 = flag2 && !world.paperConfig.disablePlayerCrits; // Paper
|
||||||
flag2 = flag2 && !this.isSprinting();
|
flag2 = flag2 && !this.isSprinting();
|
||||||
if (flag2) {
|
if (flag2) {
|
||||||
+ isCritical = true; // Purpur
|
+ this.isCritical = true; // Purpur
|
||||||
f *= 1.5F;
|
f *= 1.5F;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,21 +28,20 @@ index deb6c9342..00497dd44 100644
|
|||||||
|
|
||||||
Vec3D vec3d = entity.getMot();
|
Vec3D vec3d = entity.getMot();
|
||||||
boolean flag5 = entity.damageEntity(DamageSource.playerAttack(this), f);
|
boolean flag5 = entity.damageEntity(DamageSource.playerAttack(this), f);
|
||||||
+ isCritical = false; // Purpur
|
+ this.isCritical = false; // Purpur
|
||||||
|
|
||||||
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 8bb9449a6..544c95bc5 100644
|
index 8bb9449a6..3c277e208 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
|
||||||
@@ -1049,6 +1049,9 @@ public class CraftEventFactory {
|
@@ -1048,7 +1048,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) {
|
||||||
EntityDamageEvent event;
|
EntityDamageEvent event;
|
||||||
if (damager != null) {
|
if (damager != null) {
|
||||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
|
- event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
|
||||||
+ if (damager instanceof EntityHuman) {
|
+ event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, damager instanceof HumanEntity && ((EntityHuman)damager).isCritical); // Purpur
|
||||||
+ ((EntityDamageByEntityEvent) event).setCritical(((EntityHuman)damager).isCritical);
|
|
||||||
+ }
|
|
||||||
damager.processClick(EnumHand.MAIN_HAND); // Purpur
|
damager.processClick(EnumHand.MAIN_HAND); // Purpur
|
||||||
} else {
|
} else {
|
||||||
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
|
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
|
||||||
Reference in New Issue
Block a user