Enum Class PneumaticHelmetRegistry
java.lang.Object
java.lang.Enum<PneumaticHelmetRegistry>
me.desht.pneumaticcraft.client.render.pneumatic_armor.PneumaticHelmetRegistry
- All Implemented Interfaces:
Serializable,Comparable<PneumaticHelmetRegistry>,Constable,IPneumaticHelmetRegistry
public enum PneumaticHelmetRegistry
extends Enum<PneumaticHelmetRegistry>
implements IPneumaticHelmetRegistry
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum Constants -
Field Summary
Fields inherited from interface me.desht.pneumaticcraft.api.client.pneumatic_helmet.IPneumaticHelmetRegistry
DEFAULT_MESSAGE_BGCOLOR -
Method Summary
Modifier and TypeMethodDescriptionvoidaddHackable(Class<? extends net.minecraft.world.entity.Entity> entityClazz, Supplier<? extends IHackableEntity> iHackable) Register a "foreign" entity with your hackable.voidaddHackable(net.minecraft.tags.TagKey<net.minecraft.world.level.block.Block> blockTag, Supplier<? extends IHackableBlock> iHackable) Register a block tag with your hackable.voidaddHackable(net.minecraft.world.level.block.Block block, Supplier<? extends IHackableBlock> iHackable) Register a "foreign" block with your hackable.voidaddHUDMessage(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 displayorg.apache.commons.lang3.tuple.Pair<net.minecraft.core.BlockPos,net.minecraft.core.Direction> Get the block position and face that is currently focused on by the player via the Block Tracker upgrade.getCurrentEntityHacks(net.minecraft.world.entity.Entity entity) Get a list of all current successful hacks on a given entity.static PneumaticHelmetRegistrymakeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.resources.ResourceLocation icon, IArmorUpgradeClientHandler<?> clientHandler) Just likeIPneumaticHelmetRegistry.makeHUDStatPanel(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<?>>
voidregisterRenderHandler(T handler, IArmorUpgradeClientHandler<T> clientHandler) Registers the client handler for a Pneumatic Armor upgrade.voidregisterUpgradeHandler(IArmorUpgradeHandler<?> handler) Register a common (client and server) handler for a Pneumatic Armor upgrade.static PneumaticHelmetRegistryReturns the enum constant of this class with the specified name.static PneumaticHelmetRegistry[]values()Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class java.lang.Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOfMethods inherited from interface me.desht.pneumaticcraft.api.client.pneumatic_helmet.IPneumaticHelmetRegistry
addHUDMessage, registerBlockTrackEntry
-
Enum Constant Details
-
INSTANCE
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
getInstance
-
registerEntityTrackEntry
Description copied from interface:IPneumaticHelmetRegistryRegister an entity tracker for the Pneumatic Helmet. Call this fromFMLCommonSetupEventlistener (do not useParallelDispatchEvent.enqueueWork(Runnable)).- Specified by:
registerEntityTrackEntryin interfaceIPneumaticHelmetRegistry- Parameters:
entry- the entity tracker
-
registerBlockTrackEntry
public void registerBlockTrackEntry(net.minecraft.resources.ResourceLocation id, Supplier<? extends IBlockTrackEntry> entry) Description copied from interface:IPneumaticHelmetRegistryRegister 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)).- Specified by:
registerBlockTrackEntryin interfaceIPneumaticHelmetRegistry- Parameters:
id- the block entry IDentry- the block track entry (IBlockTrackEntry.getEntryID()must return the same ID as theidparameter
-
addHUDMessage
public void addHUDMessage(net.minecraft.network.chat.Component title, List<net.minecraft.network.chat.Component> message, int duration, int backColor) Description copied from interface:IPneumaticHelmetRegistryAdd a message for display in the Pneumatic Helmet HUD display- Specified by:
addHUDMessagein interfaceIPneumaticHelmetRegistry- 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)
-
addHackable
public void addHackable(Class<? extends net.minecraft.world.entity.Entity> entityClazz, Supplier<? extends IHackableEntity> iHackable) Description copied from interface:IPneumaticHelmetRegistryRegister a "foreign" entity with your hackable. This should be used for entities you didn't create, i.e. vanilla or from a different mod. For your own entities, just have your entity implementIHackableEntity- Specified by:
addHackablein interfaceIPneumaticHelmetRegistry- Parameters:
entityClazz- entity class; subclasses of this entity will also be affectediHackable- the hack to register
-
addHackable
public void addHackable(net.minecraft.world.level.block.Block block, Supplier<? extends IHackableBlock> iHackable) Description copied from interface:IPneumaticHelmetRegistryRegister a "foreign" block with your hackable. This should be used for blocks you didn't create, i.e. vanilla or from a different mod. For your own blocks, just have your block implementIHackableBlock- Specified by:
addHackablein interfaceIPneumaticHelmetRegistry- Parameters:
block- the block class; subclasses of this block will also be affectediHackable- the hack to register
-
addHackable
public void addHackable(net.minecraft.tags.TagKey<net.minecraft.world.level.block.Block> blockTag, Supplier<? extends IHackableBlock> iHackable) Description copied from interface:IPneumaticHelmetRegistryRegister a block tag with your hackable. By default, the vanilla doors, buttons & trapdoors block tags are registered, meaning any block added to any of those tags (e.g. modded doors) will also be considered hackable.- Specified by:
addHackablein interfaceIPneumaticHelmetRegistry- Parameters:
blockTag- the block tag to registeriHackable- the hack to register
-
getCurrentEntityHacks
Description copied from interface:IPneumaticHelmetRegistryGet a list of all current successful hacks on a given entity. This is used for example in Enderman hacking, so the user can only hack an enderman once (more times wouldn't have any effect). This is mostly used for display purposes.- Specified by:
getCurrentEntityHacksin interfaceIPneumaticHelmetRegistry- Parameters:
entity- the entity to check- Returns:
- empty list if no hacks.
-
registerUpgradeHandler
Description copied from interface:IPneumaticHelmetRegistryRegister a common (client and server) handler for a Pneumatic Armor upgrade. This must be called from aFMLCommonSetupEventhandler (it is not necessary to useParallelDispatchEvent.enqueueWork(Runnable)).- Specified by:
registerUpgradeHandlerin interfaceIPneumaticHelmetRegistry- Parameters:
handler- the handler to register
-
registerRenderHandler
public <T extends IArmorUpgradeHandler<?>> void registerRenderHandler(T handler, IArmorUpgradeClientHandler<T> clientHandler) Description copied from interface:IPneumaticHelmetRegistryRegisters 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().- Specified by:
registerRenderHandlerin interfaceIPneumaticHelmetRegistry- Parameters:
handler- the common upgrade handler, previously registered withclientHandler- the client handler to register with the common upgrade handler
-
makeKeybindingButton
Description copied from interface:IPneumaticHelmetRegistryCreate 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.- Specified by:
makeKeybindingButtonin interfaceIPneumaticHelmetRegistry- Parameters:
yPos- y position of the buttonkeyBinding- the keybinding modified by the button- Returns:
- the new button
-
makeKeybindingCheckBox
public ICheckboxWidget makeKeybindingCheckBox(net.minecraft.resources.ResourceLocation upgradeId, int xPos, int yPos, int color, Consumer<ICheckboxWidget> onPressed) Description copied from interface:IPneumaticHelmetRegistryCreate 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.- Specified by:
makeKeybindingCheckBoxin interfaceIPneumaticHelmetRegistry- 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
public IGuiAnimatedStat makeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.world.item.ItemStack icon, IArmorUpgradeClientHandler<?> clientHandler) Description copied from interface:IPneumaticHelmetRegistryCreate 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.- Specified by:
makeHUDStatPanelin interfaceIPneumaticHelmetRegistry- 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
public IGuiAnimatedStat makeHUDStatPanel(net.minecraft.network.chat.Component title, net.minecraft.resources.ResourceLocation icon, IArmorUpgradeClientHandler<?> clientHandler) Description copied from interface:IPneumaticHelmetRegistryJust likeIPneumaticHelmetRegistry.makeHUDStatPanel(Component, ItemStack, IArmorUpgradeClientHandler)but you can pass an arbitrary texture to use as the icon. The texture should be 16x16.- Specified by:
makeHUDStatPanelin interfaceIPneumaticHelmetRegistry- 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
public net.minecraft.client.gui.components.AbstractWidget makeStatMoveButton(int x, int y, IArmorUpgradeClientHandler<?> handler) Description copied from interface:IPneumaticHelmetRegistryCreate 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.- Specified by:
makeStatMoveButtonin interfaceIPneumaticHelmetRegistry- Parameters:
x- button X positiony- button Y positionhandler- the client upgrade handler (can be obtained viaIOptionPage.SimpleOptionPage.getClientUpgradeHandler()- Returns:
- the button
-
getBlockTrackerFocus
public org.apache.commons.lang3.tuple.Pair<net.minecraft.core.BlockPos,net.minecraft.core.Direction> getBlockTrackerFocus()Description copied from interface:IPneumaticHelmetRegistryGet 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 (null,null).- Specified by:
getBlockTrackerFocusin interfaceIPneumaticHelmetRegistry- Returns:
- a pair of position and facing
-