/*
* WorldEdit, a Minecraft world manipulation toolkit
* Copyright (C) sk89q
task
to be invoked once every period
ticks
* after an initial delay of delay
ticks.
*
* @param delay Delay in server ticks before executing first repeat
* @param period Period in server ticks of the task
* @param task Task to be executed
* @return Task id number (-1 if scheduling failed)
*/
int schedule(long delay, long period, Runnable task);
List extends World> getWorlds();
/**
* Create a duplicate of the given player.
*
* The given player may have been provided by a different platform.
*
* @param player the player to match
* @return a matched player, otherwise null
*/
@Nullable Player matchPlayer(Player player);
/**
* Create a duplicate of the given world.
*
* The given world may have been provided by a different platform.
*
* @param world the world to match
* @return a matched world, otherwise null
*/
@Nullable World matchWorld(World world);
/**
* Register the commands contained within the given command dispatcher.
*
* @param dispatcher the dispatcher
*/
void registerCommands(Dispatcher dispatcher);
/**
* Register game hooks.
*/
void registerGameHooks();
/**
* Get the configuration from this platform.
*
* @return the configuration
*/
LocalConfiguration getConfiguration();
/**
* Get the version of WorldEdit that this platform provides.
*
* This version should match WorldEdit releases because it may be
* checked to match.
*
* @return the version
*/
String getVersion();
/**
* Get a friendly name of the platform.
*
* The name can be anything (reasonable). An example name may be
* "Bukkit" or "Forge".
*
* @return the platform name
*/
String getPlatformName();
/**
* Get the version of the platform, which can be anything.
*
* @return the platform version
*/
String getPlatformVersion();
/**
* Get a map of advertised capabilities of this platform, where each key
* in the given map is a supported capability and the respective value
* indicates the preference for this platform for that given capability.
*
* @return a map of capabilities
*/
Map