From 9f21e129b11c0221a6d171daeea2229cbcc4f2ff Mon Sep 17 00:00:00 2001 From: Boy Date: Mon, 17 Jun 2024 12:23:25 +0200 Subject: [PATCH] fix: EP & CF not adding to falldistance --- .../server/0002-Block-Falldamage-tweaks.patch | 29 ++++++++++---- patches/server/0004-Enchantment-tweaks.patch | 40 +++++++++++++++++++ 2 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 patches/server/0004-Enchantment-tweaks.patch diff --git a/patches/server/0002-Block-Falldamage-tweaks.patch b/patches/server/0002-Block-Falldamage-tweaks.patch index f332bd6..eeff61d 100644 --- a/patches/server/0002-Block-Falldamage-tweaks.patch +++ b/patches/server/0002-Block-Falldamage-tweaks.patch @@ -486,17 +486,31 @@ index e980c8c356b30d25e2fc5a73b91ad2c6edd4fe05..b60c727a169cd3f041f73348818c7a5f @Override diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java -index 1aa5e57a4e6a4be60514d8808a2e6c973d93e798..003391faba5214ac381dde33ec0a0ffd16646c90 100644 +index 1aa5e57a4e6a4be60514d8808a2e6c973d93e798..7ef4a753d6d2716d6b4754d0f9932e35e33fa8f1 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java -@@ -87,14 +87,14 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { +@@ -68,6 +68,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { + + if (entity instanceof ServerPlayer) { + ServerPlayer entityplayer = (ServerPlayer) entity; ++ double originalY = entity.getY(); + + if (entityplayer.connection.isAcceptingMessages()) { + // CraftBukkit start +@@ -86,15 +87,18 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { + } } - // entity.changeDimension(new DimensionTransition(worldserver, this.position(), entity.getDeltaMovement(), entity.getYRot(), entity.getXRot(), DimensionTransition.DO_NOTHING)); // CraftBukkit - moved up +- // entity.changeDimension(new DimensionTransition(worldserver, this.position(), entity.getDeltaMovement(), entity.getYRot(), entity.getXRot(), DimensionTransition.DO_NOTHING)); // CraftBukkit - moved up - entity.resetFallDistance(); -+ //entity.resetFallDistance(); // Cartridge entityplayer.resetCurrentImpulseContext(); - entity.hurt(this.damageSources().fall().customEventDamager(this), 5.0F); // CraftBukkit // Paper - fix DamageSource API +- entity.hurt(this.damageSources().fall().customEventDamager(this), 5.0F); // CraftBukkit // Paper - fix DamageSource API ++ // Cartridge start - Make Ender Pearls increase fall-damage ++ // entity.changeDimension(new DimensionTransition(worldserver, this.position(), entity.getDeltaMovement(), entity.getYRot(), entity.getXRot(), DimensionTransition.DO_NOTHING)); // CraftBukkit - moved up ++ //entity.resetFallDistance(); ++ entityplayer.fallDistance += Math.max((float) (originalY - this.getY()), 0f); ++ entityplayer.causeFallDamage(entityplayer.fallDistance, 1.0f, this.damageSources().fall().customEventDamager(this)); ++ // Cartridge end this.playSound(worldserver, this.position()); } } else { @@ -520,15 +534,16 @@ index 907f751c859855484151fb5d607acee2f2a35076..5675618a47c6b67f7dcd036f3b7b2f0a } diff --git a/src/main/java/net/minecraft/world/item/ChorusFruitItem.java b/src/main/java/net/minecraft/world/item/ChorusFruitItem.java -index 9f59f63203807abc3802d3e2f060d90d0d754860..04210a913927d864e697775906422de7ecddb43d 100644 +index 9f59f63203807abc3802d3e2f060d90d0d754860..f0d1b05b176b4b799455ab5edfb4964fb39712b8 100644 --- a/src/main/java/net/minecraft/world/item/ChorusFruitItem.java +++ b/src/main/java/net/minecraft/world/item/ChorusFruitItem.java -@@ -59,7 +59,7 @@ public class ChorusFruitItem extends Item { +@@ -59,7 +59,8 @@ public class ChorusFruitItem extends Item { } world.playSound((Player) null, user.getX(), user.getY(), user.getZ(), soundeffect, soundcategory); - user.resetFallDistance(); + //user.resetFallDistance(); // Cartridge ++ user.fallDistance += (float) (vec3d.y - user.getY()); // Cartridge break; } } diff --git a/patches/server/0004-Enchantment-tweaks.patch b/patches/server/0004-Enchantment-tweaks.patch new file mode 100644 index 0000000..082c868 --- /dev/null +++ b/patches/server/0004-Enchantment-tweaks.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Boy +Date: Mon, 17 Jun 2024 12:54:41 +0200 +Subject: [PATCH] Enchantment tweaks + + +diff --git a/src/main/java/net/minecraft/data/tags/VanillaEnchantmentTagsProvider.java b/src/main/java/net/minecraft/data/tags/VanillaEnchantmentTagsProvider.java +index bf112d49c13b126464401014ebbec0afd65c5034..6ce88860056d6abefc8f4e0b54d553577c618435 100644 +--- a/src/main/java/net/minecraft/data/tags/VanillaEnchantmentTagsProvider.java ++++ b/src/main/java/net/minecraft/data/tags/VanillaEnchantmentTagsProvider.java +@@ -84,7 +84,7 @@ public class VanillaEnchantmentTagsProvider extends EnchantmentTagsProvider { + .add( + Enchantments.PROTECTION, + Enchantments.FIRE_PROTECTION, +- Enchantments.FEATHER_FALLING, ++ //Enchantments.FEATHER_FALLING, // Cartridge - Remove Feather Falling + Enchantments.BLAST_PROTECTION, + Enchantments.PROJECTILE_PROTECTION, + Enchantments.RESPIRATION, +diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +index 07223046761cb2186d75de8edc03a91d2e8e8b2f..99ee75309bb14e11a188adba1f4e952219d95f06 100644 +--- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java ++++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +@@ -4,6 +4,8 @@ import com.mojang.datafixers.util.Pair; + import java.util.Iterator; + import java.util.List; + import java.util.Optional; ++ ++import io.papermc.paper.registry.keys.tags.EnchantmentTagKeys; + import net.minecraft.Util; + import net.minecraft.advancements.CriteriaTriggers; + import net.minecraft.core.BlockPos; +@@ -17,6 +19,7 @@ import net.minecraft.server.level.ServerPlayer; + import net.minecraft.sounds.SoundEvents; + import net.minecraft.sounds.SoundSource; + import net.minecraft.stats.Stats; ++import net.minecraft.tags.BlockTags; + import net.minecraft.tags.EnchantmentTags; + import net.minecraft.util.RandomSource; + import net.minecraft.world.Container;