9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-21 15:59:26 +00:00

Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@84f6e6e Fix max temper API for llama (#10823)
PaperMC/Paper@672c077 handle BODY slot for non-mobs (#10822)
PaperMC/Paper@716b868 Use RegistryOps for loadAdvancement (#10799)
PaperMC/Paper@d9e659a Allow firework effects with no colors (#10814)
PaperMC/Paper@7e2b682 Fix skipping custom block entity tag (#10812)
PaperMC/Paper@ed85aac Flatten namespaced vanilla command alias redirects (#10821)
PaperMC/Paper@a31dc90 Several fixes and new api for experience merging/stacking (#9242)
PaperMC/Paper@efd91e5 Add registry-related argument types (#10770)
PaperMC/Paper@27d2ed8 Extend fishing API (#10634)
PaperMC/Paper@0fcf3e3 Deprecate InvAction#HOTBAR_MOVE_AND_READD (#10784)
PaperMC/Paper@8e6554a Fix sending disconnect packet in phases where it doesn't exist
PaperMC/Paper@06e69c8 Use CommandSourceStack in AsyncPlayerSendCommandsEvent (#10826)
PaperMC/Paper@a47e11d fix knockback events (#10831)
PaperMC/Paper@3181470 Add entity heal API (#10267)
PaperMC/Paper@0513374 Fire TabCompleteEvent for legacy commands (#10834)
PaperMC/Paper@5d8e53d Fix CommandSourceStack#bypassSelectorPermissions (#10837)
PaperMC/Paper@ac64751 Use RegistryOps in the correct places (#10843)
PaperMC/Paper@54fbd0c clarify what getEntityId actually returns (#10839)
PaperMC/Paper@b8f2101 Only assign blockstate data if super ctor did not (#10841)
PaperMC/Paper@4f13be9 Do not perform chunk existance check for I/O scheduling
PaperMC/Paper@79c1ce1 Add since to deprecated for removals (#10848)
PaperMC/Paper@88d76d9 Make Bogged implement Shearable (#10844)
PaperMC/Paper@bd5867a Handle alpha channel from potion_contents component (#10808)
This commit is contained in:
Samsuik
2024-06-08 20:58:06 +01:00
parent fdea20bfa3
commit 13f012eb71
16 changed files with 67 additions and 79 deletions

View File

@@ -2,7 +2,7 @@ group=me.samsuik.sakura
version=1.20.6-R0.1-SNAPSHOT version=1.20.6-R0.1-SNAPSHOT
mcVersion=1.20.6 mcVersion=1.20.6
paperRef=9d6f2cced75c1a433c508ab531a61872bce73854 paperRef=bd5867a96f792f0eb32c1d249bb4bbc1d8338d14
org.gradle.jvmargs=-Xmx2G org.gradle.jvmargs=-Xmx2G

View File

@@ -469,10 +469,10 @@ index 308aef9c4933b2bcdd622a34b68efab4a220fe4d..2aee1167e7c4f47f3fe82d135904beac
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c450447585af4c8cdc87abe871c229ff895c3e53..c9c08726e5c899f4cce696b9b5a58e43abccc729 100644 index 4ae88bfcead40cd05f9514a48a922a37767cb3cf..e675c47bf6630ccb843120902a10b9dc3952f5c7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3181,6 +3181,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -3174,6 +3174,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
event.setCancelled(cancelled); event.setCancelled(cancelled);
AbstractContainerMenu oldContainer = this.player.containerMenu; // SPIGOT-1224 AbstractContainerMenu oldContainer = this.player.containerMenu; // SPIGOT-1224
@@ -481,7 +481,7 @@ index c450447585af4c8cdc87abe871c229ff895c3e53..c9c08726e5c899f4cce696b9b5a58e43
if (this.player.containerMenu != oldContainer) { if (this.player.containerMenu != oldContainer) {
return; return;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4ee843dfd826772c9157ca421d8fe1f36f814b51..ceccde57cb346810e0837157624c0ab6d4322252 100644 index 7ef9f67d27cc240191dd5d07e8dcf5fbdebe1049..c33e325d7eb4584986de338f966a79e868ef300e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -568,6 +568,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -568,6 +568,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Reduce deltaMovement Allocations
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ceccde57cb346810e0837157624c0ab6d4322252..a2104fae2b288f4cbd9e810d73bf986be0b7b969 100644 index c33e325d7eb4584986de338f966a79e868ef300e..29e609be885944dbb4868e34e7eb83b8a136619c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1294,7 +1294,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1294,7 +1294,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -205,34 +205,31 @@ index dace8dc0c051ce9355d878154466ee3a548a3832..fda88328472130df8317a84fc726a73c
int i = this.getFuse() - 1; int i = this.getFuse() - 1;
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index b9f98803bc05f6adf2c026ae91f2bd5e86734052..4a96a506a90d171f374c4ba7fb15054b23f3acb8 100644 index 37896ccb5eea0ec4e301ca97092c8ccef3aa1da5..6565709b2c8467db919c04faf4a854ccc3f00973 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -618,10 +618,11 @@ public class Explosion { @@ -618,7 +618,7 @@ public class Explosion {
d8 *= d13; d8 *= d13;
d9 *= d13; d9 *= d13;
d10 *= d13; d10 *= d13;
- Vec3 vec3d1 = new Vec3(d8, d9, d10); - Vec3 vec3d1 = new Vec3(d8, d9, d10);
+ Vec3 vec3d1 = null; // Sakura - move allocation below living entity condition + Vec3 vec3d1 = null; // Sakura - move allocation into living entity condition
// CraftBukkit start - Call EntityKnockbackEvent // CraftBukkit start - Call EntityKnockbackEvent
if (entity instanceof LivingEntity) { if (entity instanceof LivingEntity) {
+ vec3d1 = new Vec3(d8, d9, d10); // Sakura - reduce deltaMovement allocations @@ -626,9 +626,14 @@ public class Explosion {
Vec3 result = entity.getDeltaMovement().add(vec3d1); io.papermc.paper.event.entity.EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) entity.getBukkitEntity(), this.damageSource.getEntity() != null ? this.damageSource.getEntity() : this.source, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.EXPLOSION, d13, vec3d1);
org.bukkit.event.entity.EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) entity.getBukkitEntity(), this.source, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.EXPLOSION, d13, vec3d1, result.x, result.y, result.z); vec3d1 = event.isCancelled() ? Vec3.ZERO : org.bukkit.craftbukkit.util.CraftVector.toNMS(event.getKnockback());
// Paper end - knockback events
@@ -639,9 +640,13 @@ public class Explosion {
vec3d1 = org.bukkit.craftbukkit.util.CraftVector.toNMS(paperEvent.getAcceleration());
}
// Paper end - call EntityKnockbackByEntityEvent for explosions
+ // Sakura start - reduce deltaMovement allocations + // Sakura start - reduce deltaMovement allocations
+ entity.setDeltaMovement(entity.getDeltaMovement().add(vec3d1)); + entity.addDeltaMovement(vec3d1.x(), vec3d1.y(), vec3d1.z());
+ } else { + } else {
+ entity.addDeltaMovement(d8, d9, d10); + entity.addDeltaMovement(d8, d9, d10);
+ // Sakura end - reduce deltaMovement allocations + // Sakura end - reduce deltaMovement allocations
} }
// CraftBukkit end // CraftBukkit end
- entity.setDeltaMovement(entity.getDeltaMovement().add(vec3d1)); - entity.setDeltaMovement(entity.getDeltaMovement().add(vec3d1));
+ // Sakura - moved up
if (entity instanceof Player) { if (entity instanceof Player) {
Player entityhuman = (Player) entity; Player entityhuman = (Player) entity;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Optimise paper explosions
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 482609cb5395e626f7fc5890a6db3570c6a07166..0a9683c2005ab85708bfb6bbb051f68bed133918 100644 index 6565709b2c8467db919c04faf4a854ccc3f00973..63a3da501f054308fbcd20fd02808315a4d5faa3 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -112,6 +112,41 @@ public class Explosion { @@ -112,6 +112,41 @@ public class Explosion {
@@ -191,16 +191,7 @@ index 482609cb5395e626f7fc5890a6db3570c6a07166..0a9683c2005ab85708bfb6bbb051f68b
} }
// CraftBukkit end // CraftBukkit end
} }
@@ -635,7 +724,7 @@ public class Explosion { @@ -646,8 +735,12 @@ public class Explosion {
final org.bukkit.entity.Entity hitBy = this.damageSource.getEntity() != null ? this.damageSource.getEntity().getBukkitEntity() : this.source.getBukkitEntity();
com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent paperEvent = new com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent(((LivingEntity) entity).getBukkitLivingEntity(), hitBy, (float) event.getForce(), org.bukkit.craftbukkit.util.CraftVector.toBukkit(vec3d1));
if (!paperEvent.callEvent()) {
- continue;
+ return; // Sakura - optimise paper explosions
}
vec3d1 = org.bukkit.craftbukkit.util.CraftVector.toNMS(paperEvent.getAcceleration());
}
@@ -659,8 +748,12 @@ public class Explosion {
} }
} }
} }

View File

@@ -141,7 +141,7 @@ index 054783956aa6179f9f0813393b7a9afa41a6d54a..6cf33610cb6740ad3192d0180cccf17b
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index bdf946277fc07523d31ef8388181e278fd3a786c..627a319faf6d5272fea40cea27f02c09c937f868 100644 index 63a3da501f054308fbcd20fd02808315a4d5faa3..b56ca710b1f2568d71e5dd8dbd6093c945fa4bee 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -401,7 +401,12 @@ public class Explosion { @@ -401,7 +401,12 @@ public class Explosion {
@@ -176,7 +176,7 @@ index bdf946277fc07523d31ef8388181e278fd3a786c..627a319faf6d5272fea40cea27f02c09
++i; ++i;
} }
@@ -849,6 +863,11 @@ public class Explosion { @@ -836,6 +850,11 @@ public class Explosion {
}); });
} }
@@ -188,7 +188,7 @@ index bdf946277fc07523d31ef8388181e278fd3a786c..627a319faf6d5272fea40cea27f02c09
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -973,14 +992,12 @@ public class Explosion { @@ -960,14 +979,12 @@ public class Explosion {
} }
// Paper start - Optimize explosions // Paper start - Optimize explosions
private float getBlockDensity(Vec3 vec3d, Entity entity, ExplosionBlockCache[] blockCache, BlockPos.MutableBlockPos blockPos) { // Paper - optimise explosions private float getBlockDensity(Vec3 vec3d, Entity entity, ExplosionBlockCache[] blockCache, BlockPos.MutableBlockPos blockPos) { // Paper - optimise explosions

View File

@@ -481,7 +481,7 @@ index dc9d72bc033735dd83d7b0f3fe79d0a51b9661ab..6cfa54da058939003576025cb0512e0b
@Override @Override
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index d74a44ce3705d72cd7168ed4e9630ed580d5a967..ba2588188e15806052d52dca62547c8a6d3a2152 100644 index 45a45062c8ddc19908fce3106d99adb421977b12..b63cf98e58386c141ae869fe8f8386206608eb12 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -56,9 +56,11 @@ public class Explosion { @@ -56,9 +56,11 @@ public class Explosion {
@@ -564,7 +564,7 @@ index d74a44ce3705d72cd7168ed4e9630ed580d5a967..ba2588188e15806052d52dca62547c8a
// use initial cache value that is most likely to be used: the source position // use initial cache value that is most likely to be used: the source position
final ExplosionBlockCache initialCache; final ExplosionBlockCache initialCache;
{ {
@@ -1006,7 +1023,7 @@ public class Explosion { @@ -993,7 +1010,7 @@ public class Explosion {
private BlockInteraction() {} private BlockInteraction() {}
} }
// Paper start - Optimize explosions // Paper start - Optimize explosions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Optimise LivingEntity#pushEntities
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 6e043457a29a890bcefd27fc5bb07c1a7e4e30f7..361b6fd6cae71a5c079c9dd9d8224f10c30cbf80 100644 index ce01fe82dc1eaaf06ca317ddbc62b7d1b87a48b2..ba612c35d74be6b31495c17dbb8cf13ef28b526b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3570,7 +3570,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3560,7 +3560,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
return; return;
} }
// Paper end - don't run getEntities if we're not going to use its result // Paper end - don't run getEntities if we're not going to use its result

View File

@@ -5,15 +5,15 @@ Subject: [PATCH] Configure Entity Knockback
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 52302b84fe4ea59fbc7f485401fe932c19f7ebfa..1486f0a6afe2c862aa2792ca3cb0773ebdeee98d 100644 index ba612c35d74be6b31495c17dbb8cf13ef28b526b..be9484d75e5c42ce784f7654e2db7b8848e124f6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1568,7 +1568,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1568,7 +1568,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
d0 = (Math.random() - Math.random()) * 0.01D; d0 = (Math.random() - Math.random()) * 0.01D;
} }
- this.knockback(0.4000000059604645D, d0, d1, entity1, entity1 == null ? EntityKnockbackEvent.KnockbackCause.DAMAGE : EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // CraftBukkit - this.knockback(0.4000000059604645D, d0, d1, entity1, entity1 == null ? io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE : io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events
+ this.knockback((float) level().sakuraConfig().players.knockback.baseKnockback, d0, d1, entity1, entity1 == null ? EntityKnockbackEvent.KnockbackCause.DAMAGE : EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // Sakura - configure entity knockback // CraftBukkit + this.knockback((float) this.level().sakuraConfig().players.knockback.baseKnockback, d0, d1, entity1, entity1 == null ? io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE : io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events // Sakura - configure entity knockback
if (!flag) { if (!flag) {
this.indicateDamage(d0, d1); this.indicateDamage(d0, d1);
} }
@@ -21,42 +21,42 @@ index 52302b84fe4ea59fbc7f485401fe932c19f7ebfa..1486f0a6afe2c862aa2792ca3cb0773e
} }
protected void blockedByShield(LivingEntity target) { protected void blockedByShield(LivingEntity target) {
- target.knockback(0.5D, target.getX() - this.getX(), target.getZ() - this.getZ(), this, EntityKnockbackEvent.KnockbackCause.SHIELD_BLOCK); // CraftBukkit // Paper - fix attacker - target.knockback(0.5D, target.getX() - this.getX(), target.getZ() - this.getZ(), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.SHIELD_BLOCK); // CraftBukkit // Paper - fix attacker & knockback events
+ target.knockback((float) level().sakuraConfig().players.knockback.shieldHitKnockback, target.getX() - this.getX(), target.getZ() - this.getZ(), this, EntityKnockbackEvent.KnockbackCause.SHIELD_BLOCK); // Sakura - configure entity knockback // CraftBukkit // Paper - fix attacker + target.knockback((float) this.level().sakuraConfig().players.knockback.shieldHitKnockback, target.getX() - this.getX(), target.getZ() - this.getZ(), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.SHIELD_BLOCK); // CraftBukkit // Paper - fix attacker & knockback events // Sakura - configure entity knockback
} }
private boolean checkTotemDeathProtection(DamageSource source) { private boolean checkTotemDeathProtection(DamageSource source) {
@@ -1940,13 +1940,26 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1940,14 +1940,26 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
public void knockback(double d0, double d1, double d2, @Nullable Entity attacker, EntityKnockbackEvent.KnockbackCause cause) { // Paper - add nullable to attacker param public void knockback(double d0, double d1, double d2, @Nullable Entity attacker, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause cause) { // Paper - knockback events
- d0 *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE); - d0 *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE);
+ d0 *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE) * level().sakuraConfig().players.knockback.knockbackResistanceModifier; // Sakura - configure entity knockback + d0 *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE) * this.level().sakuraConfig().players.knockback.knockbackResistanceModifier; // Sakura - configure entity knockback
if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0 if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0
//this.hasImpulse = true; // CraftBukkit - Move down //this.hasImpulse = true; // CraftBukkit - Move down
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
Vec3 vec3d1 = (new Vec3(d1, 0.0D, d2)).normalize().scale(d0); Vec3 vec3d1 = (new Vec3(d1, 0.0D, d2)).normalize().scale(d0);
- EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) this.getBukkitEntity(), attacker, cause, d0, vec3d1, vec3d.x / 2.0D - vec3d1.x, this.onGround() ? Math.min(0.4D, vec3d.y / 2.0D + d0) : vec3d.y, vec3d.z / 2.0D - vec3d1.z);
+ // Sakura start - configure entity knockback + // Sakura start - configure entity knockback
+ double velocityX = vec3d.x / 2.0D - vec3d1.x; + double velocityX = vec3d.x / 2.0D - vec3d1.x;
+ double velocityY = vec3d.y / 2.0D + level().sakuraConfig().players.knockback.knockbackVertical.or(d0); + double velocityY = vec3d.y / 2.0D + this.level().sakuraConfig().players.knockback.knockbackVertical.or(d0);
+ double velocityZ = vec3d.z / 2.0D - vec3d1.z; + double velocityZ = vec3d.z / 2.0D - vec3d1.z;
+ +
+ // this.onGround() ? Math.min(0.4D, vec3d.y / 2.0D + d0) : vec3d.y + // this.onGround() ? Math.min(0.4D, vec3d.y / 2.0D + d0) : vec3d.y
+ if (!level().sakuraConfig().players.knockback.verticalKnockbackRequireGround || this.onGround()) { + if (!this.level().sakuraConfig().players.knockback.verticalKnockbackRequireGround || this.onGround()) {
+ velocityY = Math.min(level().sakuraConfig().players.knockback.knockbackVerticalLimit, velocityY); + velocityY = Math.min(this.level().sakuraConfig().players.knockback.knockbackVerticalLimit, velocityY);
+ } else { + } else {
+ velocityY = vec3d.y; + velocityY = vec3d.y;
+ } + }
+
+ EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) this.getBukkitEntity(), attacker, cause, d0, vec3d1, velocityX, velocityY, velocityZ);
+ // Sakura end - configure entity knockback + // Sakura end - configure entity knockback
if (event.isCancelled()) {
return; // Paper start - knockback events
} - Vec3 finalVelocity = new Vec3(vec3d.x / 2.0D - vec3d1.x, this.onGround() ? Math.min(0.4D, vec3d.y / 2.0D + d0) : vec3d.y, vec3d.z / 2.0D - vec3d1.z);
+ Vec3 finalVelocity = new Vec3(velocityX, velocityY, velocityZ); // Sakura - configure entity knockback
Vec3 diff = finalVelocity.subtract(vec3d);
io.papermc.paper.event.entity.EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) this.getBukkitEntity(), attacker, cause, d0, diff);
// Paper end - knockback events
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 74130ccef989757b81507f084cc30a0e593ecaf3..898c3e44f36462acab9068c9665d08a345ee1b81 100644 index c34de2a7303746ae236b7e81d87e7af42242baa7..3e0958f7b71fd7693d8f10d9b52144c32a039a0b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -195,6 +195,7 @@ public abstract class Player extends LivingEntity { @@ -195,6 +195,7 @@ public abstract class Player extends LivingEntity {
@@ -81,7 +81,7 @@ index 74130ccef989757b81507f084cc30a0e593ecaf3..898c3e44f36462acab9068c9665d08a3
if (flag5) { if (flag5) {
if (i > 0) { if (i > 0) {
- if (target instanceof LivingEntity) { - if (target instanceof LivingEntity) {
- ((LivingEntity) target).knockback((double) ((float) i * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // CraftBukkit - ((LivingEntity) target).knockback((double) ((float) i * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events
+ // Sakura start - configure extra sprinting knockback + // Sakura start - configure extra sprinting knockback
+ float extraKnockback = (float) i * 0.5F; + float extraKnockback = (float) i * 0.5F;
+ long millis = System.currentTimeMillis(); + long millis = System.currentTimeMillis();
@@ -98,7 +98,7 @@ index 74130ccef989757b81507f084cc30a0e593ecaf3..898c3e44f36462acab9068c9665d08a3
+ if (extraKnockback == 0.0) { + if (extraKnockback == 0.0) {
+ // required + // required
+ } else if (target instanceof LivingEntity) { + } else if (target instanceof LivingEntity) {
+ ((LivingEntity) target).knockback((double) (extraKnockback), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // CraftBukkit + ((LivingEntity) target).knockback((double) (extraKnockback), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events
} else { } else {
- target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * (float) i * 0.5F), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * (float) i * 0.5F), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent - target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * (float) i * 0.5F), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * (float) i * 0.5F), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
+ target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * extraKnockback), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * extraKnockback), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent + target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * extraKnockback), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * extraKnockback), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
@@ -110,13 +110,13 @@ index 74130ccef989757b81507f084cc30a0e593ecaf3..898c3e44f36462acab9068c9665d08a3
if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) { if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) {
// CraftBukkit start - Only apply knockback if the damage hits // CraftBukkit start - Only apply knockback if the damage hits
if (entityliving.hurt(this.damageSources().playerAttack(this).sweep().critical(flag2), f4)) { // Paper - add critical damage API if (entityliving.hurt(this.damageSources().playerAttack(this).sweep().critical(flag2), f4)) { // Paper - add critical damage API
- entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.SWEEP_ATTACK); // CraftBukkit - entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.SWEEP_ATTACK); // CraftBukkit // Paper - knockback events
+ entityliving.knockback((float) this.level().sakuraConfig().players.knockback.sweepingEdgeKnockback, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.SWEEP_ATTACK); // Sakura - configure entity knockback // CraftBukkit + entityliving.knockback((float) this.level().sakuraConfig().players.knockback.sweepingEdgeKnockback, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.SWEEP_ATTACK); // CraftBukkit // Paper - knockback events // Sakura - configure entity knockback
} }
// CraftBukkit end // CraftBukkit end
} }
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
index 882de08963c72614a3d26cd917916e42b7136042..a58dea66af79b15d78407e4b4b19dfcece011ba6 100644 index 7dd5e0b935d98d552c916f8412569ff4aa0e9b04..d9deb1b47b2430936d74e782cfc4a6ac32a16c91 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -298,6 +298,12 @@ public class FishingHook extends Projectile { @@ -298,6 +298,12 @@ public class FishingHook extends Projectile {

View File

@@ -124,7 +124,7 @@ index a8008c7550488be34b51f4280f5569170b1ebd1d..2e5a46b9d27b930870c68dbde93d8731
public String getDescriptionId() { public String getDescriptionId() {
return this.getOrCreateDescriptionId(); return this.getOrCreateDescriptionId();
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index ba2588188e15806052d52dca62547c8a6d3a2152..473573e37ac5ecff2655126a08011aff66997019 100644 index b63cf98e58386c141ae869fe8f8386206608eb12..456d688490c9f05c2153241bd4336f5266c2e30a 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -262,7 +262,7 @@ public class Explosion { @@ -262,7 +262,7 @@ public class Explosion {
@@ -158,7 +158,7 @@ index ba2588188e15806052d52dca62547c8a6d3a2152..473573e37ac5ecff2655126a08011aff
private boolean clipsAnything(final Vec3 from, final Vec3 to, private boolean clipsAnything(final Vec3 from, final Vec3 to,
final io.papermc.paper.util.CollisionUtil.LazyEntityCollisionContext context, final io.papermc.paper.util.CollisionUtil.LazyEntityCollisionContext context,
final ExplosionBlockCache[] blockCache, final ExplosionBlockCache[] blockCache,
@@ -880,6 +895,16 @@ public class Explosion { @@ -867,6 +882,16 @@ public class Explosion {
// CraftBukkit start - TNTPrimeEvent // CraftBukkit start - TNTPrimeEvent
BlockState iblockdata = this.level.getBlockState(blockposition); BlockState iblockdata = this.level.getBlockState(blockposition);
Block block = iblockdata.getBlock(); Block block = iblockdata.getBlock();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to configure entity water sensitivity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 1766a599850a674a00ba26afe231c0982a6cb653..1b11b7196517018c1fb4d9b77704a86feb3440b5 100644 index be9484d75e5c42ce784f7654e2db7b8848e124f6..cd38d1a5ac545aa3ef33f6cb54301d6f9a301bc3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3520,7 +3520,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3509,7 +3509,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
} }
// Paper end - Add EntityMoveEvent // Paper end - Add EntityMoveEvent

View File

@@ -107,7 +107,7 @@ index 13d87b08b1e12f7b5a6f59f545a4620cacae22ba..4ad106f15b73ce0657a34a17a3341bf3
protected void startExplosion() { protected void startExplosion() {
for (int i = this.calculateExplosionPotential() - 1; i >= 0; --i) { for (int i = this.calculateExplosionPotential() - 1; i >= 0; --i) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e8b850b0608e8d876f0f3415880e4f90ca3b9d85..8c508df03a80d7f8fbb1bc50067f84090457511f 100644 index 50ae421b40681366523932a2cd445592ec067897..df083dd2f9af19c768b23727852194e68a53fd7d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -381,7 +381,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -381,7 +381,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -481,7 +481,7 @@ index df2a37e57012333a618937e61cb5a99c3ef4a0f9..62d40333c42f673479db5e6312343161
// Paper end - Option to prevent TNT from moving in water // Paper end - Option to prevent TNT from moving in water
} }
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index a0b818a52a54fca9eb433d361149e3ab1ce5835b..a636dd7776c378b450ed0fab91e748f423671a9b 100644 index c224602754222bba4d4681fb709aeab33d7857e7..87343afd9fc0d57be6af1dc11d667be688fb3960 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -76,6 +76,7 @@ public class Explosion { @@ -76,6 +76,7 @@ public class Explosion {
@@ -546,7 +546,7 @@ index a0b818a52a54fca9eb433d361149e3ab1ce5835b..a636dd7776c378b450ed0fab91e748f4
if (d11 != 0.0D) { if (d11 != 0.0D) {
d8 /= d11; d8 /= d11;
@@ -1058,7 +1078,7 @@ public class Explosion { @@ -1045,7 +1065,7 @@ public class Explosion {
// Sakura start - replace density cache // Sakura start - replace density cache
float blockDensity = this.level.densityCache.getDensity(vec3d, entity); float blockDensity = this.level.densityCache.getDensity(vec3d, entity);
if (blockDensity == me.samsuik.sakura.explosion.density.BlockDensityCache.UNKNOWN_DENSITY) { if (blockDensity == me.samsuik.sakura.explosion.density.BlockDensityCache.UNKNOWN_DENSITY) {
@@ -555,7 +555,7 @@ index a0b818a52a54fca9eb433d361149e3ab1ce5835b..a636dd7776c378b450ed0fab91e748f4
this.level.densityCache.putDensity(vec3d, entity, blockDensity); this.level.densityCache.putDensity(vec3d, entity, blockDensity);
// Sakura end - replace density cache // Sakura end - replace density cache
} }
@@ -1066,6 +1086,17 @@ public class Explosion { @@ -1053,6 +1073,17 @@ public class Explosion {
return blockDensity; return blockDensity;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add explosions dropping items config
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index fd53dff917b65b94eceb5796fc80b1a490454cc2..a5ea2a84098e5cef7c82bfb437b6e630727a25c4 100644 index 2db4da910c67c2ebe8dde88faf775138df1510b9..fe1613301795c46e92494eaa61d0c5ea51a8289e 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -951,6 +951,11 @@ public class Explosion { @@ -938,6 +938,11 @@ public class Explosion {
this.level.densityCache.clear(-1); this.level.densityCache.clear(-1);
} }
// Sakura end - explosion density cache // Sakura end - explosion density cache

View File

@@ -50,7 +50,7 @@ index 0000000000000000000000000000000000000000..b1c55ef758f61914e6df9b2c8096bce6
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 629d1190a6becabaa46210dfcb2eb45673847e6f..82f430eb1f2b43ccf7f621e119d58190964c1806 100644 index 911a72456f90d9ba49fb10443a2c59d35f292d72..ed1cd8624df04419031bb55c03d31d8c002dfbc7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -287,6 +287,72 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -287,6 +287,72 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -126,7 +126,7 @@ index 629d1190a6becabaa46210dfcb2eb45673847e6f..82f430eb1f2b43ccf7f621e119d58190
protected LivingEntity(EntityType<? extends LivingEntity> type, Level world) { protected LivingEntity(EntityType<? extends LivingEntity> type, Level world) {
super(type, world); super(type, world);
@@ -2198,7 +2264,16 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2187,7 +2253,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected float getDamageAfterArmorAbsorb(DamageSource source, float amount) { protected float getDamageAfterArmorAbsorb(DamageSource source, float amount) {
if (!source.is(DamageTypeTags.BYPASSES_ARMOR)) { if (!source.is(DamageTypeTags.BYPASSES_ARMOR)) {
// this.hurtArmor(damagesource, f); // CraftBukkit - Moved into actuallyHurt(DamageSource, float) // this.hurtArmor(damagesource, f); // CraftBukkit - Moved into actuallyHurt(DamageSource, float)
@@ -143,7 +143,7 @@ index 629d1190a6becabaa46210dfcb2eb45673847e6f..82f430eb1f2b43ccf7f621e119d58190
} }
return amount; return amount;
@@ -3294,6 +3369,12 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3283,6 +3358,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
}); });
} }
@@ -157,7 +157,7 @@ index 629d1190a6becabaa46210dfcb2eb45673847e6f..82f430eb1f2b43ccf7f621e119d58190
} }
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 70e3c8b1082d16cdbb9a4c179c53dafcc59ac1ed..951fa13dfe333e1e4aa467897d45bbe56d67f6b0 100644 index 4e8a41dc9e27244b19e1d45b58ad8363801c5b72..fcc2523e330f1d275f320006374406969cd817fa 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1267,12 +1267,18 @@ public abstract class Player extends LivingEntity { @@ -1267,12 +1267,18 @@ public abstract class Player extends LivingEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Change shields to reduce damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 82f430eb1f2b43ccf7f621e119d58190964c1806..a41e63a7672ae526062a86f03ddda82bee4e1fdb 100644 index ed1cd8624df04419031bb55c03d31d8c002dfbc7..c9f23149df9bb0a2a73abb6e16ff9673562d60eb 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2340,7 +2340,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2329,7 +2329,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
Function<Double, Double> blocking = new Function<Double, Double>() { Function<Double, Double> blocking = new Function<Double, Double>() {
@Override @Override
public Double apply(Double f) { public Double apply(Double f) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Old enchanted golden apples
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a41e63a7672ae526062a86f03ddda82bee4e1fdb..78fb078bad84a984624ee17d0b060fd9d3cfb146 100644 index c9f23149df9bb0a2a73abb6e16ff9673562d60eb..f917b484f73ed44a6ad7be6aa049e18a13520594 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4498,6 +4498,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -4487,6 +4487,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
public ItemStack eat(Level world, ItemStack stack) { public ItemStack eat(Level world, ItemStack stack) {
FoodProperties foodinfo = (FoodProperties) stack.get(DataComponents.FOOD); FoodProperties foodinfo = (FoodProperties) stack.get(DataComponents.FOOD);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option for fishing hooks pulling entities
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
index a58dea66af79b15d78407e4b4b19dfcece011ba6..92d381b0e824f734b0b6b186fa4c8601ab433241 100644 index d9deb1b47b2430936d74e782cfc4a6ac32a16c91..218b6a72a76b8acfd55952265b34fefafbce3cc3 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -601,7 +601,7 @@ public class FishingHook extends Projectile { @@ -615,7 +615,7 @@ public class FishingHook extends Projectile {
public void pullEntity(Entity entity) { public void pullEntity(Entity entity) {
Entity entity1 = this.getOwner(); Entity entity1 = this.getOwner();