Record Class UpdateRequirementsPacket

java.lang.Object
java.lang.Record
dev.jorel.commandapi.network.packets.UpdateRequirementsPacket
All Implemented Interfaces:
CommandAPIPacket

public record UpdateRequirementsPacket() extends Record implements CommandAPIPacket
A packet that signals a client wants to be sent the Commands packet. This packet is only intended to be sent in the Client to Server direction.

This packet does not contain any data. The receiver should simply update the requirements for the client the packet came from.

When the Commands packet is resent, Brigadier reevaluates if that player is able to run each command. If the conditions tested by ArgumentBuilder.requires(Predicate) have changed, the client is informed of those changes, updating what they know about their requirements.

  • Constructor Details

    • UpdateRequirementsPacket

      public UpdateRequirementsPacket()
      Creates an instance of a UpdateRequirementsPacket record class.
  • Method Details

    • deserialize

      public static UpdateRequirementsPacket deserialize(FriendlyByteBuffer ignored)
      Reads the bytes from the given FriendlyByteBuffer to create a new UpdateRequirementsPacket.
      Parameters:
      ignored - This packet has no data, so nothing is read.
      Returns:
      The UpdateRequirementsPacket sent to this plugin.
    • write

      public void write(FriendlyByteBuffer buffer, Object target, int protocolVersion) throws ProtocolVersionTooOldException
      Description copied from interface: CommandAPIPacket
      Writes the data of this packet to a FriendlyByteBuffer.
      Specified by:
      write in interface CommandAPIPacket
      Parameters:
      buffer - The byte buffer to write to.
      target - The OutputChannel this packet is being sent to.
      protocolVersion - The CommandAPIProtocol.PROTOCOL_VERSION of the CommandAPI instance this packet is being sent to. Implementations of this method should make sure not to send any data the receiving instance can not understand. If this packet simply cannot be sent to the receiving version, it is appropriate to throw an ProtocolVersionTooOldException.
      Throws:
      ProtocolVersionTooOldException - if this packet cannot be sent to the receiving protocol version.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.