split event from actual implementation
This commit is contained in:
parent
ccec7937ee
commit
c205f5e133
@ -8,7 +8,6 @@ import com.google.gson.JsonObject;
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import io.github.flemmli97.flan.Flan;
|
||||
import io.github.flemmli97.flan.api.ClaimPermission;
|
||||
import io.github.flemmli97.flan.api.ClaimPermissionEvent;
|
||||
import io.github.flemmli97.flan.api.PermissionRegistry;
|
||||
import io.github.flemmli97.flan.config.Config;
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
@ -198,7 +197,7 @@ public class Claim implements IPermissionContainer {
|
||||
|
||||
@Override
|
||||
public boolean canInteract(ServerPlayerEntity player, ClaimPermission perm, BlockPos pos, boolean message) {
|
||||
ActionResult res = ClaimPermissionEvent.check(player, perm, pos);
|
||||
ActionResult res = ClaimPermissionCheck.check(player, perm, pos);
|
||||
if (res != ActionResult.PASS)
|
||||
return res != ActionResult.FAIL;
|
||||
if (perm != null) {
|
||||
|
@ -1,11 +1,12 @@
|
||||
package io.github.flemmli97.flan.api;
|
||||
package io.github.flemmli97.flan.claim;
|
||||
|
||||
import io.github.flemmli97.flan.api.ClaimPermission;
|
||||
import me.shedaniel.architectury.annotations.ExpectPlatform;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class ClaimPermissionEvent {
|
||||
public class ClaimPermissionCheck {
|
||||
|
||||
@ExpectPlatform
|
||||
public static ActionResult check(ServerPlayerEntity player, ClaimPermission permission, BlockPos pos) {
|
@ -7,7 +7,7 @@ import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class ClaimPermissionEventImpl {
|
||||
public class PermissionCheckEvent {
|
||||
|
||||
public interface PermissionCheck {
|
||||
|
||||
@ -36,8 +36,4 @@ public class ClaimPermissionEventImpl {
|
||||
return ActionResult.PASS;
|
||||
}
|
||||
);
|
||||
|
||||
public static ActionResult check(ServerPlayerEntity player, ClaimPermission permission, BlockPos pos) {
|
||||
return CHECK.invoker().check(player, permission, pos);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package io.github.flemmli97.flan.claim.fabric;
|
||||
|
||||
import io.github.flemmli97.flan.api.ClaimPermission;
|
||||
import io.github.flemmli97.flan.api.fabric.PermissionCheckEvent;
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class ClaimPermissionCheckImpl {
|
||||
|
||||
public static ActionResult check(ServerPlayerEntity player, ClaimPermission permission, BlockPos pos) {
|
||||
return PermissionCheckEvent.CHECK.invoker().check(player, permission, pos);
|
||||
}
|
||||
}
|
@ -13,6 +13,14 @@ public class PermissionCheckEvent extends Event {
|
||||
public final BlockPos pos;
|
||||
private ActionResult result = ActionResult.PASS;
|
||||
|
||||
/**
|
||||
* Event for when permissions are checked
|
||||
*
|
||||
* @param player The corresponding player. Can be null if the check is e.g. caused by tnt explosions
|
||||
* @param permission The permission to check
|
||||
* @param pos The block pos where the action is occuring
|
||||
* @return ActionResult#PASS to do nothing. ActionResult#FAIL to prevent the action. Else to allow the action
|
||||
*/
|
||||
public PermissionCheckEvent(ServerPlayerEntity player, ClaimPermission permission, BlockPos pos) {
|
||||
this.player = player;
|
||||
this.permission = permission;
|
||||
|
@ -1,12 +1,13 @@
|
||||
package io.github.flemmli97.flan.api.forge;
|
||||
package io.github.flemmli97.flan.claim.fabric;
|
||||
|
||||
import io.github.flemmli97.flan.api.ClaimPermission;
|
||||
import io.github.flemmli97.flan.api.forge.PermissionCheckEvent;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
public class ClaimPermissionEventImpl {
|
||||
public class ClaimPermissionCheckImpl {
|
||||
|
||||
public static ActionResult check(ServerPlayerEntity player, ClaimPermission permission, BlockPos pos) {
|
||||
PermissionCheckEvent event = new PermissionCheckEvent(player, permission, pos);
|
Loading…
x
Reference in New Issue
Block a user