public final class ManualAPIImpl extends java.lang.Object implements ManualClientAPI
| Modifier and Type | Class and Description |
|---|---|
static class |
ManualAPIImpl.History |
static class |
ManualAPIImpl.Tab |
| Modifier and Type | Field and Description |
|---|---|
static ManualAPIImpl |
INSTANCE |
| Modifier and Type | Method and Description |
|---|---|
void |
addProvider(ContentProvider provider)
Register a content provider.
|
void |
addProvider(PathProvider provider)
Register a path provider.
|
void |
addProvider(java.lang.String prefix,
ImageProvider provider)
Register an image provider.
|
void |
addTab(TabIconRenderer renderer,
java.lang.String tooltip,
java.lang.String path)
Register a tab to be displayed next to the manual.
|
java.lang.Iterable<java.lang.String> |
contentFor(java.lang.String path)
Get the content of the documentation page at the specified location.
|
static int |
getHistorySize() |
static java.util.List<ManualAPIImpl.Tab> |
getTabs() |
ImageRenderer |
imageFor(java.lang.String href)
Get the image renderer for the specified image path.
|
static java.lang.String |
makeRelative(java.lang.String path,
java.lang.String base)
Makes the specified path relative to the specified base path.
|
void |
navigate(java.lang.String path)
Navigate to a page in the manual.
|
void |
openFor(net.minecraft.entity.player.PlayerEntity player)
Open the manual for the specified player.
|
java.lang.String |
pathFor(net.minecraft.item.ItemStack stack)
Look up the documentation path for the specified item stack.
|
java.lang.String |
pathFor(net.minecraft.world.World world,
net.minecraft.util.math.BlockPos pos)
Look up the documentation for the specified block in the world.
|
static int |
peekOffset() |
static java.lang.String |
peekPath() |
static void |
popPath() |
static void |
pushPath(java.lang.String path) |
void |
reset()
Reset the history of the manual.
|
static void |
setOffset(int offset) |
public static final ManualAPIImpl INSTANCE
public static int getHistorySize()
public static void pushPath(java.lang.String path)
public static java.lang.String peekPath()
public static int peekOffset()
public static void setOffset(int offset)
public static void popPath()
public static java.util.List<ManualAPIImpl.Tab> getTabs()
public void addTab(TabIconRenderer renderer, @Nullable java.lang.String tooltip, java.lang.String path)
ManualClientAPIThese are intended to link to index pages, and for the time being there a relatively low number of tabs that can be displayed, so I'd ask you to only register as many tabs as actually, technically *needed*. Which will usually be one, for your main index page.
addTab in interface ManualClientAPIrenderer - the renderer used to render the icon on your tab.tooltip - the unlocalized tooltip of the tab, or null.path - the path to the page to open when the tab is clicked.public void addProvider(PathProvider provider)
ManualCommonAPIPath providers are used to find documentation entries for item stacks and blocks in the world.
addProvider in interface ManualCommonAPIprovider - the provider to register.public void addProvider(ContentProvider provider)
ManualClientAPIContent providers are used to resolve paths to page content, if the standard system (using Minecraft's resource loading facilities) fails.
This can be useful for providing dynamic content, for example.
addProvider in interface ManualClientAPIprovider - the provider to register.public void addProvider(java.lang.String prefix,
ImageProvider provider)
ManualClientAPIImage providers are used to render custom content in a page. These are selected via the standard image tag of Markdown, based on the prefix of the image URL, i.e.  will select the image provider registered for the prefix prefix, and pass to it the argument data, then use the returned renderer to draw an element in the place of the tag.
Custom providers are only selected if a prefix is matched, otherwise it'll treat it as a relative path to an image to load via Minecraft's resource providing facilities, and display that.
addProvider in interface ManualClientAPIprefix - the prefix on which to use the provider.provider - the provider to register.@Nullable public java.lang.String pathFor(net.minecraft.item.ItemStack stack)
ManualClientAPIpathFor in interface ManualClientAPIstack - the stack to find the documentation path for.@Nullable
public java.lang.String pathFor(net.minecraft.world.World world,
net.minecraft.util.math.BlockPos pos)
ManualClientAPIpathFor in interface ManualClientAPIworld - the world containing the block.pos - the position of the block.@Environment(value=CLIENT) @Nullable public java.lang.Iterable<java.lang.String> contentFor(java.lang.String path)
ManualClientAPIThe provided path may contain the special variable %LANGUAGE%, which will be resolved to the currently set language, falling back to en_US.
contentFor in interface ManualClientAPIpath - the path of the page to get the content of.@Environment(value=CLIENT) @Nullable public ImageRenderer imageFor(java.lang.String href)
ManualClientAPI
This will look for ImageProviders registered for a prefix in the
specified path. If there is no match, or the matched content provider
does not provide a renderer, this will return null.
imageFor in interface ManualClientAPIhref - the path to the image to get the renderer for.@Environment(value=CLIENT) public void openFor(net.minecraft.entity.player.PlayerEntity player)
ManualClientAPI
If you wish to display a specific page, call ManualClientAPI.navigate(String)
after this function returns, with the path to the page to show.
openFor in interface ManualClientAPIplayer - the player to open the manual for.public void reset()
ManualClientAPIreset in interface ManualClientAPI@Environment(value=CLIENT) public void navigate(java.lang.String path)
ManualClientAPInavigate in interface ManualClientAPIpath - the path to navigate to.public static java.lang.String makeRelative(java.lang.String path,
java.lang.String base)
path - the path to make relative.base - the path to make it relative to.