mirror of
https://github.com/lucko/LuckPerms.git
synced 2025-09-09 13:50:52 +02:00
Retain cause node information for cached permission/meta data (#3250)
This commit is contained in:
@@ -69,7 +69,7 @@ public class FabricCalculatorFactory implements CalculatorFactory {
|
||||
|
||||
boolean integratedOwner = queryOptions.option(FabricContextManager.INTEGRATED_SERVER_OWNER).orElse(false);
|
||||
if (integratedOwner && this.plugin.getConfiguration().get(ConfigKeys.FABRIC_INTEGRATED_SERVER_OWNER_BYPASSES_CHECKS)) {
|
||||
processors.add(new ServerOwnerProcessor());
|
||||
processors.add(ServerOwnerProcessor.INSTANCE);
|
||||
}
|
||||
|
||||
return new PermissionCalculator(this.plugin, metadata, processors);
|
||||
|
@@ -25,8 +25,9 @@
|
||||
|
||||
package me.lucko.luckperms.fabric.calculator;
|
||||
|
||||
import me.lucko.luckperms.common.cacheddata.result.TristateResult;
|
||||
import me.lucko.luckperms.common.calculator.processor.AbstractPermissionProcessor;
|
||||
import me.lucko.luckperms.common.calculator.result.TristateResult;
|
||||
import me.lucko.luckperms.common.calculator.processor.PermissionProcessor;
|
||||
|
||||
import net.luckperms.api.util.Tristate;
|
||||
|
||||
@@ -34,9 +35,15 @@ import net.luckperms.api.util.Tristate;
|
||||
* Permission processor which is added to the owner of an Integrated server to
|
||||
* simply return true if no other processors match.
|
||||
*/
|
||||
public class ServerOwnerProcessor extends AbstractPermissionProcessor {
|
||||
public class ServerOwnerProcessor extends AbstractPermissionProcessor implements PermissionProcessor {
|
||||
private static final TristateResult TRUE_RESULT = new TristateResult.Factory(ServerOwnerProcessor.class).result(Tristate.TRUE);
|
||||
|
||||
public static final ServerOwnerProcessor INSTANCE = new ServerOwnerProcessor();
|
||||
|
||||
private ServerOwnerProcessor() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public TristateResult hasPermission(String permission) {
|
||||
return TRUE_RESULT;
|
||||
|
@@ -26,10 +26,10 @@
|
||||
package me.lucko.luckperms.fabric.listeners;
|
||||
|
||||
import me.lucko.fabric.api.permissions.v0.PermissionCheckEvent;
|
||||
import me.lucko.luckperms.common.calculator.result.TristateResult;
|
||||
import me.lucko.luckperms.common.cacheddata.result.TristateResult;
|
||||
import me.lucko.luckperms.common.query.QueryOptionsImpl;
|
||||
import me.lucko.luckperms.common.verbose.VerboseCheckTarget;
|
||||
import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent.Origin;
|
||||
import me.lucko.luckperms.common.verbose.event.CheckOrigin;
|
||||
import me.lucko.luckperms.fabric.LPFabricPlugin;
|
||||
import me.lucko.luckperms.fabric.model.MixinUser;
|
||||
|
||||
@@ -83,7 +83,7 @@ public class PermissionCheckListener {
|
||||
String name = ((ServerCommandSource) source).getName();
|
||||
VerboseCheckTarget target = VerboseCheckTarget.internal(name);
|
||||
|
||||
this.plugin.getVerboseHandler().offerPermissionCheckEvent(Origin.PLATFORM_PERMISSION_CHECK, target, QueryOptionsImpl.DEFAULT_CONTEXTUAL, permission, TristateResult.UNDEFINED);
|
||||
this.plugin.getVerboseHandler().offerPermissionCheckEvent(CheckOrigin.PLATFORM_API_HAS_PERMISSION, target, QueryOptionsImpl.DEFAULT_CONTEXTUAL, permission, TristateResult.UNDEFINED);
|
||||
this.plugin.getPermissionRegistry().offer(permission);
|
||||
}
|
||||
|
||||
|
@@ -29,7 +29,7 @@ import me.lucko.luckperms.common.cacheddata.type.PermissionCache;
|
||||
import me.lucko.luckperms.common.context.manager.QueryOptionsCache;
|
||||
import me.lucko.luckperms.common.locale.TranslationManager;
|
||||
import me.lucko.luckperms.common.model.User;
|
||||
import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent;
|
||||
import me.lucko.luckperms.common.verbose.event.CheckOrigin;
|
||||
import me.lucko.luckperms.fabric.context.FabricContextManager;
|
||||
import me.lucko.luckperms.fabric.event.PlayerChangeWorldCallback;
|
||||
import me.lucko.luckperms.fabric.model.MixinUser;
|
||||
@@ -133,7 +133,7 @@ public abstract class ServerPlayerEntityMixin implements MixinUser {
|
||||
}
|
||||
|
||||
PermissionCache data = user.getCachedData().getPermissionData(queryOptions);
|
||||
return data.checkPermission(permission, PermissionCheckEvent.Origin.PLATFORM_PERMISSION_CHECK).result();
|
||||
return data.checkPermission(permission, CheckOrigin.PLATFORM_API_HAS_PERMISSION).result();
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user