diff --git a/src/generated/resources/data/allomancy/loot_modifiers/lerasium_loot.json b/src/generated/resources/data/allomancy/loot_modifiers/lerasium_loot.json
new file mode 100644
index 00000000..4b81ee20
--- /dev/null
+++ b/src/generated/resources/data/allomancy/loot_modifiers/lerasium_loot.json
@@ -0,0 +1,31 @@
+{
+  "type": "allomancy:lerasium_loot",
+  "chance_one_in": 5,
+  "conditions": [
+    {
+      "condition": "minecraft:any_of",
+      "terms": [
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/simple_dungeon"
+        },
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/desert_pyramid"
+        },
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/jungle_temple"
+        },
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/woodland_mansion"
+        },
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/end_city_treasure"
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/allomancy/loot_modifiers/unbreakable_dagger_loot.json b/src/generated/resources/data/allomancy/loot_modifiers/unbreakable_dagger_loot.json
new file mode 100644
index 00000000..8578ece0
--- /dev/null
+++ b/src/generated/resources/data/allomancy/loot_modifiers/unbreakable_dagger_loot.json
@@ -0,0 +1,23 @@
+{
+  "type": "allomancy:unbreakable_dagger_loot",
+  "chance_one_in": 20,
+  "conditions": [
+    {
+      "condition": "minecraft:any_of",
+      "terms": [
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/woodland_mansion"
+        },
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/end_city_treasure"
+        },
+        {
+          "condition": "neoforge:loot_table_id",
+          "loot_table_id": "minecraft:chests/pillager_outpost"
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/allomancy/loot_tables/inject/lerasium.json b/src/generated/resources/data/allomancy/loot_tables/inject/lerasium.json
deleted file mode 100644
index 3210a772..00000000
--- a/src/generated/resources/data/allomancy/loot_tables/inject/lerasium.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "type": "minecraft:empty",
-  "pools": [
-    {
-      "bonus_rolls": 0.0,
-      "entries": [
-        {
-          "type": "minecraft:item",
-          "name": "allomancy:lerasium_nugget",
-          "weight": 4
-        },
-        {
-          "type": "minecraft:empty",
-          "weight": 16
-        }
-      ],
-      "name": "main",
-      "rolls": 1.0
-    }
-  ],
-  "random_sequence": "allomancy:inject/lerasium"
-}
\ No newline at end of file
diff --git a/src/generated/resources/data/allomancy/loot_tables/inject/obsidian_dagger.json b/src/generated/resources/data/allomancy/loot_tables/inject/obsidian_dagger.json
deleted file mode 100644
index 224cc69e..00000000
--- a/src/generated/resources/data/allomancy/loot_tables/inject/obsidian_dagger.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "type": "minecraft:empty",
-  "pools": [
-    {
-      "bonus_rolls": 0.0,
-      "entries": [
-        {
-          "type": "minecraft:item",
-          "functions": [
-            {
-              "function": "minecraft:set_nbt",
-              "tag": "{Unbreakable:1b}"
-            }
-          ],
-          "name": "allomancy:obsidian_dagger"
-        },
-        {
-          "type": "minecraft:empty",
-          "weight": 19
-        }
-      ],
-      "name": "main",
-      "rolls": 1.0
-    }
-  ],
-  "random_sequence": "allomancy:inject/obsidian_dagger"
-}
\ No newline at end of file
diff --git a/src/generated/resources/data/neoforge/loot_modifiers/global_loot_modifiers.json b/src/generated/resources/data/neoforge/loot_modifiers/global_loot_modifiers.json
new file mode 100644
index 00000000..aa68e9d6
--- /dev/null
+++ b/src/generated/resources/data/neoforge/loot_modifiers/global_loot_modifiers.json
@@ -0,0 +1,7 @@
+{
+  "entries": [
+    "allomancy:unbreakable_dagger_loot",
+    "allomancy:lerasium_loot"
+  ],
+  "replace": false
+}
\ No newline at end of file
diff --git a/src/main/java/com/legobmw99/allomancy/Allomancy.java b/src/main/java/com/legobmw99/allomancy/Allomancy.java
index facdd250..df79f588 100644
--- a/src/main/java/com/legobmw99/allomancy/Allomancy.java
+++ b/src/main/java/com/legobmw99/allomancy/Allomancy.java
@@ -70,7 +70,6 @@ public static void clientInit(final FMLClientSetupEvent e) {
 
     public static void init(final FMLCommonSetupEvent e) {
         PowersSetup.init(e);
-        MaterialsSetup.init(e);
     }
 
 }
diff --git a/src/main/java/com/legobmw99/allomancy/api/enums/Metal.java b/src/main/java/com/legobmw99/allomancy/api/enums/Metal.java
index f72035ed..a10b816d 100644
--- a/src/main/java/com/legobmw99/allomancy/api/enums/Metal.java
+++ b/src/main/java/com/legobmw99/allomancy/api/enums/Metal.java
@@ -1,11 +1,10 @@
 package com.legobmw99.allomancy.api.enums;
 
-import com.mojang.serialization.Codec;
-import com.mojang.serialization.DataResult;
+import net.minecraft.util.StringRepresentable;
 
 import java.util.Locale;
 
-public enum Metal {
+public enum Metal implements StringRepresentable {
     IRON(true),
     STEEL(IRON),
     TIN,
@@ -64,13 +63,11 @@ public int getIndex() {
         return ordinal();
     }
 
-    public static final Codec<Metal> CODEC = Codec.STRING.comapFlatMap(s -> {
-        for (Metal mt : Metal.values()) {
-            if (mt.getName().equals(s)) {
-                return DataResult.success(mt);
-            }
-        }
-        return DataResult.error(() -> s + " is not a valid Metal");
-    }, Metal::getName);
 
+    public static final StringRepresentable.EnumCodec<Metal> CODEC = StringRepresentable.fromEnum(Metal::values);
+
+    @Override
+    public String getSerializedName() {
+        return getName();
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/legobmw99/allomancy/datagen/DataGenerators.java b/src/main/java/com/legobmw99/allomancy/datagen/DataGenerators.java
index 113dde7e..be0d87f9 100644
--- a/src/main/java/com/legobmw99/allomancy/datagen/DataGenerators.java
+++ b/src/main/java/com/legobmw99/allomancy/datagen/DataGenerators.java
@@ -24,8 +24,9 @@ public static void gatherData(GatherDataEvent event) {
         var fileHelper = event.getExistingFileHelper();
         generator.addProvider(event.includeServer(), new Recipes(packOutput, lookup));
         generator.addProvider(event.includeServer(), new LootTableProvider(packOutput, Collections.emptySet(),
-                                                                           List.of(new LootTableProvider.SubProviderEntry(BlockLootTables::new, LootContextParamSets.BLOCK),
-                                                                                   new LootTableProvider.SubProviderEntry(DungeonLootTables::new, LootContextParamSets.EMPTY))));
+                                                                           List.of(new LootTableProvider.SubProviderEntry(BlockLootTables::new, LootContextParamSets.BLOCK))));
+        generator.addProvider(event.includeServer(), new LootModifiers(packOutput));
+
         BlockTags blocktags = new BlockTags(packOutput, lookup, fileHelper);
         generator.addProvider(event.includeServer(), blocktags);
         generator.addProvider(event.includeServer(), new ItemTags(packOutput, lookup, blocktags.contentsGetter(), fileHelper));
diff --git a/src/main/java/com/legobmw99/allomancy/datagen/DungeonLootTables.java b/src/main/java/com/legobmw99/allomancy/datagen/DungeonLootTables.java
deleted file mode 100644
index 5dd372f6..00000000
--- a/src/main/java/com/legobmw99/allomancy/datagen/DungeonLootTables.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.legobmw99.allomancy.datagen;
-
-import com.legobmw99.allomancy.Allomancy;
-import com.legobmw99.allomancy.modules.combat.CombatSetup;
-import com.legobmw99.allomancy.modules.consumables.ConsumeSetup;
-import net.minecraft.data.loot.LootTableSubProvider;
-import net.minecraft.nbt.CompoundTag;
-import net.minecraft.resources.ResourceLocation;
-import net.minecraft.world.level.storage.loot.LootPool;
-import net.minecraft.world.level.storage.loot.LootTable;
-import net.minecraft.world.level.storage.loot.entries.EmptyLootItem;
-import net.minecraft.world.level.storage.loot.entries.LootItem;
-import net.minecraft.world.level.storage.loot.functions.SetNbtFunction;
-import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
-
-import java.util.function.BiConsumer;
-
-public class DungeonLootTables implements LootTableSubProvider {
-    @Override
-    public void generate(BiConsumer<ResourceLocation, LootTable.Builder> writer) {
-
-        // Lerasium Inject
-        Allomancy.LOGGER.debug("Creating Loot Table for Lerasium inject");
-        LootPool.Builder leras_builder = LootPool
-                .lootPool()
-                .name("main")
-                .setRolls(ConstantValue.exactly(1))
-                .add(LootItem.lootTableItem(ConsumeSetup.LERASIUM_NUGGET.get()).setWeight(4))
-                .add(EmptyLootItem.emptyItem().setWeight(16));
-        writer.accept(new ResourceLocation(Allomancy.MODID, "inject/lerasium"), LootTable.lootTable().withPool(leras_builder));
-
-        CompoundTag nbt = new CompoundTag();
-        nbt.putBoolean("Unbreakable", true);
-        Allomancy.LOGGER.debug("Creating Loot Table for Obsidian Dagger inject");
-        LootPool.Builder dagger_builder = LootPool
-                .lootPool()
-                .name("main")
-                .setRolls(ConstantValue.exactly(1))
-                .add(LootItem.lootTableItem(CombatSetup.OBSIDIAN_DAGGER.get()).apply(SetNbtFunction.setTag(nbt)).setWeight(1))
-                .add(EmptyLootItem.emptyItem().setWeight(19));
-        writer.accept(new ResourceLocation(Allomancy.MODID, "inject/obsidian_dagger"), LootTable.lootTable().withPool(dagger_builder));
-
-
-    }
-}
diff --git a/src/main/java/com/legobmw99/allomancy/datagen/LootModifiers.java b/src/main/java/com/legobmw99/allomancy/datagen/LootModifiers.java
new file mode 100644
index 00000000..77d6e1c8
--- /dev/null
+++ b/src/main/java/com/legobmw99/allomancy/datagen/LootModifiers.java
@@ -0,0 +1,37 @@
+package com.legobmw99.allomancy.datagen;
+
+import com.legobmw99.allomancy.Allomancy;
+import com.legobmw99.allomancy.modules.materials.world.DaggerLootModifier;
+import com.legobmw99.allomancy.modules.materials.world.LerasiumLootModifier;
+import net.minecraft.data.PackOutput;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.level.storage.loot.predicates.AnyOfCondition;
+import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
+import net.neoforged.neoforge.common.data.GlobalLootModifierProvider;
+import net.neoforged.neoforge.common.loot.LootTableIdCondition;
+
+public class LootModifiers extends GlobalLootModifierProvider {
+
+    public LootModifiers(PackOutput output) {
+        super(output, Allomancy.MODID);
+    }
+
+    private static final ResourceLocation DUNGEON = new ResourceLocation("minecraft:chests/simple_dungeon");
+    private static final ResourceLocation DESERT = new ResourceLocation("minecraft:chests/desert_pyramid");
+    private static final ResourceLocation JUNGLE = new ResourceLocation("minecraft:chests/jungle_temple");
+    private static final ResourceLocation WOODLAND = new ResourceLocation("minecraft:chests/woodland_mansion");
+    private static final ResourceLocation END_CITY = new ResourceLocation("minecraft:chests/end_city_treasure");
+    private static final ResourceLocation OUTPOST = new ResourceLocation("minecraft:chests/pillager_outpost");
+
+    @Override
+    protected void start() {
+        var lerasiumLocations = new LootItemCondition[]{
+                AnyOfCondition.anyOf(LootTableIdCondition.builder(DUNGEON), LootTableIdCondition.builder(DESERT), LootTableIdCondition.builder(JUNGLE),
+                                     LootTableIdCondition.builder(WOODLAND), LootTableIdCondition.builder(END_CITY)).build()};
+        add("lerasium_loot", new LerasiumLootModifier(lerasiumLocations, 5));
+
+        var daggerLocations = new LootItemCondition[]{
+                AnyOfCondition.anyOf(LootTableIdCondition.builder(WOODLAND), LootTableIdCondition.builder(END_CITY), LootTableIdCondition.builder(OUTPOST)).build()};
+        add("unbreakable_dagger_loot", new DaggerLootModifier(daggerLocations, 20));
+    }
+}
diff --git a/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsConfig.java b/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsConfig.java
deleted file mode 100644
index bf97f1a4..00000000
--- a/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsConfig.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.legobmw99.allomancy.modules.materials;
-
-import net.neoforged.neoforge.common.ModConfigSpec;
-
-public class MaterialsConfig {
-    public static ModConfigSpec.BooleanValue generate_lerasium;
-    public static ModConfigSpec.BooleanValue generate_unbreakable_daggers;
-
-    public static void init(ModConfigSpec.Builder common_builder) {
-        common_builder.comment("Settings for the mod's added generation").push("world");
-
-        common_builder.push("loot");
-        generate_lerasium = common_builder.comment("Add Lerasium to dungeon and other loot tables").define("generate_lerasium", true);
-        generate_unbreakable_daggers = common_builder.comment("Add Unbreakable Obsidian Daggers to end city and other loot tables").define("generate_unbreakable_daggers", true);
-        common_builder.pop();
-        common_builder.pop();
-    }
-
-}
diff --git a/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsSetup.java b/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsSetup.java
index d5a23700..70abf482 100644
--- a/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsSetup.java
+++ b/src/main/java/com/legobmw99/allomancy/modules/materials/MaterialsSetup.java
@@ -2,7 +2,9 @@
 
 import com.legobmw99.allomancy.Allomancy;
 import com.legobmw99.allomancy.api.enums.Metal;
-import com.legobmw99.allomancy.modules.materials.world.LootTableInjector;
+import com.legobmw99.allomancy.modules.materials.world.DaggerLootModifier;
+import com.legobmw99.allomancy.modules.materials.world.LerasiumLootModifier;
+import com.mojang.serialization.Codec;
 import net.minecraft.core.Holder;
 import net.minecraft.core.HolderGetter;
 import net.minecraft.core.HolderSet;
@@ -28,8 +30,7 @@
 import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest;
 import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest;
 import net.neoforged.bus.api.IEventBus;
-import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.neoforged.neoforge.common.NeoForge;
+import net.neoforged.neoforge.common.loot.IGlobalLootModifier;
 import net.neoforged.neoforge.common.world.BiomeModifier;
 import net.neoforged.neoforge.common.world.BiomeModifiers;
 import net.neoforged.neoforge.registries.DeferredBlock;
@@ -39,6 +40,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.function.Supplier;
 
 public class MaterialsSetup {
 
@@ -62,8 +64,8 @@ public String toString() {
     private static final ResourceKey<BiomeModifier> ADD_ALLOMANCY_ORES = ResourceKey.create(NeoForgeRegistries.Keys.BIOME_MODIFIERS,
                                                                                             new ResourceLocation(Allomancy.MODID, "overworld_ores"));
 
-    public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Allomancy.MODID);
-    public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(Allomancy.MODID);
+    private static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Allomancy.MODID);
+    private static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(Allomancy.MODID);
 
     public static final List<DeferredItem<Item>> FLAKES = new ArrayList<>();
     public static final List<DeferredItem<Item>> NUGGETS = new ArrayList<>();
@@ -131,16 +133,15 @@ public String toString() {
         }
     }
 
+    private static final DeferredRegister<Codec<? extends IGlobalLootModifier>> GLM = DeferredRegister.create(NeoForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS,
+                                                                                                              Allomancy.MODID);
+    public static final Supplier<Codec<LerasiumLootModifier>> LERASIUM_LOOT = GLM.register("lerasium_loot", LerasiumLootModifier.CODEC);
+    public static final Supplier<Codec<DaggerLootModifier>> DAGGER_LOOT = GLM.register("unbreakable_dagger_loot", DaggerLootModifier.CODEC);
 
     public static void register(IEventBus bus) {
         BLOCKS.register(bus);
         ITEMS.register(bus);
-    }
-
-    public static void init(final FMLCommonSetupEvent e) {
-        e.enqueueWork(() -> {
-            NeoForge.EVENT_BUS.register(LootTableInjector.class);
-        });
+        GLM.register(bus);
     }
 
     public static Block createStandardBlock() {
diff --git a/src/main/java/com/legobmw99/allomancy/modules/materials/world/DaggerLootModifier.java b/src/main/java/com/legobmw99/allomancy/modules/materials/world/DaggerLootModifier.java
new file mode 100644
index 00000000..9d159732
--- /dev/null
+++ b/src/main/java/com/legobmw99/allomancy/modules/materials/world/DaggerLootModifier.java
@@ -0,0 +1,45 @@
+package com.legobmw99.allomancy.modules.materials.world;
+
+import com.google.common.base.Suppliers;
+import com.legobmw99.allomancy.modules.combat.CombatSetup;
+import com.mojang.serialization.Codec;
+import com.mojang.serialization.codecs.RecordCodecBuilder;
+import it.unimi.dsi.fastutil.objects.ObjectArrayList;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.level.storage.loot.LootContext;
+import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
+import net.neoforged.neoforge.common.loot.IGlobalLootModifier;
+import net.neoforged.neoforge.common.loot.LootModifier;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.function.Supplier;
+
+public class DaggerLootModifier extends LootModifier {
+
+    public int chance_one_in;
+    public static final Supplier<Codec<DaggerLootModifier>> CODEC = Suppliers.memoize(
+            () -> RecordCodecBuilder.create(inst -> codecStart(inst).and(Codec.INT.fieldOf("chance_one_in").forGetter(t -> t.chance_one_in)).apply(inst, DaggerLootModifier::new)));
+
+    public DaggerLootModifier(LootItemCondition[] conditionsIn, int chance_one_in) {
+        super(conditionsIn);
+        this.chance_one_in = chance_one_in;
+    }
+
+    @Override
+    protected @NotNull ObjectArrayList<ItemStack> doApply(ObjectArrayList<ItemStack> generatedLoot, LootContext context) {
+        if (context.getRandom().nextInt(this.chance_one_in) == 0) {
+            ItemStack dagger = new ItemStack(CombatSetup.OBSIDIAN_DAGGER.get());
+            CompoundTag nbt = new CompoundTag();
+            nbt.putBoolean("Unbreakable", true);
+            dagger.setTag(nbt);
+            generatedLoot.add(dagger);
+        }
+        return generatedLoot;
+    }
+
+    @Override
+    public Codec<? extends IGlobalLootModifier> codec() {
+        return CODEC.get();
+    }
+}
diff --git a/src/main/java/com/legobmw99/allomancy/modules/materials/world/LerasiumLootModifier.java b/src/main/java/com/legobmw99/allomancy/modules/materials/world/LerasiumLootModifier.java
new file mode 100644
index 00000000..bbbf8483
--- /dev/null
+++ b/src/main/java/com/legobmw99/allomancy/modules/materials/world/LerasiumLootModifier.java
@@ -0,0 +1,41 @@
+package com.legobmw99.allomancy.modules.materials.world;
+
+import com.google.common.base.Suppliers;
+import com.legobmw99.allomancy.modules.consumables.ConsumeSetup;
+import com.mojang.serialization.Codec;
+import com.mojang.serialization.codecs.RecordCodecBuilder;
+import it.unimi.dsi.fastutil.objects.ObjectArrayList;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.level.storage.loot.LootContext;
+import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
+import net.neoforged.neoforge.common.loot.IGlobalLootModifier;
+import net.neoforged.neoforge.common.loot.LootModifier;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.function.Supplier;
+
+public class LerasiumLootModifier extends LootModifier {
+
+    public int chance_one_in;
+    public static final Supplier<Codec<LerasiumLootModifier>> CODEC = Suppliers.memoize(() -> RecordCodecBuilder.create(
+            inst -> codecStart(inst).and(Codec.INT.fieldOf("chance_one_in").forGetter(t -> t.chance_one_in)).apply(inst, LerasiumLootModifier::new)));
+
+    public LerasiumLootModifier(LootItemCondition[] conditionsIn, int chance_one_in) {
+        super(conditionsIn);
+        this.chance_one_in = chance_one_in;
+    }
+
+
+    @Override
+    protected @NotNull ObjectArrayList<ItemStack> doApply(ObjectArrayList<ItemStack> generatedLoot, LootContext context) {
+        if (context.getRandom().nextInt(this.chance_one_in) == 0) {
+            generatedLoot.add(new ItemStack(ConsumeSetup.LERASIUM_NUGGET.get()));
+        }
+        return generatedLoot;
+    }
+
+    @Override
+    public Codec<? extends IGlobalLootModifier> codec() {
+        return CODEC.get();
+    }
+}
diff --git a/src/main/java/com/legobmw99/allomancy/modules/materials/world/LootTableInjector.java b/src/main/java/com/legobmw99/allomancy/modules/materials/world/LootTableInjector.java
deleted file mode 100644
index 3a3497cb..00000000
--- a/src/main/java/com/legobmw99/allomancy/modules/materials/world/LootTableInjector.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.legobmw99.allomancy.modules.materials.world;
-
-import com.legobmw99.allomancy.Allomancy;
-import com.legobmw99.allomancy.modules.materials.MaterialsConfig;
-import net.minecraft.resources.ResourceLocation;
-import net.minecraft.world.level.storage.loot.LootPool;
-import net.minecraft.world.level.storage.loot.entries.LootTableReference;
-import net.neoforged.bus.api.SubscribeEvent;
-import net.neoforged.neoforge.event.LootTableLoadEvent;
-
-public class LootTableInjector {
-    // TODO replace https://docs.neoforged.net/docs/resources/server/glm/
-    @SubscribeEvent
-    public static void onLootTableLoad(final LootTableLoadEvent event) {
-        if (event.getName() == null) {
-            return;
-        }
-
-        String name = event.getName().toString();
-        if (MaterialsConfig.generate_lerasium.get() &&
-            (name.equals("minecraft:chests/simple_dungeon") || name.equals("minecraft:chests/desert_pyramid") || name.equals("minecraft:chests/jungle_temple") ||
-             name.equals("minecraft:chests/woodland_mansion") || name.equals("minecraft:chests/end_city_treasure"))) {
-            //Inject a Lerasium loot table into the above vanilla tables
-            Allomancy.LOGGER.info("Adding lerasium to Loot Table: " + name);
-            event
-                    .getTable()
-                    .addPool(LootPool
-                                     .lootPool()
-                                     .name("lerasium_inject")
-                                     .add(LootTableReference.lootTableReference(new ResourceLocation(Allomancy.MODID, "inject/lerasium")))
-                                     .build());
-        }
-        if (MaterialsConfig.generate_unbreakable_daggers.get() &&
-            (name.equals("minecraft:chests/end_city_treasure") || name.equals("minecraft:chests/woodland_mansion") || name.equals("minecraft:chests/pillager_outpost"))) {
-            //Inject an unbreakable Obsidian Dagger loot table into the above vanilla tables
-            Allomancy.LOGGER.info("Adding obsidian dagger to Loot Table: " + name);
-            event
-                    .getTable()
-                    .addPool(LootPool
-                                     .lootPool()
-                                     .name("obsidian_dagger")
-                                     .add(LootTableReference.lootTableReference(new ResourceLocation(Allomancy.MODID, "inject/obsidian_dagger")))
-                                     .build());
-        }
-    }
-}
diff --git a/src/main/java/com/legobmw99/allomancy/util/AllomancyConfig.java b/src/main/java/com/legobmw99/allomancy/util/AllomancyConfig.java
index 372416ad..946357fb 100644
--- a/src/main/java/com/legobmw99/allomancy/util/AllomancyConfig.java
+++ b/src/main/java/com/legobmw99/allomancy/util/AllomancyConfig.java
@@ -1,6 +1,5 @@
 package com.legobmw99.allomancy.util;
 
-import com.legobmw99.allomancy.modules.materials.MaterialsConfig;
 import com.legobmw99.allomancy.modules.powers.PowersConfig;
 import net.neoforged.fml.ModLoadingContext;
 import net.neoforged.fml.config.ModConfig;
@@ -20,7 +19,6 @@ public class AllomancyConfig {
         var CLIENT_BUILDER = new ModConfigSpec.Builder();
         var SERVER_BUILDER = new ModConfigSpec.Builder();
 
-        MaterialsConfig.init(COMMON_BUILDER);
         PowersConfig.init(SERVER_BUILDER, COMMON_BUILDER, CLIENT_BUILDER);
 
         COMMON_CONFIG = COMMON_BUILDER.build();