Extract common interface Identifiable for things identified by a UUID, i.e. Entitys and OfflinePlayers.
Add ConnectedPlayer interface between OfflinePlayer and Player in the inheritance hiearchy, which adds a field for IP address. Use this to carry info in pre-login events.
Add Event#getInvolved() that returns a list of all Identifiables involved in the event.
This seems like a better approach than EntityAction and PlayerAction, and we may remove that patch if this one serves our needs.
Identifiable
for things identified by aUUID
, i.e.Entity
s andOfflinePlayer
s.ConnectedPlayer
interface betweenOfflinePlayer
andPlayer
in the inheritance hiearchy, which adds a field for IP address. Use this to carry info in pre-login events.Event#getInvolved()
that returns a list of allIdentifiable
s involved in the event.This seems like a better approach than
EntityAction
andPlayerAction
, and we may remove that patch if this one serves our needs.