Interface IClientArmorRegistry
- All Known Implementing Classes:
ClientArmorRegistry
public interface IClientArmorRegistry
Retrieve an instance of this via
PneumaticRegistry.IPneumaticCraftInterface.getClientArmorRegistry()-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault voidaddHUDMessage(net.minecraft.network.chat.Component title) Convenience version ofaddHUDMessage(Component, List, int, int)which displays a one-line message for 2.5 seconds, using the default green background colourvoidaddHUDMessage(net.minecraft.network.chat.Component title, List<net.minecraft.network.chat.Component> message, int duration, int backColor) Add a message for display in the Pneumatic Helmet HUD displayGet the block position and face that is currently focused on by the player via the Block Tracker upgrade.makeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.resources.ResourceLocation icon, IArmorUpgradeClientHandler<?> clientHandler) Just likemakeHUDStatPanel(Component, ItemStack, IArmorUpgradeClientHandler)but you can pass an arbitrary texture to use as the icon.makeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.world.item.ItemStack icon, IArmorUpgradeClientHandler<?> clientHandler) Create a stat panel for display on the Pneumatic Armor HUD.makeKeybindingButton(int yPos, net.minecraft.client.KeyMapping keyBinding) Create a new keybinding button for anIOptionPagearmor GUI screen.makeKeybindingCheckBox(net.minecraft.resources.ResourceLocation upgradeId, int xPos, int yPos, int color, Consumer<ICheckboxWidget> onPressed) Create or retrieve the toggle checkbox for the given upgrade.net.minecraft.client.gui.components.AbstractWidgetmakeStatMoveButton(int x, int y, IArmorUpgradeClientHandler<?> handler) Create a "Move Stat Screen..." button to allow the stat panel for an upgrade to be moved.voidregisterBlockTrackEntry(net.minecraft.resources.ResourceLocation id, Supplier<? extends IBlockTrackEntry> entry) Register an block track entry (i.e.voidregisterEntityTrackEntry(Supplier<? extends IEntityTrackEntry> entry) Register an entity tracker for the Pneumatic Helmet.<T extends IArmorUpgradeHandler<?>>
voidregisterUpgradeHandler(T handler, IArmorUpgradeClientHandler<T> clientHandler) Registers the client handler for a Pneumatic Armor upgrade.
-
Field Details
-
DEFAULT_MESSAGE_BGCOLOR
static final int DEFAULT_MESSAGE_BGCOLOR- See Also:
-
-
Method Details
-
registerEntityTrackEntry
Register an entity tracker for the Pneumatic Helmet. Call this fromFMLCommonSetupEventlistener (do not useParallelDispatchEvent.enqueueWork(Runnable)).- Parameters:
entry- the entity tracker
-
registerBlockTrackEntry
void registerBlockTrackEntry(net.minecraft.resources.ResourceLocation id, Supplier<? extends IBlockTrackEntry> entry) Register an block track entry (i.e. a subcategory of the Block Tracker) for the Pneumatic Helmet. Call this from aFMLClientSetupEventlistener (do not useParallelDispatchEvent.enqueueWork(Runnable)).- Parameters:
id- the block entry IDentry- the block track entry (IBlockTrackEntry.getEntryID()must return the same ID as theidparameter
-
addHUDMessage
void addHUDMessage(net.minecraft.network.chat.Component title, List<net.minecraft.network.chat.Component> message, int duration, int backColor) Add a message for display in the Pneumatic Helmet HUD display- Parameters:
title- the message titlemessage- the message text (can be empty if the title suffices for a one-line message)duration- the duration in ticks for the message to be displayedbackColor- the message background color, including alpha (DEFAULT_MESSAGE_BGCOLOR is the default green color used by most messages)
-
addHUDMessage
default void addHUDMessage(net.minecraft.network.chat.Component title) Convenience version ofaddHUDMessage(Component, List, int, int)which displays a one-line message for 2.5 seconds, using the default green background colour- Parameters:
title- the message
-
registerUpgradeHandler
<T extends IArmorUpgradeHandler<?>> void registerUpgradeHandler(T handler, IArmorUpgradeClientHandler<T> clientHandler) Registers the client handler for a Pneumatic Armor upgrade. This must be called from aFMLClientSetupEventhandler; do not useParallelDispatchEvent.enqueueWork(Runnable). This also registers any keybindings referenced by the render handler (seeIArmorUpgradeClientHandler.getInitialKeyBinding()andIArmorUpgradeClientHandler.getSubKeybinds().- Parameters:
handler- the common upgrade handler, previously registered withclientHandler- the client handler to register with the common upgrade handler
-
makeKeybindingButton
Create a new keybinding button for anIOptionPagearmor GUI screen. This is intended to be called fromIOptionPage.populateGui(IGuiScreen)to set up a button which can be used to change a particular key binding.- Parameters:
yPos- y position of the buttonkeyBinding- the keybinding modified by the button- Returns:
- the new button
-
makeKeybindingCheckBox
ICheckboxWidget makeKeybindingCheckBox(net.minecraft.resources.ResourceLocation upgradeId, int xPos, int yPos, int color, Consumer<ICheckboxWidget> onPressed) Create or retrieve the toggle checkbox for the given upgrade. If the checkbox doesn't already exist, it will be created; if it exists, the existing checkbox will be returned. There is only ever one toggle checkbox in existence for any given upgrade ID / clientside upgrade handler.This is intended to be called from
IOptionPage.populateGui(IGuiScreen)when creating the GUI for an upgrade handler.- Parameters:
upgradeId- the upgrade IDxPos- X position of the widgetyPos- Y position of the widgetcolor- widget's text color in ARGB formatonPressed- called when the checkbox is toggled
-
makeHUDStatPanel
IGuiAnimatedStat makeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.world.item.ItemStack icon, IArmorUpgradeClientHandler<?> clientHandler) Create a stat panel for display on the Pneumatic Armor HUD.This panel is automatically coloured according to the player's armor eyepiece color setting, and is re-positionable by the player. See
IArmorUpgradeClientHandler.getDefaultStatLayout()to define the default positioning for the panel.- Parameters:
title- title text to display on the staticon- an icon to draw next to the titleclientHandler- the client upgrade handler this panel is associated with- Returns:
- the stat panel
-
makeHUDStatPanel
IGuiAnimatedStat makeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.resources.ResourceLocation icon, IArmorUpgradeClientHandler<?> clientHandler) Just likemakeHUDStatPanel(Component, ItemStack, IArmorUpgradeClientHandler)but you can pass an arbitrary texture to use as the icon. The texture should be 16x16.- Parameters:
title- title text to display on the staticon- an icon to draw next to the titleclientHandler- the client upgrade handler this panel is associated with- Returns:
- the stat panel
-
makeStatMoveButton
net.minecraft.client.gui.components.AbstractWidget makeStatMoveButton(int x, int y, IArmorUpgradeClientHandler<?> handler) Create a "Move Stat Screen..." button to allow the stat panel for an upgrade to be moved. Clicking this button will automatically open the stat panel configuration GUI and allow the panel to be moved.Call this from
IOptionPage.populateGui(IGuiScreen), and pass the return value toIGuiScreen.addWidget(AbstractWidget)to add this button to your upgrade GUI.- Parameters:
x- button X positiony- button Y positionhandler- the client upgrade handler (can be obtained viaIOptionPage.SimpleOptionPage.getClientUpgradeHandler()- Returns:
- the button
-
getBlockTrackerFocus
Optional<IClientArmorRegistry.BlockTrackerFocus> getBlockTrackerFocus()Get the block position and face that is currently focused on by the player via the Block Tracker upgrade. If the Block Tracker isn't currently active or the player isn't currently looking at a block which is of interest to the block tracker, this will returnOptional.empty().- Returns:
- the block and face the player is currently looking at, or Optional.empty() if not focused on a block
-