The type of the property
Signal that fires when the property changes. Should only be used on the client since the server does not listen for changes.
Readonly
classClass name of the packet, used for debugging purposes.
Optional
perMap of player to their property value
SignalPacket used to send the property
Clears the value of the property for players that pass the predicate. Should only be used on the server.
The predicate to filter players
Clears the value of the property. This will clear the perPlayer map and fire the signal to all players. Should only be used on the server.
Clears the value of the property for a list of players. Should only be used on the server.
The list of players to clear the value for
Cleans up any resources used by the packet.
Returns the current value of the property.
Optional
player: PlayerThe player to get the value for. Does nothing on the client.
The current value of the property
Observes the property for changes. Unlike changed, this will fire the handler immediately if the value is already set. Else, it will wait for the value to be set and then fire the handler.
The handler to call when the property changes
A connection that can be disconnected to stop observing the property
Sets the value of the property. This will clear the perPlayer map and fire the signal to all players. Should only be used on the server.
The new value of the property
Sets the value of the property for players that pass the predicate. Should only be used on the server.
The predicate to filter players
The new value of the property
Sets the value of the property for a specific player. Should only be used on the server.
The player to set the value for
The new value of the property
Sets the value of the property for a list of players. Should only be used on the server.
The list of players to set the value for
The new value of the property
Sets the value of the property for players that do not have a value set. Should only be used on the server.
The new value of the property
PropertyPacket is a wrapper around SignalPacket that provides a type-safe way to send data between server and client. This implements a property system where the value can be set for all players, a specific player, or a filtered list of players.