Interface IClientArmorRegistry

All Known Implementing Classes:
ClientArmorRegistry

public interface IClientArmorRegistry
  • Field Details

  • Method Details

    • registerEntityTrackEntry

      void registerEntityTrackEntry(Supplier<? extends IEntityTrackEntry> entry)
      Register an entity tracker for the Pneumatic Helmet. Call this from FMLCommonSetupEvent listener (do not use ParallelDispatchEvent.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 a FMLClientSetupEvent listener (do not use ParallelDispatchEvent.enqueueWork(Runnable)).
      Parameters:
      id - the block entry ID
      entry - the block track entry (IBlockTrackEntry.getEntryID() must return the same ID as the id parameter
    • 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 title
      message - 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 displayed
      backColor - 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 of addHUDMessage(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 a FMLClientSetupEvent handler; do not use ParallelDispatchEvent.enqueueWork(Runnable). This also registers any keybindings referenced by the render handler (see IArmorUpgradeClientHandler.getInitialKeyBinding() and IArmorUpgradeClientHandler.getSubKeybinds().
      Parameters:
      handler - the common upgrade handler, previously registered with
      clientHandler - the client handler to register with the common upgrade handler
    • makeKeybindingButton

      IKeybindingButton makeKeybindingButton(int yPos, net.minecraft.client.KeyMapping keyBinding)
      Create a new keybinding button for an IOptionPage armor GUI screen. This is intended to be called from IOptionPage.populateGui(IGuiScreen) to set up a button which can be used to change a particular key binding.
      Parameters:
      yPos - y position of the button
      keyBinding - 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 ID
      xPos - X position of the widget
      yPos - Y position of the widget
      color - widget's text color in ARGB format
      onPressed - 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 stat
      icon - an icon to draw next to the title
      clientHandler - 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 like makeHUDStatPanel(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 stat
      icon - an icon to draw next to the title
      clientHandler - 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 to IGuiScreen.addWidget(AbstractWidget) to add this button to your upgrade GUI.

      Parameters:
      x - button X position
      y - button Y position
      handler - the client upgrade handler (can be obtained via IOptionPage.SimpleOptionPage.getClientUpgradeHandler()
      Returns:
      the button
    • 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 return Optional.empty().
      Returns:
      the block and face the player is currently looking at, or Optional.empty() if not focused on a block