diff --git a/src/main/java/electroblob/wizardry/event/ArtefactCheckEvent.java b/src/main/java/electroblob/wizardry/event/ArtefactCheckEvent.java
new file mode 100644
index 00000000..b213076f
--- /dev/null
+++ b/src/main/java/electroblob/wizardry/event/ArtefactCheckEvent.java
@@ -0,0 +1,45 @@
+package electroblob.wizardry.event;
+
+import electroblob.wizardry.item.ItemArtefact;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.fml.common.eventhandler.Cancelable;
+import net.minecraftforge.fml.common.eventhandler.Event;
+
+/**
+ * SpellBindEvent is fired when a check happens for an ItemArtefact using {@link electroblob.wizardry.item.ItemArtefact#isArtefactActive(net.minecraft.entity.player.EntityPlayer, net.minecraft.item.Item)}
+ * Fired on both sides.
+ *
+ * This event is {@link Cancelable}.
+ *
+ * This event has a result. {@link HasResult}. Set the result to Result.ALLOW to consider an artefact "active"
+ *
+ * This event is fired on the {@link MinecraftForge#EVENT_BUS}.
+ *
+ * @author WinDanesz
+ * @since Wizardry 4.3.10
+ */
+@Cancelable
+@Event.HasResult
+public class ArtefactCheckEvent extends PlayerEvent {
+
+ ItemArtefact artefact;
+ EntityPlayer player;
+
+ public ArtefactCheckEvent(EntityPlayer player, ItemArtefact artefact) {
+ super(player);
+ this.player = player;
+ this.artefact = artefact;
+ setResult(Result.DENY);
+ }
+
+ public ItemArtefact getArtefact() {
+ return artefact;
+ }
+
+ public EntityPlayer getPlayer() {
+ return player;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/electroblob/wizardry/item/ItemArtefact.java b/src/main/java/electroblob/wizardry/item/ItemArtefact.java
index 22d5b32e..1457a540 100644
--- a/src/main/java/electroblob/wizardry/item/ItemArtefact.java
+++ b/src/main/java/electroblob/wizardry/item/ItemArtefact.java
@@ -10,6 +10,7 @@ import electroblob.wizardry.entity.living.ISummonedCreature;
import electroblob.wizardry.entity.projectile.EntityDart;
import electroblob.wizardry.entity.projectile.EntityForceOrb;
import electroblob.wizardry.entity.projectile.EntityIceShard;
+import electroblob.wizardry.event.ArtefactCheckEvent;
import electroblob.wizardry.event.SpellCastEvent;
import electroblob.wizardry.event.SpellCastEvent.Source;
import electroblob.wizardry.integration.DamageSafetyChecker;
@@ -37,6 +38,7 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraft.world.biome.Biome;
import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingEvent;
@@ -182,6 +184,13 @@ public class ItemArtefact extends Item {
if(!((ItemArtefact)artefact).enabled) return false; // Disabled in the config
+ ArtefactCheckEvent event = new ArtefactCheckEvent(player, (ItemArtefact) artefact);
+ if(MinecraftForge.EVENT_BUS.post(event)) return false;
+
+ if (event.getResult() == Event.Result.ALLOW) {
+ return true;
+ }
+
if(WizardryBaublesIntegration.enabled()){
return WizardryBaublesIntegration.isBaubleEquipped(player, artefact);
}else{