Interface IPlayerExtension
- All Known Implementing Classes:
AbstractClientPlayer,FakePlayer,LocalPlayer,Player,RemotePlayer,ServerPlayer
public interface IPlayerExtension
-
Method Summary
Modifier and TypeMethodDescriptiondefault booleanisCloseEnough(Entity entity, double dist) Utility check to see if the player is close enough to a target entity.default booleanReturns whether this player is a fake player, such asFakePlayer.default booleanmayFly()Determine whether a player is allowed creative flight via game mode or attribute.default OptionalIntopenMenu(MenuProvider menuProvider, Consumer<RegistryFriendlyByteBuf> extraDataWriter) Request to open a GUI on the client, from the serverdefault OptionalIntopenMenu(MenuProvider menuProvider, BlockPos pos) Request to open a GUI on the client, from the serverprivate Playerself()
-
Method Details
-
self
-
isCloseEnough
Utility check to see if the player is close enough to a target entity. Uses "eye-to-closest-corner" checks.- Parameters:
entity- The entity being checked againstdist- The max distance allowed- Returns:
- If the eye-to-center distance between this player and the passed entity is less than dist.
-
openMenu
Request to open a GUI on the client, from the serverRefer to
IMenuTypeExtension.create(IContainerFactory)for creating aMenuTypethat can consume the extra data sent to the client by this method.Use
FriendlyByteBuf.readBlockPos()to read the position you pass to this method.- Parameters:
menuProvider- A supplier of container properties including the registry name of the containerpos- A block pos, which will be encoded into the additional data for this request, after data written byIMenuProviderExtension.writeClientSideData(AbstractContainerMenu, RegistryFriendlyByteBuf).
-
openMenu
default OptionalInt openMenu(MenuProvider menuProvider, Consumer<RegistryFriendlyByteBuf> extraDataWriter) Request to open a GUI on the client, from the serverRefer to
IMenuTypeExtension.create(IContainerFactory)for creating aMenuTypethat can consume the extra data sent to the client by this method.The maximum size for #extraDataWriter is 32600 bytes.
- Parameters:
menuProvider- A supplier of container properties including the registry name of the containerextraDataWriter- Consumer to write any additional data the GUI needs. This data is written afterIMenuProviderExtension.writeClientSideData(AbstractContainerMenu, RegistryFriendlyByteBuf).- Returns:
- The window ID of the opened GUI, or empty if the GUI could not be opened
-
mayFly
default boolean mayFly()Determine whether a player is allowed creative flight via game mode or attribute.Modders are discouraged from setting
Abilities.mayflydirectly.- Returns:
- true when creative flight is available
- See Also:
-
isFakePlayer
default boolean isFakePlayer()Returns whether this player is a fake player, such asFakePlayer.- Returns:
- whether this player is a fake player, such as
FakePlayer
-