Added support for platforms to declare capabilities.
Platforms can declare certain capabilities and a suggested preference for the platform for each capability. WorldEdit can then choose the best platform for a given capability. Examples of capabilities include providing configuration, registering game hooks/events, performing changes to the world, or checking permissions/authorization.
This commit is contained in:
@@ -21,11 +21,17 @@ package com.sk89q.worldedit.internal;
|
||||
|
||||
import com.sk89q.minecraft.util.commands.Command;
|
||||
import com.sk89q.minecraft.util.commands.CommandsManager;
|
||||
import com.sk89q.worldedit.*;
|
||||
import com.sk89q.worldedit.BiomeTypes;
|
||||
import com.sk89q.worldedit.LocalConfiguration;
|
||||
import com.sk89q.worldedit.LocalPlayer;
|
||||
import com.sk89q.worldedit.ServerInterface;
|
||||
import com.sk89q.worldedit.extension.platform.Capability;
|
||||
import com.sk89q.worldedit.extension.platform.Platform;
|
||||
import com.sk89q.worldedit.extension.platform.Preference;
|
||||
import com.sk89q.worldedit.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
@@ -87,6 +93,10 @@ public class ServerInterfaceAdapter extends ServerInterface {
|
||||
platform.onCommandRegistration(commands, manager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerGameHooks() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public LocalConfiguration getConfiguration() {
|
||||
return platform.getConfiguration();
|
||||
@@ -107,6 +117,11 @@ public class ServerInterfaceAdapter extends ServerInterface {
|
||||
return platform.getPlatformVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Capability, Preference> getCapabilities() {
|
||||
return platform.getCapabilities();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adapt an {@link Platform} instance into a {@link ServerInterface}.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user