diff --git a/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java b/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java index 1ceb0728f3..be7c3655d3 100644 --- a/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java @@ -38,7 +38,7 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, Inv public Inventory getEnderChest(); /** - * Gets the players selected main hand + * Gets the player's selected main hand * * @return the players main hand */ diff --git a/paper-api/src/main/java/org/bukkit/event/player/PlayerChangedMainHandEvent.java b/paper-api/src/main/java/org/bukkit/event/player/PlayerChangedMainHandEvent.java new file mode 100644 index 0000000000..2a154462ba --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/event/player/PlayerChangedMainHandEvent.java @@ -0,0 +1,39 @@ +package org.bukkit.event.player; + +import org.bukkit.entity.Player; +import org.bukkit.event.HandlerList; +import org.bukkit.inventory.MainHand; + +/** + * Called when a player changes their main hand in the client settings. + */ +public class PlayerChangedMainHandEvent extends PlayerEvent { + + private static final HandlerList handlers = new HandlerList(); + // + private final MainHand mainHand; + + public PlayerChangedMainHandEvent(Player who, MainHand mainHand) { + super(who); + this.mainHand = mainHand; + } + + /** + * Gets the new main hand of the player. The old hand is still momentarily + * available via {@link Player#getMainHand()}. + * + * @return the new {@link MainHand} of the player + */ + public MainHand getMainHand() { + return mainHand; + } + + @Override + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } +}