Class PlayerInteractEvent
- java.lang.Object
-
- net.minecraftforge.eventbus.api.Event
-
- net.minecraftforge.event.entity.EntityEvent
-
- net.minecraftforge.event.entity.living.LivingEvent
-
- net.minecraftforge.event.entity.player.PlayerEvent
-
- net.minecraftforge.event.entity.player.PlayerInteractEvent
-
- Direct Known Subclasses:
PlayerInteractEvent.EntityInteract
,PlayerInteractEvent.EntityInteractSpecific
,PlayerInteractEvent.LeftClickBlock
,PlayerInteractEvent.LeftClickEmpty
,PlayerInteractEvent.RightClickBlock
,PlayerInteractEvent.RightClickEmpty
,PlayerInteractEvent.RightClickItem
public class PlayerInteractEvent extends PlayerEvent
PlayerInteractEvent is fired when a player interacts in some way. All subclasses are fired onMinecraftForge.EVENT_BUS
. See the individual documentation on each subevent for more details.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PlayerInteractEvent.EntityInteract
This event is fired on both sides when the player right clicks an entity.static class
PlayerInteractEvent.EntityInteractSpecific
This event is fired on both sides whenever a player right clicks an entity.static class
PlayerInteractEvent.LeftClickBlock
This event is fired when a player left clicks while targeting a block.static class
PlayerInteractEvent.LeftClickEmpty
This event is fired on the client side when the player left clicks empty space with any ItemStack.static class
PlayerInteractEvent.RightClickBlock
This event is fired on both sides whenever the player right clicks while targeting a block.static class
PlayerInteractEvent.RightClickEmpty
This event is fired on the client side when the player right clicks empty space with an empty hand.static class
PlayerInteractEvent.RightClickItem
This event is fired on both sides before the player triggersnet.minecraft.item.Item#onItemRightClick
.-
Nested classes/interfaces inherited from class net.minecraftforge.event.entity.player.PlayerEvent
PlayerEvent.BreakSpeed, PlayerEvent.Clone, PlayerEvent.HarvestCheck, PlayerEvent.ItemCraftedEvent, PlayerEvent.ItemPickupEvent, PlayerEvent.ItemSmeltedEvent, PlayerEvent.LoadFromFile, PlayerEvent.NameFormat, PlayerEvent.PlayerChangedDimensionEvent, PlayerEvent.PlayerChangeGameModeEvent, PlayerEvent.PlayerLoggedInEvent, PlayerEvent.PlayerLoggedOutEvent, PlayerEvent.PlayerRespawnEvent, PlayerEvent.SaveToFile, PlayerEvent.StartTracking, PlayerEvent.StopTracking, PlayerEvent.TabListNameFormat, PlayerEvent.Visibility
-
Nested classes/interfaces inherited from class net.minecraftforge.event.entity.living.LivingEvent
LivingEvent.LivingJumpEvent, LivingEvent.LivingUpdateEvent, LivingEvent.LivingVisibilityEvent
-
Nested classes/interfaces inherited from class net.minecraftforge.event.entity.EntityEvent
EntityEvent.CanUpdate, EntityEvent.EnteringChunk, EntityEvent.EntityConstructing, EntityEvent.Size
-
-
Field Summary
Fields Modifier and Type Field Description private ActionResultType
cancellationResult
private Direction
face
private Hand
hand
private BlockPos
pos
-
Constructor Summary
Constructors Modifier Constructor Description private
PlayerInteractEvent(PlayerEntity player, Hand hand, BlockPos pos, Direction face)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ActionResultType
getCancellationResult()
Direction
getFace()
Hand
getHand()
ItemStack
getItemStack()
BlockPos
getPos()
If the interaction was on an entity, will be a BlockPos centered on the entity.LogicalSide
getSide()
World
getWorld()
void
setCancellationResult(ActionResultType result)
Set the EnumActionResult that will be returned to vanilla if the event is cancelled, instead of calling the relevant method of the event.-
Methods inherited from class net.minecraftforge.event.entity.player.PlayerEvent
getPlayer
-
Methods inherited from class net.minecraftforge.event.entity.living.LivingEvent
getEntityLiving
-
Methods inherited from class net.minecraftforge.event.entity.EntityEvent
getEntity
-
-
-
-
Field Detail
-
hand
private final Hand hand
-
pos
private final BlockPos pos
-
face
@Nullable private final Direction face
-
cancellationResult
private ActionResultType cancellationResult
-
-
Constructor Detail
-
PlayerInteractEvent
private PlayerInteractEvent(PlayerEntity player, Hand hand, BlockPos pos, @Nullable Direction face)
-
-
Method Detail
-
getHand
@Nonnull public Hand getHand()
- Returns:
- The hand involved in this interaction. Will never be null.
-
getItemStack
@Nonnull public ItemStack getItemStack()
- Returns:
- The itemstack involved in this interaction,
ItemStack.EMPTY
if the hand was empty.
-
getPos
@Nonnull public BlockPos getPos()
If the interaction was on an entity, will be a BlockPos centered on the entity. If the interaction was on a block, will be the position of that block. Otherwise, will be a BlockPos centered on the player. Will never be null.- Returns:
- The position involved in this interaction.
-
getFace
@Nullable public Direction getFace()
- Returns:
- The face involved in this interaction. For all non-block interactions, this will return null.
-
getWorld
public World getWorld()
- Returns:
- Convenience method to get the world of this interaction.
-
getSide
public LogicalSide getSide()
- Returns:
- The effective, i.e. logical, side of this interaction. This will be
LogicalSide.CLIENT
on the client thread, andLogicalSide.SERVER
on the server thread.
-
getCancellationResult
public ActionResultType getCancellationResult()
- Returns:
- The EnumActionResult that will be returned to vanilla if the event is cancelled, instead of calling the relevant
method of the event. By default, this is
EnumActionResult#PASS
, meaning cancelled events will cause the client to keep trying more interactions until something works.
-
setCancellationResult
public void setCancellationResult(ActionResultType result)
Set the EnumActionResult that will be returned to vanilla if the event is cancelled, instead of calling the relevant method of the event. Note that this only has an effect onPlayerInteractEvent.RightClickBlock
,PlayerInteractEvent.RightClickItem
,PlayerInteractEvent.EntityInteract
, andPlayerInteractEvent.EntityInteractSpecific
.
-
-