diff --git a/enchanting-bundler/src/main/java/com/github/jikoo/planarenchanting/util/DelegateEnchantProvider.java b/enchanting-bundler/src/main/java/com/github/jikoo/planarenchanting/util/DelegateEnchantProvider.java index a778e25..c426dee 100644 --- a/enchanting-bundler/src/main/java/com/github/jikoo/planarenchanting/util/DelegateEnchantProvider.java +++ b/enchanting-bundler/src/main/java/com/github/jikoo/planarenchanting/util/DelegateEnchantProvider.java @@ -2,10 +2,15 @@ import com.github.jikoo.planarenchanting.util.EnchantData.Provider; import org.bukkit.enchantments.Enchantment; +import org.jetbrains.annotations.ApiStatus.Internal; import org.jspecify.annotations.NullMarked; +/** + * An {@link Provider EnchantData.Provider} wrapping a platform-dependent provider. + */ +@Internal @NullMarked -class DelegateEnchantProvider implements Provider { +public class DelegateEnchantProvider implements Provider { private final Provider delegate = ServerCapabilities.DATA_COMPONENT ? new ComponentEnchantProvider() : new MetaEnchantProvider(); diff --git a/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentTemperer.java b/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentTemperer.java index 36723bd..ecbd436 100644 --- a/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentTemperer.java +++ b/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentTemperer.java @@ -5,10 +5,13 @@ import org.bukkit.inventory.ItemStack; import org.jspecify.annotations.NullMarked; +/** + * A {@link Temperer} for {@link DataComponentType DataComponent}-based operations. + */ @NullMarked -class ComponentTemperer implements Temperer { +public class ComponentTemperer implements Temperer { - static final ComponentTemperer INSTANCE = new ComponentTemperer(); + public static final ComponentTemperer INSTANCE = new ComponentTemperer(); @Override public boolean hasChanged(ItemStack base, ItemStack addition, ItemStack result) { diff --git a/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentViewState.java b/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentViewState.java index e05182c..1167cb1 100644 --- a/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentViewState.java +++ b/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/anvil/ComponentViewState.java @@ -4,14 +4,17 @@ import org.bukkit.inventory.view.AnvilView; import org.jspecify.annotations.NullMarked; +/** + * A {@link ViewState} for raw item access. + */ @NullMarked -class ComponentViewState implements ViewState { +public class ComponentViewState implements ViewState { private final AnvilView view; private final ItemStack base; private final ItemStack addition; - ComponentViewState(AnvilView view) { + public ComponentViewState(AnvilView view) { this.view = view; ItemStack stack = view.getItem(0); this.base = stack != null ? stack : ItemStack.empty(); diff --git a/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/util/ComponentEnchantProvider.java b/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/util/ComponentEnchantProvider.java index f2c41a8..c746a15 100644 --- a/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/util/ComponentEnchantProvider.java +++ b/enchanting-components/src/main/java/com/github/jikoo/planarenchanting/util/ComponentEnchantProvider.java @@ -3,10 +3,16 @@ import com.github.jikoo.planarenchanting.util.EnchantData.Provider; import io.papermc.paper.registry.keys.ItemTypeKeys; import org.bukkit.enchantments.Enchantment; +import org.jetbrains.annotations.ApiStatus.Internal; import org.jspecify.annotations.NullMarked; +/** + * An {@link Provider EnchantData.Provider} for + * {@link io.papermc.paper.datacomponent.DataComponentType DataComponent}-based {@link EnchantData}. + */ +@Internal @NullMarked -class ComponentEnchantProvider implements Provider { +public class ComponentEnchantProvider implements Provider { @Override public EnchantData of(Enchantment enchantment) { diff --git a/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaTemperer.java b/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaTemperer.java index f14f6a2..97db9fa 100644 --- a/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaTemperer.java +++ b/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaTemperer.java @@ -7,10 +7,13 @@ import org.bukkit.inventory.meta.Repairable; import org.jspecify.annotations.NullMarked; +/** + * A {@link Temperer} for {@link ItemMeta}-based operations. + */ @NullMarked -class MetaTemperer implements Temperer { +public class MetaTemperer implements Temperer { - static final MetaTemperer INSTANCE = new MetaTemperer(); + public static final MetaTemperer INSTANCE = new MetaTemperer(); @Override public boolean hasChanged( diff --git a/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaViewState.java b/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaViewState.java index dfb3eec..a7bdb50 100644 --- a/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaViewState.java +++ b/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/anvil/MetaViewState.java @@ -3,14 +3,18 @@ import org.bukkit.inventory.view.AnvilView; import org.jspecify.annotations.NullMarked; +/** + * A {@link ViewState} wrapping contents with a {@link MetaCachedStack} for repeated meta + * modification. + */ @NullMarked -class MetaViewState implements ViewState { +public class MetaViewState implements ViewState { private final AnvilView view; private final MetaCachedStack base; private final MetaCachedStack addition; - MetaViewState(AnvilView view) { + public MetaViewState(AnvilView view) { this.view = view; this.base = new MetaCachedStack(view.getItem(0)); this.addition = new MetaCachedStack(view.getItem(1)); diff --git a/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/util/MetaEnchantProvider.java b/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/util/MetaEnchantProvider.java index 2d273aa..7bf7aff 100644 --- a/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/util/MetaEnchantProvider.java +++ b/enchanting-meta/src/main/java/com/github/jikoo/planarenchanting/util/MetaEnchantProvider.java @@ -8,10 +8,16 @@ import org.bukkit.NamespacedKey; import org.bukkit.Registry; import org.bukkit.enchantments.Enchantment; +import org.jetbrains.annotations.ApiStatus.Internal; import org.jspecify.annotations.NullMarked; +/** + * An {@link Provider EnchantData.Provider} using pre-baked enchantment data. May not include more + * recently added enchantments! Falls through to data for unbreaking. + */ +@Internal @NullMarked -class MetaEnchantProvider implements Provider { +public class MetaEnchantProvider implements Provider { private final Map data = new HashMap<>();