mirror of
https://github.com/PlaceholderAPI/PlaceholderAPI
synced 2025-09-09 18:31:17 +02:00
updated cloud expansion list to be sorted via a configuration option of values [name, author, latest]. closes #363
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package me.clip.placeholderapi.configuration;
|
||||
|
||||
import me.clip.placeholderapi.expansion.cloud.CloudExpansion;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
public enum ExpansionSort implements Comparator<CloudExpansion>
|
||||
{
|
||||
|
||||
NAME(Comparator.comparing(CloudExpansion::getName)),
|
||||
AUTHOR(Comparator.comparing(CloudExpansion::getAuthor)),
|
||||
LATEST(Comparator.comparing(CloudExpansion::getLastUpdate).reversed());
|
||||
|
||||
|
||||
@NotNull
|
||||
private final Comparator<CloudExpansion> comparator;
|
||||
|
||||
ExpansionSort(@NotNull final Comparator<CloudExpansion> comparator)
|
||||
{
|
||||
this.comparator = comparator;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public final int compare(final CloudExpansion expansion1, final CloudExpansion expansion2)
|
||||
{
|
||||
return comparator.compare(expansion1, expansion2);
|
||||
}
|
||||
|
||||
}
|
@@ -23,6 +23,8 @@ package me.clip.placeholderapi.configuration;
|
||||
import me.clip.placeholderapi.PlaceholderAPIPlugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public final class PlaceholderAPIConfig
|
||||
{
|
||||
|
||||
@@ -64,6 +66,22 @@ public final class PlaceholderAPIConfig
|
||||
}
|
||||
|
||||
|
||||
public Optional<ExpansionSort> getExpansionSort()
|
||||
{
|
||||
final String option = plugin.getConfig().getString("cloud_sorting", ExpansionSort.LATEST.name());
|
||||
|
||||
try
|
||||
{
|
||||
//noinspection ConstantConditions (bad spigot annotation)
|
||||
return Optional.of(ExpansionSort.valueOf(option.toUpperCase()));
|
||||
}
|
||||
catch (final IllegalArgumentException ignored)
|
||||
{
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
public String dateFormat()
|
||||
{
|
||||
|
Reference in New Issue
Block a user