diff --git a/nms-patches/ItemTrident.patch b/nms-patches/ItemTrident.patch new file mode 100644 index 0000000000..7de03dd633 --- /dev/null +++ b/nms-patches/ItemTrident.patch @@ -0,0 +1,27 @@ +--- a/net/minecraft/server/ItemTrident.java ++++ b/net/minecraft/server/ItemTrident.java +@@ -6,9 +6,13 @@ + + public ItemTrident(Item.Info item_info) { + super(item_info); ++ // CraftBukkit start - obfuscator went a little crazy ++ /* + this.a(new MinecraftKey("throwing"), (itemstack, world, entityliving) -> { + return entityliving != null && entityliving.isHandRaised() && entityliving.cW() == itemstack ? 1.0F : 0.0F; + }); ++ */ ++ // CraftBukkit end + } + + public boolean a(IBlockData iblockdata, World world, BlockPosition blockposition, EntityHuman entityhuman) { +@@ -53,6 +57,10 @@ + SoundEffect soundeffect = SoundEffects.ITEM_TRIDENT_THROW; + + if (k > 0) { ++ // CraftBukkit start ++ org.bukkit.event.player.PlayerRiptideEvent event = new org.bukkit.event.player.PlayerRiptideEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack)); ++ event.getPlayer().getServer().getPluginManager().callEvent(event); ++ // CraftBukkit end + float f = entityhuman.yaw; + float f1 = entityhuman.pitch; + float f2 = -MathHelper.sin(f * 0.017453292F) * MathHelper.cos(f1 * 0.017453292F); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index ae402a2bf4..0a3733b2fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -478,6 +478,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { getHandle().setSwimming(swimming); } + @Override + public boolean isRiptiding() { + return getHandle().cO(); + } + @Override public AttributeInstance getAttribute(Attribute attribute) { return getHandle().craftAttributes.getAttribute(attribute);