Skip to content

Commit 358b223

Browse files
MrHell228Yeregorix
authored andcommitted
Make Enchantment a ComponentLike (#4229)
1 parent d880795 commit 358b223

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

src/main/java/org/spongepowered/common/item/enchantment/SpongeEnchantment.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,22 @@
2424
*/
2525
package org.spongepowered.common.item.enchantment;
2626

27+
import net.kyori.adventure.text.Component;
28+
import net.minecraft.core.Holder;
29+
import net.minecraft.core.Registry;
30+
import net.minecraft.world.item.enchantment.Enchantment;
2731
import org.spongepowered.api.ResourceKey;
2832
import org.spongepowered.api.Sponge;
2933
import org.spongepowered.api.data.persistence.DataContainer;
3034
import org.spongepowered.api.data.persistence.Queries;
31-
import org.spongepowered.api.item.enchantment.Enchantment;
3235
import org.spongepowered.api.item.enchantment.EnchantmentType;
3336
import org.spongepowered.api.registry.RegistryTypes;
37+
import org.spongepowered.common.SpongeCommon;
38+
import org.spongepowered.common.adventure.SpongeAdventure;
3439

3540
import java.util.Objects;
3641

37-
public final class SpongeEnchantment implements Enchantment {
42+
public final class SpongeEnchantment implements org.spongepowered.api.item.enchantment.Enchantment {
3843

3944
private final EnchantmentType enchantmentType;
4045
private final int level;
@@ -54,6 +59,13 @@ public int level() {
5459
return this.level;
5560
}
5661

62+
@Override
63+
public Component asComponent() {
64+
final Registry<Enchantment> registry = (Registry<Enchantment>) SpongeCommon.scopedHolder().registry(RegistryTypes.ENCHANTMENT_TYPE);
65+
final Holder<Enchantment> holder = registry.wrapAsHolder((Enchantment) (Object) this.enchantmentType);
66+
return SpongeAdventure.asAdventure(Enchantment.getFullname(holder, this.level));
67+
}
68+
5769
@Override
5870
public int contentVersion() {
5971
return 1;

0 commit comments

Comments
 (0)