Skip to content

Classes ​

Classes are the objects libraries and events return: entities, blocks, inventories, draw elements, screens, and builders. Follow a library method's return type into its class. Constructors are shown only for types scripts are meant to construct.

Commands ​

Builders for client-side commands and argument suggestions.

  • CommandBuilder — Builds a command tree for client registration; obtain it from FChat.getCommandManager().
  • CommandManager — Provides access to the client's command tree, command builders, and command autocomplete.
  • CommandNodeHelper — Holds server- and client-side command nodes returned by unregistration for re-registration.

Configuration/Profiles ​

Profiles, options, and the configuration objects behind them.

  • BaseProfile — Manages a core's active profile and the event and library registries initialized for it.
  • ClientProfile — Client-side profile implementation with client event, library, and helper registrations and client-specific error reporting.
  • ConfigManager — Manages registered configuration-option classes and the JSON data loaded for them.
  • OptionsHelper — Provides access to the client's game settings.

Entity Helpers ​

Typed wrappers for entities and their attributes.

Event Filterers ​

Reusable conditions that decide whether a listener receives an event.

Events and Event Handling ​

The base types and handles used to receive and control events.

  • BaseEvent — Base class for event payloads dispatched to registered listeners.
  • BaseEventRegistry — Registry of event names, listeners, and dispatch metadata.
  • Event — Declares an event type's registry metadata: its current name, aliases, dispatch flags, and optional filterer class.
  • EventContainer — Tracks a joined event's lock and callbacks queued until its release.
  • EventFilterer — Determines whether an event name is supported and whether an event instance passes a filter.
    • Compound — Extension hook for composed filterers to check references to themselves.

Inventory ​

Views of the player's inventory and open containers.

  • AnvilInventory — Handle for an open anvil screen.
  • BeaconInventory — Handle for an open beacon screen.
  • BrewingStandInventory — Exposes a brewing stand's potion, ingredient, and fuel slots by name, with helpers to check recipes and preview brewing results without changing the stand.
  • CartographyInventory — A handle for an open cartography table screen.
  • ContainerInventory — Inventory handle for chest-like container screens.
  • CraftingInventory — Provides access to the input grid and result of a crafting menu.
  • CreativeInventory — Handles the creative inventory screen and its item tabs.
  • EnchantInventory — Handles an open enchanting table screen.
  • FurnaceInventory — Inventory wrapper for a furnace screen, exposing its input, fuel, result, and smelting state.
  • GrindStoneInventory — Handle for an open grindstone screen.
  • HorseInventory — Handle for an open horse, mule, donkey, llama, or camel inventory screen.
  • Inventory — Wraps a container screen's menu; specialized subclasses represent recognized screen types.
  • LoomInventory — Provides access to pattern selection in an open loom screen.
  • PlayerInventory — The player's inventory screen, including its crafting result, input grid, equipment, and hotbar.
  • RecipeInventory — Base API for recipe-book screens, exposing their input dimensions, cells, output, and recipe-book entries.
  • SmithingInventory — Wraps an open smithing table screen.
  • StoneCutterInventory — Handles an open stonecutter screen.
  • VillagerInventory — Handles an open villager trading screen.

Items/Enchantments ​

Item stacks, item definitions, recipes, and enchantments.

  • CreativeItemStackHelper — Wraps an ItemStackHelper stack with methods for changing its components.
  • EnchantmentHelper — Represents an enchantment and an optional level.
  • FoodComponentHelper — Exposes an item's nutrition, saturation, and always-edible flag.
  • ItemHelper — Describes an item type, independently of any particular stack; use ItemStackHelper for stack-specific state.
  • ItemStackHelper — A script-facing view of an item stack, including its count and components.
  • RecipeHelper — Describes a recipe's inputs and output, and checks or requests crafting for the current player.

Misc Helpers ​

Small wrappers and utilities shared by other APIs.

  • AdvancementHelper — Represents an advancement definition and its position in the advancement tree.
  • AdvancementManagerHelper — Provides the client's advancement tree and, when a player is available, that player's progress.
  • AdvancementProgressHelper — Progress of a player's advancement, including completed criteria and requirement groups.
  • BaseHelper — Base class for helpers that wrap a raw value; it is abstract and is not a standalone script global.
  • BlockDataHelper — A block state, its position, and its optional block entity, returned by world block lookups.
  • BlockHelper — Describes a block type independently of any world position; BlockStateHelper represents one of that block's variants.
  • BlockPredicateHelper — A condition that tests whether a block at a position matches its block, state, and NBT criteria.
  • BlockStateHelper — Represents one particular state of a block, including its property values.
  • BossBarHelper — A wrapper exposing the state of one boss bar known to the client.
  • ChatHudLineHelper — Wraps a chat HUD history entry, exposing its text and creation tick and allowing removal from the HUD scrollback.
  • ChunkHelper — Provides access to a chunk.
  • DirectionHelper — A helper for one of Minecraft's six cardinal directions.
  • DyeColorHelper — Wraps a dye color and exposes its name, index, and game-defined colors.
  • FluidStateHelper — A fluid state describes a fluid type and its state properties.
  • FormattingHelper — Wraps one of Minecraft's text color or formatting codes.
  • HitResultHelper — Wraps a crosshair hit result, with shared access to its hit position and subtype-specific access for block and entity hits.
    • Block — Represents a block hit or miss; use isMissed() to distinguish them.
    • Entity — A target that carries the entity and the hit location recorded by the hit result.
  • InteractionManagerHelper — Controls client-side player interactions with the world through the current interaction manager.
  • ModContainerHelper — A loaded mod's metadata exposed to scripts.
  • NBTElementHelper — Wraps an NBT tag and provides type checks, typed helper views, and path lookup.
    • NBTCompoundHelper — Wraps a compound tag and provides access to its keys and values.
    • NBTListHelper — Provides indexed access to list and array tags, and converts four-int arrays to UUIDs.
    • NBTNumberHelper — Wraps a numeric tag and provides conversions to primitive numeric types.
  • NbtPredicateHelper — Tests an entity, item stack, or NBT element against a partial NBT condition.
  • PacketByteBufferHelper — Reads and writes typed values in a packet buffer; callers must use the packet's field order and matching read/write operations.
  • PlayerAbilitiesHelper — Reads and changes the local player's abilities, including flight, invulnerability, movement speed, and permission to build.
  • PlayerListEntryHelper — A client-side tab-list entry for a player.
  • RegistryHelper — Provides registry lookups and listings as JsMacros helpers.
  • ScoreboardObjectiveHelper — An objective holds scores for scoreboard owners and can be displayed in a scoreboard slot.
  • ScoreboardsHelper — Provides access to a scoreboard's objectives, display slots, and teams.
  • ServerInfoHelper — A server-list entry containing its configured name and address and status information from a server ping.
  • StateHelper — Base helper for block and fluid states, exposing their named properties.
  • StatePredicateHelper — Tests block or fluid states against named property-value constraints.
  • StatsHelper — Provides access to the player's client-side statistics counters.
  • StatusEffectHelper — Describes a status-effect instance, including its type, amplifier, duration, and display flags.
  • StyleHelper — Exposes the formatting and click/hover events stored on a text style.
  • SuggestionsBuilderHelper — Wraps Brigadier's builder for command-completion callbacks, exposing the input range and methods for adding suggestions.
  • TeamHelper — Exposes a scoreboard team and its display, membership, color, and team-rule settings.
  • TextHelper — Wraps a Minecraft text component, which can contain text with different styles and click or hover behavior.
  • TradeOfferHelper — Represents a merchant trade, including its inputs, output, and use state.
  • UniversalBlockStateHelper — Provides typed accessors for common block-state properties.

Rendering/Graphics ​

2D overlays, 3D world rendering, and drawing primitives.

  • Box — An axis-aligned cuboid with an outline and an optional filled interior.
    • Builder — Configures a Box before building it.
  • CustomImage — An image a script can draw on and hand to the game as a texture.
  • Draw2D — A 2D overlay that stores and draws screen elements.
  • Draw2DElement — Draws a Draw2D as a positioned, scaled, and rotated element of another overlay.
    • Builder — Builds a nested overlay element with configurable position, dimensions, scale, rotation, and draw order.
  • Draw3D — A collection of 3D elements rendered as a world overlay.
  • EntityTraceLine — A TraceLine whose target follows an entity, with yOffset added to its interpolated Y coordinate each frame.
    • Builder — Configures and builds an EntityTraceLine.
  • IDraw2D — A 2D overlay that holds render elements; implemented by standalone overlays and screens.
  • Image — Draws a texture region at a position and destination size.
    • Builder — Builds an image element for an overlay.
  • Item — Draws an item stack using its model in a 16-by-16 GUI-pixel box; scale changes its reported dimensions, and rotation affects drawing.
    • Builder — Builds item icons for an overlay.
  • Line — A line is defined by two endpoints, a stroke thickness, and a rotation.
    • Builder — Builder for configuring and creating a line on an overlay.
  • Line3D — A fixed line segment between two world-space points.
    • Builder — Configures a line before building it.
  • Rect — A filled rectangle defined by two corner positions.
    • Builder — Builder for a rectangle on an overlay.
  • RenderElement — A renderable element that can be added to a 2D overlay.
  • RenderElement3D — A drawable element in a Draw3D overlay.
  • RenderElementBuilder — Base class for builders that configure render elements for a 2D overlay.
  • Surface — A Draw2D panel rendered in the world.
    • Builder — Builder for configuring and creating a Surface.
  • Text — A positioned text element with colour, shadow, scale, and rotation.
    • Builder — Builds a text element for an overlay.
  • TraceLine — A line from the camera toward a script-selected world-space target.
    • Builder — Configures a trace line before building it.

Screen and UI Elements ​

Script-created screens, widgets, and input controls.

  • AboutOverlay — WagYourGUI about-information overlay with close, Website, Discord, and Modrinth buttons; it is not a global HUD library.
  • AbstractWidgetBuilder — Base builder for screen widgets, storing their position, size, label, state flags, alpha, and z-index until build() creates and adds a widget to its screen.
  • AnnotatedCheckBox — A message-bearing checkbox with a square toggle area at the widget's right edge.
  • BaseScreen — Base class for screens that host nested overlays and retain a navigation parent.
  • Button — A native-widget button with a wrapped label, configurable packed ARGB colors, and an optional press callback.
  • ButtonWidgetHelper — Wraps a game button and exposes its button-specific behavior to scripts.
    • ButtonBuilder — Builds a standard-appearance button bound to the screen that supplied this builder.
    • TexturedButtonBuilder — Builds a texture-based button bound to the screen that supplied this builder.
  • CheckBoxContainer — A checkbox-and-label container for WagYourGUI; construction registers its checkbox with the supplied parent, while the host must arrange this container's label hook separately.
  • CheckBoxWidgetHelper — A checkbox widget whose checked state can be changed by the player or a script.
    • CheckBoxBuilder — Builder for a checkbox widget; its checked setting determines the widget's initial state.
  • ClickableWidgetHelper — Wraps a game widget so scripts can inspect and control it; other widget helpers extend this base.
  • ConfirmOverlay — A WagYourGUI message overlay with Confirm and Cancel buttons.
  • CyclingButtonWidgetHelper — A button that displays a selected value and cycles through configured values when pressed.
  • EventChooser — Displays registered event names in a five-column overlay and lets the caller confirm a selection.
    • EventObj — Holds an event name and its associated button as a row value; it does not register the button itself.
  • FileChooser — Browses native Java files with optional selection and edit callbacks.
    • fileObj — Mutable pair associating a caller-supplied native Java file reference with a project button.
    • sortFile — Comparator used by the chooser to order directories before other entries, then entries by case-sensitive lexicographic basename.
  • IOverlayParent — Parent contract for overlay operations in the WagYourGUI hierarchy, implemented by BaseScreen and OverlayContainer.
  • IScreen — A script-created screen combines IDraw2D drawing with interactive widgets and screen input callbacks.
  • ListContainer — A five-column list of selectable component buttons registered with a supplied widget host.
  • LockButtonWidgetHelper — A lock button toggles between locked and unlocked when pressed.
  • MultiElementContainer — Base for WagYourGUI groups that track widgets registered with a parent, along with shared geometry and font state.
  • OverlayContainer — A container that hosts nested overlays and delegates overlay operations through its parent.
  • ScriptScreen — The screen implementation returned by Hud.createScreen, exposed through IScreen.
  • Scrollbar — A vertical scroll control whose callback receives the current page offset, not a normalized fraction.
  • SelectorDropdownOverlay — A component-choice overlay with optional scrolling and a callback reporting the chosen zero-based index.
  • Slider — A slider widget with a value normally constrained to [0.0, 1.0].
  • SliderWidgetHelper — A JsMacros slider widget with a draggable handle.
    • SliderBuilder — Builds sliders for the screen returned by IScreen.sliderBuilder().
  • TextFieldWidgetHelper — Wraps the game's text field with a text-change callback.
    • TextFieldBuilder — Builds text-field widgets using the screen's font and configured dimensions.
  • TextInput — A native-button-backed editable text widget with selection and optional change and press callbacks.
  • TextOverlay — A WagYourGUI text-message overlay with a confirmation button that closes it.
  • TextPrompt — A WagYourGUI text-input overlay; open it through its parent to initialize and register its widgets.

Other classes ​

  • Alignable — Provides fluent horizontal and vertical alignment for render elements.
  • AutoCompleteSuggestion — Describes an editor autocomplete replacement and its dropdown label.
  • BaseLanguage — Base implementation for script-language integrations.
  • BaseLibrary — Base class for registered script libraries.
  • BaseListener — Base implementation for listeners backed by a ScriptTrigger.
  • BaseScriptContext — Holds a language runtime context and tracks threads and event containers associated with its execution.
    • ScriptAssertionError — Assertion error used when a script attempts an invalid context operation.
    • SleepRunnable — Operation accepted by BaseScriptContext.wrapSleep(SleepRunnable); its run() method may throw InterruptedException.
  • BaseWrappedException — A linked diagnostic record for an exception or stack frame.
    • GuestLocation — A guest-source location retaining the supplied file and diagnostic positions.
    • HostLocation — A source location carrying host display text, such as Native Method, a file location, or Unknown Source.
    • SourceLocation — Base type for guest and host source-location payloads attached to diagnostic entries.
  • BlockPosHelper — A block position with integer world coordinates.
  • CameraCompat — Provides version-compatible access to a Camera's position and rotations.
  • CategoryTreeContainer — Builds a settings-category tree whose nodes request category selection through a supplied parent.
  • ChatHistoryManager — Manages received chat scrollback and sent-message history.
  • ChunkPosCompat — Provides cross-version access to ChunkPos coordinates.
  • ClassBuilder — Builds a Java class at runtime from source declarations or member builders.
  • ClassWrapperTree — Registry that dispatches values to wrappers according to their runtime class.
  • ClientConfigV2 — Client-side GUI, input, and editor options registered with the client core configuration.
  • CommandNodeAccessor — Reflectively removes direct children from Brigadier command nodes.
  • ConfigFolder — Service for locating the JsMacros configuration directory.
  • ContainerInputCompat — Provides helpers for the container click-action enum used by the current Minecraft target.
  • Core — Connects a runtime's profile, configuration, event and library registries, extensions, services, and script execution facilities.
  • CoreConfigV2 — Holds core profile, service, and event-dispatch settings.
  • EventListener — Runs a profile macro trigger in response to its registered event.
  • EventLockWatchdog — Monitors an event-container lock and closes its script context if the lock remains held at the timed check.
    • WatchdogException — Diagnostic runtime exception used when a joined-script lock is still held at the watchdog's timed check.
  • EventRegistry — Client-side registry for profile macro triggers, exposed through the client's core rather than as a separate global library.
  • Extension — Provides an extension's identity, dependencies, initialization hook, and optional translations.
  • ExtensionClassLoader — Loads classes from an initial URL search path and allows URLs to be appended.
  • ExtensionLoader — Discovers and initializes extensions associated with a core; queries other than notLoaded() trigger loading when completion has not been recorded.
  • FakeServerCommandSource — A client-side command source that delegates suggestion and connection data to the client's ClientSuggestionProvider.
  • FileHandler — Represents a file and charset for script file operations.
    • FileLineIterator — Reads lines from a file using a reader held open until this iterator is closed.
  • GraalConfig — Settings for configuring GraalVM engine-wide and per-language options.
  • GraalExtension — Provides Graal language support and the JavaWrapper library through the extension loader; it is not a script global.
  • GraalScriptContext — Holds the runtime context and task queue for a Graal script.
  • GuestExceptionSimplifier — Simplifies selected Graal guest arity and overload errors into diagnostic messages.
  • HTTPRequest — A request configured with headers and timeouts, then sent synchronously to obtain a Response.
    • Response — Holds a response status and headers plus its unread body stream.
  • IAbstractMountInventoryScreen — Mixin-backed access to the mount entity stored by supported mount inventory screens; this is not a constructible screen type or a wrapper around the entity.
  • ICategoryTreeParent — Receives category-selection requests from a settings category tree, in addition to the inherited container operations.
  • IContainerParent — Parent contract for registering and removing widgets and routing overlays in WagYourGUI containers and screens.
  • ICustomClickEvent — Provides a platform-independent view of a custom click event.
  • IEventListener — A listener invoked when a registered event is dispatched.
  • ILoomScreen — Mixin-backed access to a loom screen's stored pattern-list display state, used by loom pattern selection.
  • IMerchantScreen — Mixin-backed access to the selected trade in an open merchant screen.
  • InteractionCompat — Calls the entity-interaction overload across Minecraft API versions.
  • InteractionProxy — Internal client-side proxy for crosshair-target, block-breaking, and held-interaction overrides.
    • Break — Manages the shared block-breaking override and its pending callbacks through client hooks; it is not a per-instance controller or confirmation of server-side breaking.
      • BreakBlockResult — Carries an outcome reason and optional block position reported by the breaking override.
    • Interact — Manages the shared held-use override maintained by client hooks; it is neither a physical-key query nor a per-player interaction controller.
    • Target — Manages the shared client-side crosshair-target override maintained by client hooks; it is not per-player and does not grant server reach.
  • IRecipeBookWidget — Accesses recipe-book state on a focused screen component.
  • ISignEditScreen — Mixin-backed access to text and cursor operations on an open sign-edit screen; this is not a screen type to construct or a global API.
  • JsMacros — Shared bootstrap constants, loader access, and integer-array utilities.
  • JsMacrosClient — Client-side core, menu-key, screen-state, and screen-naming utilities; scripts can access this class through Java.type, not a global library alias.
  • JsMacrosThreadPool — Runs tasks on one-shot daemon workers, each of which executes one task and exits.
    • PoolThread — One-shot daemon worker; assign a task and then start it, rather than reusing it.
  • LanguageExtension — Provides a language implementation and file, exception, and guest-object handling to the extension system.
    • ExtMatch — Categorizes an extension's match for a file.
  • Library — Marks a library class and supplies its script-global name and optional guest-language restrictions.
  • LibraryBuilder — Builds a library class and registers it for use as a script global.
  • LibraryExtension — An extension provider that contributes library classes for registration.
  • LibraryRegistry — Registers library classes and supplies applicable instances as globals for script runs.
  • MethodWrapper — Implements several Java functional interfaces in one callback wrapper, optionally associated with a script context.
  • ModLoader — Provides mod-loader metadata and lookup operations to the client API.
  • MovementQueue — Shared queue and prediction overlay used to play back queued player inputs.
  • NameUtil — Utilities for guessing player names and roles from chat-message prefixes.
  • Neighbor — A classpath anchor for classes generated by ClassBuilder and looked up through FReflection.
  • Option — Configures how an annotated configuration field or method is presented in the settings editor.
  • OptionType — Describes editor metadata attached to an Option; it is not a setting value or a global script API.
  • Pair — Stores two mutable values in positional order: T is first and U is second.
  • Plane3D — Represents three points in 3D space and derives their edge vectors and normal on demand.
  • PlayerInput — Data for one tick of queued player input.
  • Pos2D — A mutable pair of double coordinates.
  • Pos3D — A mutable position represented by three double coordinates.
  • PrioryFiFoTaskQueue — A queue that deduplicates entries by equality and groups them into integer-priority buckets, preserving insertion order within each bucket.
  • ProxyBuilder — Builds subclass or interface proxies whose selected methods are handled by script callbacks.
    • ProxyReference — Holds the proxy instance and a callable for the overridden method, and is passed to handlers registered with addMethod.
  • Registrable — Defines an object that can be registered and unregistered.
  • ScriptCodeCompiler — Compiles editor text and autocomplete/context-menu data by executing its configured code-compile script trigger.
  • ScriptNamespace — Gives scripts short names for Java types, such as EntityHelpers.Horse, so scripts do not need to know where those classes live in the Java source.
  • ScriptTrigger — Mutable trigger configuration used by listeners; constructing one does not register a listener or run a script.
    • TriggerType — Selects a key-event mode or dispatch by a named event.
  • ServiceManager — Manages registered script services, their running contexts, and reloads triggered by file changes.
    • ServiceStatus — Combined enabled/running state of a service; UNKNOWN means it is not registered.
  • ServiceTrigger — Mutable configuration for a service trigger.
  • SlotClickEvents — Dispatches slot-click and applicable drop events for container-screen mixins.
  • StringHashTrie — Stores strings in a prefix trie and provides collection operations and prefix searches.
  • SurfaceRenderTypes — Provides custom render types used by the surface renderer for colored quads, lines, and textured quads.
  • SynchronizedWeakHashSet — A set backed by weak keys; each of its own operations is synchronized, but this does not make inherited or compound operations atomic.
  • TextBuilder — Builds styled text by appending sections and applying styles to the latest section.
  • TextUtil — Version-compatible raw formatted-text style lookup using font pixel width; this is not a global library.
  • TickBasedEvents — Provides client tick bookkeeping and native ItemStack comparison helpers.
  • TPSData — Holds a recorded timestamp and TPS sample.
  • Util — Provides numeric-value conversion for reflective calls and proxy argument or return values.
  • ValueAccessor — Reflectively accesses the private receiver field of GraalVM Value objects; this is not a general value-conversion API or a public, stable GraalVM interface.
  • Vec2D — A 2D line segment with mutable start and end coordinates.
  • Vec3D — A 3D line segment with mutable endpoints.
  • Websocket — Wraps a websocket connection and exposes its lifecycle callbacks and operations.
    • Disconnected — Details supplied to onDisconnect by the client library.
  • WorldScanner — Scans chunks and block-coordinate regions for blocks matching optional block and state filters.
  • WorldScannerBuilder — Builds scanners with separate block and block-state filters.
  • WrappedScript — Wraps a script run as a MethodWrapper for Java callback interfaces.
  • WrappedThread — Associates a Java thread with its Graal task-queue priority and a one-way readiness signal.