diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/Enchantments1_20_3.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/Enchantments1_20_3.java
deleted file mode 100644
index f3b8121ce..000000000
--- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/Enchantments1_20_3.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
- * Copyright (C) 2016-2024 ViaVersion and contributors
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data;
-
-import com.viaversion.viaversion.util.KeyMappings;
-import org.checkerframework.checker.nullness.qual.Nullable;
-
-public final class Enchantments1_20_3 {
-
- public static final KeyMappings ENCHANTMENTS = new KeyMappings(
- "protection",
- "fire_protection",
- "feather_falling",
- "blast_protection",
- "projectile_protection",
- "respiration",
- "aqua_affinity",
- "thorns",
- "depth_strider",
- "frost_walker",
- "binding_curse",
- "soul_speed",
- "swift_sneak",
- "sharpness",
- "smite",
- "bane_of_arthropods",
- "knockback",
- "fire_aspect",
- "looting",
- "sweeping",
- "efficiency",
- "silk_touch",
- "unbreaking",
- "fortune",
- "power",
- "punch",
- "flame",
- "infinity",
- "luck_of_the_sea",
- "lure",
- "loyalty",
- "impaling",
- "riptide",
- "channeling",
- "multishot",
- "quick_charge",
- "piercing",
- "mending",
- "vanishing_curse"
- );
-
- public static @Nullable String idToKey(final int id) {
- return ENCHANTMENTS.idToKey(id);
- }
-
- public static int keyToId(final String enchantment) {
- return ENCHANTMENTS.keyToId(enchantment);
- }
-}
diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java
index d43c2c3f4..1092a686d 100644
--- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java
+++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java
@@ -53,7 +53,7 @@ import com.viaversion.viaversion.api.minecraft.item.data.ToolRule;
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.Protocol1_20_5To1_20_3;
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.Attributes1_20_5;
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.BannerPatterns1_20_5;
-import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.Enchantments1_20_3;
+import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.Enchantments1_20_5;
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.EquipmentSlots1_20_5;
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.Instruments1_20_3;
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.MapDecorations1_20_5;
@@ -773,21 +773,20 @@ public final class StructuredDataConverter {
private void convertEnchantments(final Enchantments data, final CompoundTag tag, final boolean storedEnchantments) {
final ListTag enchantments = new ListTag<>(CompoundTag.class);
- final int piercingId = Enchantments1_20_3.keyToId("piercing");
for (final Int2IntMap.Entry entry : data.enchantments().int2IntEntrySet()) {
- int id = entry.getIntKey();
- if (id > piercingId) {
- if (id <= piercingId + 3) {
- // Density, breach, wind burst - Already backed up by VB
- continue;
- }
- id -= 3;
- }
-
- final String identifier = Enchantments1_20_3.idToKey(id);
+ final int enchantmentId = entry.getIntKey();
+ String identifier = Enchantments1_20_5.idToKey(enchantmentId);
if (identifier == null) {
continue;
}
+ if (identifier.equals("density") || identifier.equals("breach") || identifier.equals("wind_burst")) {
+ // New ones, backed up by VB
+ continue;
+ }
+
+ if (identifier.equals("sweeping_edge")) {
+ identifier = "sweeping";
+ }
final CompoundTag enchantment = new CompoundTag();
enchantment.putString("id", identifier);