mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-15 20:12:02 +01:00
chore: Refactor and fix some bugs with content display
This commit is contained in:
parent
53f453b7ac
commit
09d8790804
@ -40,7 +40,7 @@ public class MVCommandContexts extends PaperCommandContexts {
|
||||
|
||||
private ContentFilter parseContentFilter(BukkitCommandExecutionContext context) {
|
||||
if (Strings.isNullOrEmpty(context.getFirstArg())) {
|
||||
return DefaultContentFilter.getInstance();
|
||||
return DefaultContentFilter.get();
|
||||
}
|
||||
String filterString = context.popFirstArg();
|
||||
return RegexContentFilter.fromString(filterString);
|
||||
|
@ -18,4 +18,11 @@ public interface ContentFilter {
|
||||
* @return True if content should be filtered, false otherwise.
|
||||
*/
|
||||
boolean needToFilter();
|
||||
|
||||
/**
|
||||
* Gets the string representation of this filter.
|
||||
*
|
||||
* @return The string representation of this filter.
|
||||
*/
|
||||
String toString();
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ public class DefaultContentFilter implements ContentFilter {
|
||||
|
||||
public static DefaultContentFilter instance;
|
||||
|
||||
public static DefaultContentFilter getInstance() {
|
||||
public static DefaultContentFilter get() {
|
||||
if (instance == null) {
|
||||
instance = new DefaultContentFilter();
|
||||
}
|
||||
|
@ -68,11 +68,11 @@ public class RegexContentFilter implements ContentFilter {
|
||||
if (!hasValidRegex()) {
|
||||
return false;
|
||||
}
|
||||
String text = ChatColor.stripColor(String.valueOf(value));
|
||||
String text = ChatColor.stripColor(String.valueOf(value)).toLowerCase();
|
||||
try {
|
||||
return regexPattern.matcher(text).find();
|
||||
} catch (PatternSyntaxException ignored) {
|
||||
Logging.fine("Error parsing regex '%s' for input '%s'", regexString, text);
|
||||
Logging.warning("Error parsing regex '%s' for input '%s'", regexString, text);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
public abstract class BaseSendHandler<T extends BaseSendHandler<?>> implements SendHandler {
|
||||
|
||||
protected String header = "";
|
||||
protected ContentFilter filter = DefaultContentFilter.getInstance();
|
||||
protected ContentFilter filter = DefaultContentFilter.get();
|
||||
protected String noContentMessage = String.format("%sThere is no content to display.", ChatColor.RED);
|
||||
|
||||
/**
|
||||
|
@ -35,7 +35,7 @@ public class PagedSendHandler extends BaseSendHandler<PagedSendHandler> {
|
||||
*/
|
||||
@Override
|
||||
public void sendContent(@NotNull BukkitCommandIssuer issuer, @NotNull List<String> content) {
|
||||
if (!paginate || (issuer instanceof ConsoleCommandSender && !paginateInConsole)) {
|
||||
if (!paginate || (issuer.getIssuer() instanceof ConsoleCommandSender && !paginateInConsole)) {
|
||||
sendNormal(issuer, content);
|
||||
return;
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ public class ListContentProvider<T> implements ContentProvider {
|
||||
|
||||
private final List<T> list;
|
||||
|
||||
private String format = "%s";
|
||||
private String format = null;
|
||||
|
||||
public ListContentProvider(List<T> list) {
|
||||
this.list = list;
|
||||
@ -38,6 +38,9 @@ public class ListContentProvider<T> implements ContentProvider {
|
||||
*/
|
||||
@Override
|
||||
public Collection<String> parse(@NotNull BukkitCommandIssuer issuer) {
|
||||
if (format == null) {
|
||||
return list.stream().map(Object::toString).collect(Collectors.toList());
|
||||
}
|
||||
return list.stream().map(element -> String.format(format, element)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user