mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Only register commands on Spigot if the extension has commands
This commit is contained in:
parent
a99afe4418
commit
6df8740955
7 changed files with 21 additions and 92 deletions
|
@ -124,7 +124,7 @@ public interface Extension extends EventRegistrar {
|
|||
*/
|
||||
@NonNull
|
||||
default ExtensionLoader extensionLoader() {
|
||||
return Objects.requireNonNull(this.extensionManager().extensionLoader(this));
|
||||
return Objects.requireNonNull(this.extensionManager().extensionLoader());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,7 +34,6 @@ import java.nio.file.Path;
|
|||
* The extension loader is responsible for loading, unloading, enabling and disabling extensions
|
||||
*/
|
||||
public abstract class ExtensionLoader {
|
||||
|
||||
/**
|
||||
* Gets if the given {@link Extension} is enabled.
|
||||
*
|
||||
|
@ -101,6 +100,6 @@ public abstract class ExtensionLoader {
|
|||
* @param extensionManager the extension manager
|
||||
*/
|
||||
protected void register(@NonNull Extension extension, @NonNull ExtensionManager extensionManager) {
|
||||
extensionManager.register(extension, this);
|
||||
extensionManager.register(extension);
|
||||
}
|
||||
}
|
|
@ -29,7 +29,6 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
|||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Manages Geyser {@link Extension}s
|
||||
|
@ -59,15 +58,6 @@ public abstract class ExtensionManager {
|
|||
*/
|
||||
public abstract void disable(@NonNull Extension extension);
|
||||
|
||||
/**
|
||||
* Gets the {@link ExtensionLoader} responsible for loading
|
||||
* the given {@link Extension}.
|
||||
*
|
||||
* @return the extension loader for loading the given extension
|
||||
*/
|
||||
@Nullable
|
||||
public abstract ExtensionLoader extensionLoader(@NonNull Extension extension);
|
||||
|
||||
/**
|
||||
* Gets all the {@link Extension}s currently loaded.
|
||||
*
|
||||
|
@ -77,37 +67,19 @@ public abstract class ExtensionManager {
|
|||
public abstract Collection<Extension> extensions();
|
||||
|
||||
/**
|
||||
* Gets the {@link ExtensionLoader} with the given identifier.
|
||||
* Gets the {@link ExtensionLoader}.
|
||||
*
|
||||
* @param identifier the identifier
|
||||
* @return the extension loader at the given identifier
|
||||
* @return the extension loader
|
||||
*/
|
||||
@Nullable
|
||||
public abstract ExtensionLoader extensionLoader(@NonNull String identifier);
|
||||
|
||||
/**
|
||||
* Registers an {@link ExtensionLoader} with the given identifier.
|
||||
*
|
||||
* @param identifier the identifier
|
||||
* @param extensionLoader the extension loader
|
||||
*/
|
||||
public abstract void registerExtensionLoader(@NonNull String identifier, @NonNull ExtensionLoader extensionLoader);
|
||||
|
||||
/**
|
||||
* Gets all the currently registered {@link ExtensionLoader}s.
|
||||
*
|
||||
* @return all the currently registered extension loaders
|
||||
*/
|
||||
@NonNull
|
||||
public abstract Map<String, ExtensionLoader> extensionLoaders();
|
||||
public abstract ExtensionLoader extensionLoader();
|
||||
|
||||
/**
|
||||
* Registers an {@link Extension} with the given {@link ExtensionLoader}.
|
||||
*
|
||||
* @param extension the extension
|
||||
* @param loader the loader
|
||||
*/
|
||||
public abstract void register(@NonNull Extension extension, @NonNull ExtensionLoader loader);
|
||||
public abstract void register(@NonNull Extension extension);
|
||||
|
||||
/**
|
||||
* Loads all extensions from the given {@link ExtensionLoader}.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue