mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 12:27:59 +01:00
Allow custom damage for trident (#8132)
This commit is contained in:
parent
b6c058204f
commit
a92fdba593
34
patches/api/Allow-trident-custom-damage.patch
Normal file
34
patches/api/Allow-trident-custom-damage.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
|
||||||
|
Date: Wed, 13 Jul 2022 15:29:53 +0200
|
||||||
|
Subject: [PATCH] Allow trident custom damage
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Trident.java b/src/main/java/org/bukkit/entity/Trident.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Trident.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Trident.java
|
||||||
|
@@ -0,0 +0,0 @@ public interface Trident extends AbstractArrow, ThrowableProjectile {
|
||||||
|
* @param hasDealtDamage has dealt damage or hit the floor
|
||||||
|
*/
|
||||||
|
void setHasDealtDamage(boolean hasDealtDamage);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets the base amount of damage this trident will do.
|
||||||
|
+ *
|
||||||
|
+ * @param damage new damage amount
|
||||||
|
+ */
|
||||||
|
+ void setDamage(double damage);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Gets the base amount of damage this trident will do.
|
||||||
|
+ *
|
||||||
|
+ * Defaults to 8.0 for a normal trident with
|
||||||
|
+ * <code>0.5 * (1 + power level)</code> added for trident fired from
|
||||||
|
+ * damage enchanted bows.
|
||||||
|
+ *
|
||||||
|
+ * @return base damage amount
|
||||||
|
+ */
|
||||||
|
+ double getDamage();
|
||||||
|
}
|
||||||
|
// Paper end
|
46
patches/server/Allow-trident-custom-damage.patch
Normal file
46
patches/server/Allow-trident-custom-damage.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
|
||||||
|
Date: Tue, 12 Jul 2022 18:01:14 +0200
|
||||||
|
Subject: [PATCH] Allow trident custom damage
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
|
@@ -0,0 +0,0 @@ public abstract class AbstractArrow extends Projectile {
|
||||||
|
public AbstractArrow.Pickup pickup;
|
||||||
|
public int shakeTime;
|
||||||
|
public int life;
|
||||||
|
- private double baseDamage;
|
||||||
|
+ protected double baseDamage; // Paper - private -> protected
|
||||||
|
public int knockback;
|
||||||
|
public SoundEvent soundEvent;
|
||||||
|
@Nullable
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||||
|
@@ -0,0 +0,0 @@ public class ThrownTrident extends AbstractArrow {
|
||||||
|
|
||||||
|
public ThrownTrident(EntityType<? extends ThrownTrident> type, Level world) {
|
||||||
|
super(type, world);
|
||||||
|
+ this.baseDamage = net.minecraft.world.item.TridentItem.BASE_DAMAGE; // Paper
|
||||||
|
this.tridentItem = new ItemStack(Items.TRIDENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ThrownTrident(Level world, LivingEntity owner, ItemStack stack) {
|
||||||
|
super(EntityType.TRIDENT, owner, world);
|
||||||
|
+ this.baseDamage = net.minecraft.world.item.TridentItem.BASE_DAMAGE; // Paper
|
||||||
|
this.tridentItem = new ItemStack(Items.TRIDENT);
|
||||||
|
this.tridentItem = stack.copy();
|
||||||
|
this.entityData.set(ThrownTrident.ID_LOYALTY, (byte) EnchantmentHelper.getLoyalty(stack));
|
||||||
|
@@ -0,0 +0,0 @@ public class ThrownTrident extends AbstractArrow {
|
||||||
|
@Override
|
||||||
|
protected void onHitEntity(EntityHitResult entityHitResult) {
|
||||||
|
Entity entity = entityHitResult.getEntity();
|
||||||
|
- float f = 8.0F;
|
||||||
|
+ float f = (float) this.baseDamage; // Paper
|
||||||
|
|
||||||
|
if (entity instanceof LivingEntity) {
|
||||||
|
LivingEntity entityliving = (LivingEntity) entity;
|
Loading…
Reference in New Issue
Block a user