Interface ImmersiveClientLogicHelpers
- All Superinterfaces:
ImmersiveLogicHelpers
- All Known Implementing Classes:
ImmersiveClientLogicHelpersImpl
ImmersiveLogicHelpers, but the player is always assumed to be the local player, and the world/level is
the one that player occupies. This also contains methods not found in ImmersiveLogicHelpers, as they
should only run on the client.-
Method Summary
Modifier and TypeMethodDescriptiondefault net.minecraft.core.DirectiongetHorizontalBlockForward(net.minecraft.core.BlockPos blockPos) Given the local player and the position of an immersive block, returns the best direction the block should face to be looking towards the player.intGet the intended light level to render with given several positions.intgetLight(net.minecraft.core.BlockPos pos) Get the intended light level to render with at the given position as packed sky light and block light.static ImmersiveClientLogicHelpersinstance()voidsendSwapPacket(net.minecraft.core.BlockPos pos, List<Integer> slots, net.minecraft.world.InteractionHand hand, boolean modifierPressed) Sends the packet to the server telling it to runImmersiveHandler.swap(int, InteractionHand, BlockPos, ServerPlayer, ItemSwapAmount)for the provided block at the given position.voidsetCooldown(int cooldown) Sets both the vanilla, right-click cooldown and ImmersiveMC's VR cooldown for interacting with Immersives (if the player is in VR) to some number of ticks.Methods inherited from interface ImmersiveLogicHelpers
getHorizontalBlockForward, getVerticesOfAABB, swapItems, swapItems, swapItemsWithOutput
-
Method Details
-
instance
- Returns:
- An ImmersiveClientLogicHelpers instance to access API functions. All details of this object not mentioned in this file are assumed to be an implementation detail, and may change at any time.
-
setCooldown
void setCooldown(int cooldown) Sets both the vanilla, right-click cooldown and ImmersiveMC's VR cooldown for interacting with Immersives (if the player is in VR) to some number of ticks. You likely don't need this, as the value returned fromImmersive.handleHitboxInteract(ImmersiveInfo, LocalPlayer, List, InteractionHand, boolean)is set as the cooldown where appropriate. This is mainly useful if you're working outside of ImmersiveMC's hitbox system.- Parameters:
cooldown- The cooldown to set in ticks. This will be increased for VR players, see the aforementioned method for more info.
-
sendSwapPacket
void sendSwapPacket(net.minecraft.core.BlockPos pos, List<Integer> slots, net.minecraft.world.InteractionHand hand, boolean modifierPressed) Sends the packet to the server telling it to runImmersiveHandler.swap(int, InteractionHand, BlockPos, ServerPlayer, ItemSwapAmount)for the provided block at the given position. You usually should call this when a hitbox is right-clicked in your Immersive.- Parameters:
pos- The position of the block that a swap is being performed at.slots- The slot numbers that the right-click is taking place for.hand- The hand which is performing the swap.modifierPressed- Whether the modifier key (usually the button mapped to breaking blocks) was held for the interaction.
-
getHorizontalBlockForward
default net.minecraft.core.Direction getHorizontalBlockForward(net.minecraft.core.BlockPos blockPos) Given the local player and the position of an immersive block, returns the best direction the block should face to be looking towards the player. This is most commonly used for blocks like the crafting table which don't face a direction to come up with a good estimation. This method will always return NORTH, EAST, SOUTH, or WEST.- Parameters:
blockPos- The block to determine the facing direction of.- Returns:
- A direction the block is facing, excluding UP and DOWN.
-
getLight
int getLight(net.minecraft.core.BlockPos pos) Get the intended light level to render with at the given position as packed sky light and block light. This may not necessarily return the actual light level at the given block, though it should be treated as such.- Parameters:
pos- The position to get the intended light level for rendering at.- Returns:
- The intended light level for rendering.
-
getLight
Get the intended light level to render with given several positions. The value returned is a packed sky light and block light, and intentionally may not necessarily return data consistent with all the positions, though should be treated as such.- Parameters:
positions- The positions to get the intended light rendering for.- Returns:
- The intended light level for rendering.
-