Class LecternInfo
java.lang.Object
com.hammy275.immersivemc.client.immersive.info.LecternInfo
- All Implemented Interfaces:
ImmersiveInfo,WrittenBookDataHolder
-
Field Summary
FieldsModifier and TypeFieldDescriptionbooleanintlong -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionList<? extends HitboxInfo> net.minecraft.core.BlockPosGets the block position of the block this ImmersiveInfo represents.net.minecraft.world.item.ItemStackgetBook()getData()intgetSlotHovered(int handIndex) longbooleanWhether this ImmersiveInfo contains valid hitboxes that are ready for use by users in-game.voidonPageChangeStyleClick(int newPage) Run when the page changes from a style click.voidsetBook(net.minecraft.world.item.ItemStack book) voidsetSlotHovered(int hitboxIndex, int handIndex) A notification to mark the given slot as hovered by the given hand index.
-
Field Details
-
lecternData
-
tickCount
public long tickCount -
light
public int light -
didClick
public boolean didClick
-
-
Constructor Details
-
LecternInfo
public LecternInfo(net.minecraft.core.BlockPos pos)
-
-
Method Details
-
setBook
public void setBook(net.minecraft.world.item.ItemStack book) -
getAllHitboxes
- Specified by:
getAllHitboxesin interfaceImmersiveInfo- Returns:
- The list of all hitboxes this Immersive uses. This can contain null elements, and can return an immutable list implementation if desired.
-
hasHitboxes
public boolean hasHitboxes()Description copied from interface:ImmersiveInfoWhether this ImmersiveInfo contains valid hitboxes that are ready for use by users in-game.ImmersiveInfo.getAllHitboxes()will not be called if this method returns false for a given tick.- Specified by:
hasHitboxesin interfaceImmersiveInfo- Returns:
- Whether
ImmersiveInfo.getAllHitboxes()can be safely called and contains expected data.
-
getBlockPosition
public net.minecraft.core.BlockPos getBlockPosition()Description copied from interface:ImmersiveInfoGets the block position of the block this ImmersiveInfo represents. This function should always return the same value for an individual ImmersiveInfo instance, and this function may be called after the block at this position no longer matches the Immersive it represents.
For example, if this ImmersiveInfo was used to represent a furnace that was initially placed at x=1, y=2, and z=3, this function should always return the position x=1, y=2, and z=3, even after the furnace is destroyed or replaced by some other block.- Specified by:
getBlockPositionin interfaceImmersiveInfo- Returns:
- The position of the block this ImmersiveInfo represents.
-
setSlotHovered
public void setSlotHovered(int hitboxIndex, int handIndex) Description copied from interface:ImmersiveInfoA notification to mark the given slot as hovered by the given hand index.- Specified by:
setSlotHoveredin interfaceImmersiveInfo- Parameters:
hitboxIndex- The index intoImmersiveInfo.getAllHitboxes()to mark as hovered, or -1 to indicate no slot is hovered by this hand.handIndex- 0 for the primary hand (primary controller in VR or the player hand in non-VR), and 1 for the secondary hand (secondary controller in VR, or nothing in non-VR).
-
getSlotHovered
public int getSlotHovered(int handIndex) - Specified by:
getSlotHoveredin interfaceImmersiveInfo- Parameters:
handIndex- The hand that is checking for a hovered hitbox.- Returns:
- The hitbox the handIndex is hovering, or -1 if it isn't hovering any slot.
-
getTicksExisted
public long getTicksExisted()- Specified by:
getTicksExistedin interfaceImmersiveInfo- Returns:
- The number of ticks this info has existed for.
-
getData
- Specified by:
getDatain interfaceWrittenBookDataHolder- Returns:
- The book data this object is holding.
-
getBook
public net.minecraft.world.item.ItemStack getBook()- Specified by:
getBookin interfaceWrittenBookDataHolder- Returns:
- The book this object is holding.
-
onPageChangeStyleClick
public void onPageChangeStyleClick(int newPage) Description copied from interface:WrittenBookDataHolderRun when the page changes from a style click.- Specified by:
onPageChangeStyleClickin interfaceWrittenBookDataHolder- Parameters:
newPage- The page being changed to.
-