Hey, I have no idea if this is viable or not (I’m still learning), but this should work:
@Subscribe
public void onSignChange (SignChangeEvent event) {
Object o = event.getCause().get().getCause();
Player p = (Player) o;
p.sendMessage(Texts.of("hi"));
}