diff --git a/api/geyser/pom.xml b/api/geyser/pom.xml index b2f448589..435643b0a 100644 --- a/api/geyser/pom.xml +++ b/api/geyser/pom.xml @@ -33,9 +33,9 @@ provided - net.kyori - adventure-api - ${adventure.version} + org.geysermc + base-api + 2.0.0-SNAPSHOT compile @@ -44,11 +44,5 @@ 1.27 compile - - org.geysermc - base-api - 2.0.0-SNAPSHOT - compile - \ No newline at end of file diff --git a/api/geyser/src/main/java/org/geysermc/geyser/api/extension/ExtensionManager.java b/api/geyser/src/main/java/org/geysermc/geyser/api/extension/ExtensionManager.java index 65387a8c7..65d6c66da 100644 --- a/api/geyser/src/main/java/org/geysermc/geyser/api/extension/ExtensionManager.java +++ b/api/geyser/src/main/java/org/geysermc/geyser/api/extension/ExtensionManager.java @@ -25,10 +25,8 @@ package org.geysermc.geyser.api.extension; -import net.kyori.adventure.key.Key; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; -import org.jetbrains.annotations.NotNull; import java.util.Collection; import java.util.Map; @@ -45,7 +43,7 @@ public abstract class ExtensionManager { * @return an extension with the given name */ @Nullable - public abstract Extension extension(@NotNull String name); + public abstract Extension extension(@NonNull String name); /** * Enables the given {@link Extension}. @@ -68,7 +66,7 @@ public abstract class ExtensionManager { * @return the extension loader for loading the given extension */ @Nullable - public abstract ExtensionLoader extensionLoader(@NotNull Extension extension); + public abstract ExtensionLoader extensionLoader(@NonNull Extension extension); /** * Gets all the {@link Extension}s currently loaded. @@ -85,7 +83,7 @@ public abstract class ExtensionManager { * @return the extension loader at the given identifier */ @Nullable - public abstract ExtensionLoader extensionLoader(@NonNull Key identifier); + public abstract ExtensionLoader extensionLoader(@NonNull String identifier); /** * Registers an {@link ExtensionLoader} with the given identifier. @@ -93,7 +91,7 @@ public abstract class ExtensionManager { * @param identifier the identifier * @param extensionLoader the extension loader */ - public abstract void registerExtensionLoader(@NonNull Key identifier, @NotNull ExtensionLoader extensionLoader); + public abstract void registerExtensionLoader(@NonNull String identifier, @NonNull ExtensionLoader extensionLoader); /** * Gets all the currently registered {@link ExtensionLoader}s. @@ -101,7 +99,7 @@ public abstract class ExtensionManager { * @return all the currently registered extension loaders */ @NonNull - public abstract Map extensionLoaders(); + public abstract Map extensionLoaders(); /** * Registers an {@link Extension} with the given {@link ExtensionLoader}. @@ -109,12 +107,12 @@ public abstract class ExtensionManager { * @param extension the extension * @param loader the loader */ - public abstract void register(@NotNull Extension extension, @NotNull ExtensionLoader loader); + public abstract void register(@NonNull Extension extension, @NonNull ExtensionLoader loader); /** * Loads all extensions from the given {@link ExtensionLoader}. */ - protected final void loadAllExtensions(@NotNull ExtensionLoader extensionLoader) { + protected final void loadAllExtensions(@NonNull ExtensionLoader extensionLoader) { extensionLoader.loadAllExtensions(this); } } diff --git a/core/src/main/java/org/geysermc/geyser/extension/GeyserExtensionManager.java b/core/src/main/java/org/geysermc/geyser/extension/GeyserExtensionManager.java index 936cde471..c125d010b 100644 --- a/core/src/main/java/org/geysermc/geyser/extension/GeyserExtensionManager.java +++ b/core/src/main/java/org/geysermc/geyser/extension/GeyserExtensionManager.java @@ -34,12 +34,12 @@ import org.geysermc.geyser.api.extension.ExtensionManager; import org.geysermc.geyser.api.extension.ExtensionLoader; import org.geysermc.geyser.registry.Registries; import org.geysermc.geyser.text.GeyserLocale; -import org.jetbrains.annotations.NotNull; import java.util.*; +import java.util.stream.Collectors; public class GeyserExtensionManager extends ExtensionManager { - private static final Key BASE_KEY = Key.key("geysermc", "base"); + private static final Key BASE_EXTENSION_LOADER_KEY = Key.key("geysermc", "base"); private final Map extensions = new LinkedHashMap<>(); private final Map extensionsLoaders = new LinkedHashMap<>(); @@ -47,8 +47,7 @@ public class GeyserExtensionManager extends ExtensionManager { public void init() { GeyserImpl.getInstance().getLogger().info(GeyserLocale.getLocaleStringLog("geyser.extensions.load.loading")); - this.registerExtensionLoader(BASE_KEY, new GeyserExtensionLoader()); - + Registries.EXTENSION_LOADERS.register(BASE_EXTENSION_LOADER_KEY, new GeyserExtensionLoader()); for (ExtensionLoader loader : this.extensionLoaders().values()) { this.loadAllExtensions(loader); } @@ -130,23 +129,23 @@ public class GeyserExtensionManager extends ExtensionManager { @Nullable @Override - public ExtensionLoader extensionLoader(@NonNull Key identifier) { - return Registries.EXTENSION_LOADERS.get(identifier); + public ExtensionLoader extensionLoader(@NonNull String identifier) { + return Registries.EXTENSION_LOADERS.get(Key.key(identifier)); } @Override - public void registerExtensionLoader(@NonNull Key identifier, @NotNull ExtensionLoader extensionLoader) { - Registries.EXTENSION_LOADERS.register(identifier, extensionLoader); + public void registerExtensionLoader(@NonNull String identifier, @NonNull ExtensionLoader extensionLoader) { + Registries.EXTENSION_LOADERS.register(Key.key(identifier), extensionLoader); } @NonNull @Override - public Map extensionLoaders() { - return Collections.unmodifiableMap(Registries.EXTENSION_LOADERS.get()); + public Map extensionLoaders() { + return Registries.EXTENSION_LOADERS.get().entrySet().stream().collect(Collectors.toMap(key -> key.getKey().asString(), Map.Entry::getValue)); } @Override - public void register(@NotNull Extension extension, @NotNull ExtensionLoader loader) { + public void register(@NonNull Extension extension, @NonNull ExtensionLoader loader) { this.extensionsLoaders.put(extension, loader); this.extensions.put(extension.name(), extension); }