mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-09-26 06:12:37 +02:00
cc2e1d44b2
* Implement new content display system. * Add @FunctionalInterface annotation to displaytools interfaces. * Use static factory method to create Builder with contents. * Use T for generic type since it's static method. * Rename Builder#display to show and require CommandSender. * Rename package from displaytools to display. * Move DisplayHandler impls into their own package. * Overload ContentDisplay#forContent with defaults for list and map. * Pass CommandSender to send command. This system is much more versatile when a single ContentDisplay instance can be used for multiple players. * Rename ContentDisplay#send to #show. * Split DisplaySettings into separate classes. Co-authored-by: Jeremy Wood <farachan@gmail.com>
48 lines
1.8 KiB
Java
48 lines
1.8 KiB
Java
package com.onarandombox.MultiverseCore.display;
|
|
|
|
import com.onarandombox.MultiverseCore.display.handlers.InlineListDisplayHandler;
|
|
import com.onarandombox.MultiverseCore.display.handlers.InlineMapDisplayHandler;
|
|
import com.onarandombox.MultiverseCore.display.handlers.ListDisplayHandler;
|
|
import com.onarandombox.MultiverseCore.display.handlers.PagedListDisplayHandler;
|
|
import com.onarandombox.MultiverseCore.display.settings.InlineDisplaySettings;
|
|
import com.onarandombox.MultiverseCore.display.settings.PagedDisplaySettings;
|
|
import com.onarandombox.MultiverseCore.display.settings.MapDisplaySettings;
|
|
|
|
import java.util.Collection;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Various implementations of {@link DisplayHandler}.
|
|
*/
|
|
public class DisplayHandlers {
|
|
|
|
/**
|
|
* Standard list display.
|
|
*
|
|
* Supported settings: none.
|
|
*/
|
|
public static final DisplayHandler<Collection<String>> LIST = new ListDisplayHandler();
|
|
|
|
/**
|
|
* List display with paging.
|
|
*
|
|
* Supported settings: {@link PagedDisplaySettings#SHOW_PAGE}, {@link PagedDisplaySettings#LINES_PER_PAGE},
|
|
* {@link PagedDisplaySettings#PAGE_IN_CONSOLE}, {@link PagedDisplaySettings#DO_END_PADDING}.
|
|
*/
|
|
public static final DisplayHandler<Collection<String>> PAGE_LIST = new PagedListDisplayHandler();
|
|
|
|
/**
|
|
* Display a list inline.
|
|
*
|
|
* Supported settings: {@link InlineDisplaySettings#SEPARATOR}.
|
|
*/
|
|
public static final DisplayHandler<Collection<String>> INLINE_LIST = new InlineListDisplayHandler();
|
|
|
|
/**
|
|
* Display key value pair inline.
|
|
*
|
|
* Supported settings: {@link InlineDisplaySettings#SEPARATOR}, {@link MapDisplaySettings#OPERATOR}.
|
|
*/
|
|
public static final DisplayHandler<Map<String, Object>> INLINE_MAP = new InlineMapDisplayHandler();
|
|
}
|