From c205f5e133a1d55a40db90376ef2d6e1f1a7220d Mon Sep 17 00:00:00 2001 From: Flemmli97 Date: Sat, 12 Jun 2021 20:24:15 +0200 Subject: [PATCH] split event from actual implementation --- .../io/github/flemmli97/flan/claim/Claim.java | 3 +-- .../ClaimPermissionCheck.java} | 5 +++-- ...nEventImpl.java => PermissionCheckEvent.java} | 6 +----- .../claim/fabric/ClaimPermissionCheckImpl.java | 16 ++++++++++++++++ .../flan/api/forge/PermissionCheckEvent.java | 8 ++++++++ .../fabric/ClaimPermissionCheckImpl.java} | 5 +++-- 6 files changed, 32 insertions(+), 11 deletions(-) rename common/src/main/java/io/github/flemmli97/flan/{api/ClaimPermissionEvent.java => claim/ClaimPermissionCheck.java} (74%) rename fabric/src/main/java/io/github/flemmli97/flan/api/fabric/{ClaimPermissionEventImpl.java => PermissionCheckEvent.java} (86%) create mode 100644 fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java rename forge/src/main/java/io/github/flemmli97/flan/{api/forge/ClaimPermissionEventImpl.java => claim/fabric/ClaimPermissionCheckImpl.java} (77%) diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java index 556f036..67d172d 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java @@ -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) { diff --git a/common/src/main/java/io/github/flemmli97/flan/api/ClaimPermissionEvent.java b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java similarity index 74% rename from common/src/main/java/io/github/flemmli97/flan/api/ClaimPermissionEvent.java rename to common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java index f61eb0a..1c02898 100644 --- a/common/src/main/java/io/github/flemmli97/flan/api/ClaimPermissionEvent.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java @@ -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) { diff --git a/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/ClaimPermissionEventImpl.java b/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java similarity index 86% rename from fabric/src/main/java/io/github/flemmli97/flan/api/fabric/ClaimPermissionEventImpl.java rename to fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java index d69390e..6869cb9 100644 --- a/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/ClaimPermissionEventImpl.java +++ b/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java @@ -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); - } } diff --git a/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java b/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java new file mode 100644 index 0000000..c51fb5b --- /dev/null +++ b/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java @@ -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); + } +} diff --git a/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java b/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java index e2d3334..2999f15 100644 --- a/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java +++ b/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java @@ -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; diff --git a/forge/src/main/java/io/github/flemmli97/flan/api/forge/ClaimPermissionEventImpl.java b/forge/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java similarity index 77% rename from forge/src/main/java/io/github/flemmli97/flan/api/forge/ClaimPermissionEventImpl.java rename to forge/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java index 0de0e21..76d403c 100644 --- a/forge/src/main/java/io/github/flemmli97/flan/api/forge/ClaimPermissionEventImpl.java +++ b/forge/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java @@ -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);