@Inject(at = @At("TAIL"), method = "copyFrom")
    private void luckperms$copyFrom(ServerPlayerEntity oldPlayer, boolean alive, CallbackInfo ci) {
        MixinUser oldMixin = (MixinUser) oldPlayer;
        luckperms$initializePermissions(oldMixin.luckperms$getUser());
    }
Hold a QueryOptionsCache instance on the player itself, so we can just cast instead of
having to maintain a map of Player->Cache.
fabric/src/main/java/me/lucko/luckperms/fabric/mixin/ServerPlayerEntityMixin.java