diff --git a/src/main/java/com/lothrazar/cyclic/block/magnet/TileInsertingMagnet.java b/src/main/java/com/lothrazar/cyclic/block/magnet/TileInsertingMagnet.java
index 6a5c1494e..0dbf390c0 100644
--- a/src/main/java/com/lothrazar/cyclic/block/magnet/TileInsertingMagnet.java
+++ b/src/main/java/com/lothrazar/cyclic/block/magnet/TileInsertingMagnet.java
@@ -16,6 +16,8 @@
 import net.minecraft.world.level.block.state.BlockState;
 import net.minecraft.world.phys.AABB;
 
+import static com.lothrazar.cyclic.block.BlockCyclic.LIT;
+
 public class TileInsertingMagnet extends TileBlockEntityCyclic {
 
   private static final double ENTITY_PULL_DIST = 0.2; //closer than this and nothing happens
@@ -38,15 +40,17 @@ public void saveAdditional(CompoundTag tag) {
   }
 
   public static void serverTick(Level level, BlockPos blockPos, BlockState blockState, TileInsertingMagnet e) {
-    Set<Item> filter = new HashSet<>(); // TODO: filter from DATACARD if present
-    final int radius = BlockMagnetPanel.RADIUS.get();
-    int vradius = 0;
-    int x = blockPos.getX();
-    int y = blockPos.getY();
-    int z = blockPos.getZ();
-    AABB axisalignedbb = (new AABB(x, y, z, x + 1, y + 1, z + 1)).inflate(radius, vradius, radius);
-    List<ItemEntity> list = level.getEntitiesOfClass(ItemEntity.class, axisalignedbb);
-    pullEntityList(x + 0.5, y + 0.1, z + 0.5, true, list, filter);
+    if(blockState.getValue(LIT)) {
+      Set<Item> filter = new HashSet<>(); // TODO: filter from DATACARD if present
+      final int radius = BlockMagnetPanel.RADIUS.get();
+      int vradius = 0;
+      int x = blockPos.getX();
+      int y = blockPos.getY();
+      int z = blockPos.getZ();
+      AABB axisalignedbb = (new AABB(x, y, z, x + 1, y + 1, z + 1)).inflate(radius, vradius, radius);
+      List<ItemEntity> list = level.getEntitiesOfClass(ItemEntity.class, axisalignedbb);
+      pullEntityList(x + 0.5, y + 0.1, z + 0.5, true, list, filter);
+    }
   }
 
   public static int pullEntityList(double x, double y, double z, boolean towardsPos, List<ItemEntity> all, Set<Item> filter) {
diff --git a/src/main/java/com/lothrazar/cyclic/event/ItemEvents.java b/src/main/java/com/lothrazar/cyclic/event/ItemEvents.java
index 3eee58825..7eb0695f6 100644
--- a/src/main/java/com/lothrazar/cyclic/event/ItemEvents.java
+++ b/src/main/java/com/lothrazar/cyclic/event/ItemEvents.java
@@ -246,7 +246,7 @@ public void onPotionAddedEvent(MobEffectEvent.Added event) {
   public void onEntityDamage(LivingDamageEvent event) {
     DamageSource src = event.getSource();
     if (event.getEntity() instanceof Player player) {
-      if (src.is(DamageTypes.EXPLOSION)) {
+      if (src.is(DamageTypes.PLAYER_EXPLOSION)) {
         //explosion thingy
         this.damageFinder(event, player, ItemRegistry.CHARM_CREEPER.get(), 0);
       }