#1366: Expose riptide velocity to PlayerRiptideEvent

This commit is contained in:
2008Choco 2024-03-10 09:27:44 +11:00 committed by md_5
parent 29b6bb79bf
commit 45c2608e4d
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
2 changed files with 15 additions and 10 deletions

View File

@ -13,7 +13,7 @@
if (k == 0) { if (k == 0) {
EntityThrownTrident entitythrowntrident = new EntityThrownTrident(world, entityhuman, itemstack); EntityThrownTrident entitythrowntrident = new EntityThrownTrident(world, entityhuman, itemstack);
@@ -79,16 +82,39 @@ @@ -79,11 +82,30 @@
entitythrowntrident.pickup = EntityArrow.PickupStatus.CREATIVE_ONLY; entitythrowntrident.pickup = EntityArrow.PickupStatus.CREATIVE_ONLY;
} }
@ -45,12 +45,11 @@
} }
} }
entityhuman.awardStat(StatisticList.ITEM_USED.get(this)); @@ -100,6 +122,7 @@
if (k > 0) { f2 *= f6 / f5;
+ // CraftBukkit start f3 *= f6 / f5;
+ 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)); f4 *= f6 / f5;
+ event.getPlayer().getServer().getPluginManager().callEvent(event); + org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerRiptideEvent(entityhuman, itemstack, f2, f3, f4); // CraftBukkit
+ // CraftBukkit end entityhuman.push((double) f2, (double) f3, (double) f4);
float f = entityhuman.getYRot(); entityhuman.startAutoSpinAttack(20);
float f1 = entityhuman.getXRot(); if (entityhuman.onGround()) {
float f2 = -MathHelper.sin(f * 0.017453292F) * MathHelper.cos(f1 * 0.017453292F);

View File

@ -237,6 +237,7 @@ import org.bukkit.event.player.PlayerLevelChangeEvent;
import org.bukkit.event.player.PlayerRecipeBookClickEvent; import org.bukkit.event.player.PlayerRecipeBookClickEvent;
import org.bukkit.event.player.PlayerRecipeBookSettingsChangeEvent; import org.bukkit.event.player.PlayerRecipeBookSettingsChangeEvent;
import org.bukkit.event.player.PlayerRecipeDiscoverEvent; import org.bukkit.event.player.PlayerRecipeDiscoverEvent;
import org.bukkit.event.player.PlayerRiptideEvent;
import org.bukkit.event.player.PlayerShearEntityEvent; import org.bukkit.event.player.PlayerShearEntityEvent;
import org.bukkit.event.player.PlayerSignOpenEvent; import org.bukkit.event.player.PlayerSignOpenEvent;
import org.bukkit.event.player.PlayerStatisticIncrementEvent; import org.bukkit.event.player.PlayerStatisticIncrementEvent;
@ -1452,6 +1453,11 @@ public class CraftEventFactory {
return event; return event;
} }
public static void callPlayerRiptideEvent(EntityHuman player, ItemStack tridentItemStack, float velocityX, float velocityY, float velocityZ) {
PlayerRiptideEvent event = new PlayerRiptideEvent((Player) player.getBukkitEntity(), CraftItemStack.asCraftMirror(tridentItemStack), new Vector(velocityX, velocityY, velocityZ));
player.level().getCraftServer().getPluginManager().callEvent(event);
}
public static BlockShearEntityEvent callBlockShearEntityEvent(Entity animal, org.bukkit.block.Block dispenser, CraftItemStack is) { public static BlockShearEntityEvent callBlockShearEntityEvent(Entity animal, org.bukkit.block.Block dispenser, CraftItemStack is) {
BlockShearEntityEvent bse = new BlockShearEntityEvent(dispenser, animal.getBukkitEntity(), is); BlockShearEntityEvent bse = new BlockShearEntityEvent(dispenser, animal.getBukkitEntity(), is);
Bukkit.getPluginManager().callEvent(bse); Bukkit.getPluginManager().callEvent(bse);