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:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user