mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-06-28 07:35:09 +02:00
This handler did not return list of strings but list of challenge levels, that is incorrect. Not it should work correctly.
70 lines
1.8 KiB
Java
70 lines
1.8 KiB
Java
package world.bentobox.challenges.handlers;
|
|
|
|
|
|
import java.util.Collections;
|
|
import java.util.Map;
|
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import world.bentobox.bentobox.api.addons.request.AddonRequestHandler;
|
|
import world.bentobox.challenges.ChallengesAddon;
|
|
|
|
|
|
/**
|
|
* This handler returns all levels that is working in given world.
|
|
*/
|
|
public class LevelListRequestHandler extends AddonRequestHandler
|
|
{
|
|
|
|
/**
|
|
* Constructor creates a new CompletedChallengesRequestHandler instance.
|
|
*
|
|
* @param addon of type ChallengesAddon
|
|
*/
|
|
public LevelListRequestHandler(ChallengesAddon addon)
|
|
{
|
|
super("level-list");
|
|
this.addon = addon;
|
|
}
|
|
|
|
|
|
/* (non-Javadoc)
|
|
* @see world.bentobox.bentobox.api.addons.request.AddonRequestHandler#handle(java.util.Map)
|
|
* @param metaData Required meta data.
|
|
* @return List of strings that contains levels in given world
|
|
*/
|
|
@Override
|
|
public Object handle(Map<String, Object> metaData)
|
|
{
|
|
/*
|
|
What we need in the metaData:
|
|
0. "world-name" -> String
|
|
What we will return:
|
|
- List of levels in given world.
|
|
*/
|
|
|
|
if (metaData == null ||
|
|
metaData.isEmpty() ||
|
|
metaData.get("world-name") == null ||
|
|
!(metaData.get("world-name") instanceof String) ||
|
|
Bukkit.getWorld((String) metaData.get("world-name")) == null)
|
|
{
|
|
return Collections.emptyList();
|
|
}
|
|
|
|
return this.addon.getChallengesManager().getLevelNames(
|
|
Bukkit.getWorld((String) metaData.get("world-name")));
|
|
}
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
// Section: Variables
|
|
// ---------------------------------------------------------------------
|
|
|
|
|
|
/**
|
|
* Variable stores challenges addon.
|
|
*/
|
|
private ChallengesAddon addon;
|
|
}
|