Class InteractionContext

java.lang.Object
com.pixelmonmod.pixelmon.api.npc.interaction.context.InteractionContext

public class InteractionContext extends Object
Interaction context is the information that will be passed down the control logic of the NPC interaction handling as it checks against conditions, and then goes on to execute additional functions.
  • Method Details

    • of

      public static InteractionContext of()
      Gets an instance of a new Interaction context
      Returns:
      new interaction context
    • of

      public static <A> InteractionContext of(ContextKey<A> key, A value)
      Gets an instance of a mew Interaction context with the key and value set already
      Returns:
      new interaction context
    • setContext

      public <A> InteractionContext setContext(ContextKey<A> key, @Nullable A value)
      Sets the context key with the given value
      Type Parameters:
      A - The type of the key and value
      Parameters:
      key - The key
      value - The value being set
      Returns:
      The context instance
    • withPlayer

      public InteractionContext withPlayer(net.minecraft.server.level.ServerPlayer player)
      Adds the generic contexts for the player
      Parameters:
      player - The player for adding the generic contexts
      Returns:
      The context instance
    • getContext

      public <A> Optional<A> getContext(ContextKey<A> key)
      Gets the value stored by a given context key for this interaction context
      Type Parameters:
      A - The type of the key and value
      Parameters:
      key - The key to check for
      Returns:
      The potential value stored
    • getNullableContext

      @Nullable public <A> A getNullableContext(ContextKey<A> key)
      Gets the value stored by a given context key for this interaction context
      Type Parameters:
      A - The type of the key and value
      Parameters:
      key - The key to check for
      Returns:
      The potential value stored
    • hasContext

      public boolean hasContext(net.minecraft.resources.ResourceLocation key)
      Checks if the context has the given key
      Parameters:
      key - The key to check for
      Returns:
      If the context has the key
    • hasContext

      public boolean hasContext(ContextKey<?> key)
      Checks if the context has the given key
      Parameters:
      key - The key to check for
      Returns:
      If the context has the key
    • getContextType

      @Nullable public Class<?> getContextType(net.minecraft.resources.ResourceLocation key)
      Gets the type of the context stored by the given key
      This will return null if the key is not found in the context
      Parameters:
      key - The key to check for
      Returns:
      The type of the context key
    • replace

      public String replace(String originalText)
      Handles the replacement of the placeholders in the text
      Parameters:
      originalText - The text to replace
      Returns:
      The text with the placeholders replaced