All Classes

Class
Description
 
Provided as a base for any inventory that requires a block for opening it
 
 
 
 
 
AbstractMappedRegistry<K,​V,​M extends Map<K,​V>>
An abstract registry holding a map of various registrations as defined by AbstractMappedRegistry.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A mapped registry loader which takes in a String and returns a transformed Annotation as the value.
 
 
Used to determine if rename packets should be sent and stores the expected level cost for AnvilInventoryUpdater
 
 
 
 
 
 
An array registry that stores mappings as an array defined by ArrayRegistry.
 
 
 
Deprecated.
legacy code
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class contains the raw data send by Geyser to Floodgate or from Floodgate to Floodgate.
 
 
 
Called when the Bedrock user uses the pick block button on an entity
Used to send strings to the server and filter out unwanted words.
 
BedrockInventoryTransactionTranslator handles most interactions between the client and the world, or the client and their inventory.
Pre-1.16.210: used for both survival and creative item frame item removal 1.16.210: only used in creative.
The packet sent for server-authoritative-style inventory transactions.
Used to translate moving pages, or closing the inventory
 
 
 
 
Sent by the client when moving a horse.
 
Used to send the forwarded keep alive packet back to the server
Implemented only if a block is a block entity in Bedrock and not Java Edition.
 
Sent by the client for minecarts and boats.
Triggered just before Geyser sends a Pong to a Ping packet
 
 
 
 
 
In vanilla Bedrock, if you have operator status, this sets the player's gamemode without confirmation from the server.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Triggered when registering Packet Translators
Loads block entities from the given classpath.
The class that all block entities (on both Java and Bedrock) should translate with
 
 
 
Manages the fake block we implement for each inventory, should we need to.
 
 
 
 
 
 
 
Holds all the block registries in Geyser.
Populates the block registries.
Sound interaction handler for when a block is right-clicked.
Used for block entities if the Java block state contains Bedrock block information.
 
 
 
Manages updating the current writable book.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An event that is able to be cancelled
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Loads collision data from the given resource path.
Used to prevent patterns from being compiled more than needed
 
 
This class was based on this code: https://stackoverflow.com/a/6899478/5299903
 
 
 
 
Represents helper functions for listening to /geyser commands.
 
 
 
 
 
Implemented on top of any class that can send a command.
 
 
 
 
 
Represents a player connection.
 
 
Combination of Inventory and PlayerInventory
 
 
 
 
 
 
 
Manages the sending of a cooldown indicator to the Bedrock player as there is no cooldown indicator in Bedrock.
 
 
 
 
 
 
 
 
 
 
 
 
 
This class is used as a base for minecarts with a default block to display like furnaces and spawners
Exists solely to make DefaultChannelPipeline's protected constructor public
The Operation Systems where Bedrock players can connect with
 
 
 
 
 
 
 
 
Chests have more block entity properties in Bedrock, which is solved by implementing the BedrockOnlyBlockEntity
 
This stores all values of double chests that are part of the Java block state.
DownstreamPacketReceiveEvent<T extends com.github.steveice10.packetlib.packet.Packet>
 
DownstreamPacketSendEvent<T extends com.github.steveice10.packetlib.packet.Packet>
 
 
 
E.G.
 
 
 
 
 
 
 
 
 
An abstract registry loader for loading effects from a resource path.
 
 
 
 
 
 
 
 
 
 
 
 
Enchantments classified by their Java index
 
 
 
 
 
 
 
 
 
Each session has its own EntityCache in the occasion that an entity packet is sent specifically for that player (e.g.
Represents data for an entity.
 
 
 
 
 
 
 
 
EntityMetadataTranslator<E extends Entity,​T,​EM extends com.github.steveice10.mc.protocol.data.game.entity.metadata.EntityMetadata<T,​? extends com.github.steveice10.mc.protocol.data.game.entity.metadata.MetadataType<T>>>
Translates a given Java EntityMetadata into a similar/same construct for Bedrock
 
 
Sound interaction handler for when an entity is right-clicked.
 
 
 
 
 
 
 
Provides a chainable result for the triggering of an Event
 
An event that has an associated GeyserSession
 
 
 
 
A extension main class must be decorated with this annotation
ClassLoader for Extensions If a extension is marked as shared then its libraries will be available to other extensions.
 
Triggered whenever a extension is disabled and will occur just before it is to be disabled
Triggered whenever any GeyserExtension is enabled and will occur after it has finished enabling
Provides a lambda event handler for a extension.
Provides a proxy to the main logger that prefixes the extension name to messages
Handles 3rd party extensions for Geyser and will hook into our Event system using annotations
 
Provides a method event handler for a extension.
Responsible for modifying a player's skin when wearing a player head
 
 
 
 
Stores common code for firework rockets and firework stars.
 
 
 
 
 
 
 
 
 
Responsible for both encrypting and decrypting data
 
 
 
 
 
 
 
 
 
This enum stores each gamerule along with the value type and the default.
 
 
 
Droppers and dispensers
General API class for Geyser.
A wrapper around MCProtocolLib's Advancement class so we can control the parent of an advancement
Represents the API used in Geyser.
The base API class.
 
 
 
 
 
 
 
 
 
 
 
Acts as a lightweight chunk class that doesn't store biomes, heightmaps or block entities.
 
 
 
 
 
 
 
 
Represents a player session used in Geyser.
Deprecated.
legacy code
A write-only wrapper for temporarily storing entity metadata that will be sent to Bedrock.
A mutable "wrapper" around EnchantOptionData
 
Event Methods must be decorated with this annotation to receive events.
All GeyserExtensions extend from this
 
Used to inject Geyser clients directly into the server, bypassing the need to implement a complete TCP connection, by creating a local channel.
 
 
 
 
Ensure that the port deserializes in the config as a number no matter what.
 
 
 
 
 
 
 
Represents Geyser's own serialized item information before being processed per-version
 
 
 
 
Deprecated.
legacy code
 
Used to send all available recipes from the server to the client, as a valid recipe book packet won't be sent by the server.
Used with ViaVersion and pre-1.13.
Should be used when ViaVersion is present, no NMS adapter is being used, and we are pre-1.13.
 
 
 
 
 
Should only be used when we know GeyserSpigotWorldManager.getBlockAt(GeyserSession, int, int, int) cannot be accurate.
 
Used when block IDs need to be translated to the latest version
 
 
 
 
 
The base world manager to use when there is no supported NMS revision
 
 
 
 
 
 
 
 
 
 
 
 
 
Triggered when Geyser has finished starting
Triggered early in the process when Geyser is stopping
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This has been modified to fit Geyser more but is based on https://gist.github.com/roooodcastro/6325153#gistcomment-3107524
 
 
A wrapper around a normal GsonComponentSerializer to accept null components.
 
 
 
 
 
 
Implemented on top of any block that does not have special properties implemented
 
 
 
 
 
Interface that retrieves ping passthrough information from the Java server
 
 
All interactive tags in enum form.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Item frames are an entity in Java but a block entity in Bedrock.
 
 
 
 
Populates the item registries.
 
 
Triggered when registering Item Remapper Translators
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
For the login cycle.
 
 
 
 
 
 
 
 
 
Used to forward the keep alive packet to the client in order to get back a reliable ping.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Used to list recipes that we can definitely use the recipe book for (and therefore save on packet usage)
 
 
 
 
 
 
Indicates that the client should open a particular advancement tab
 
 
 
 
 
 
 
 
 
 
 
 
Called when a leash is attached, removed or updated from an entity
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This packet is called whenever a player picks up an item.
 
 
 
 
Used to send all valid recipes from Java to Bedrock.
 
 
 
 
 
Provides an event handler for an annotated method
 
 
 
Map that takes advantage of its internals for fast operations on block states to determine if they are lecterns.
 
 
 
 
 
 
 
 
 
Represents an event capable of translating itself into bedrock
 
 
 
 
 
 
 
 
 
 
 
 
 
Triggered when a Bedrock skin needs to be loaded If cancelled then the regular skin loading will not occur.
Client -> server storing the spoofed remote address.
 
If the incoming channel if an instance of LocalChannelWithRemoteAddress, this server creates a LocalChannelWrapper for the other end and attaches the spoofed remote address
Manages a Minecraft Java session over our LocalChannel implementations.
A temporary cache for lodestone information.
 
 
Bare bones implementation of BedrockPacketHandler suitable for extension.
 
 
 
 
 
 
 
 
 
 
 
 
MappedRegistry<K,​V,​M extends Map<K,​V>>
An public registry holding a map of various registrations as defined by MappedRegistry.
 
 
 
 
Provides an event handler for an annotated method
bStats collects some data for plugin authors.
Represents a custom advanced bar chart.
Represents a custom advanced pie.
Represents a custom chart.
Represents a custom drilldown pie.
Represents a custom multi line chart.
Represents a custom simple bar chart.
Represents a custom simple pie.
Represents a custom single line chart.
 
 
 
Contains information about the supported protocols in Geyser.
This class is used for mapping a translation key with the already loaded Java locale data Used in MessageTranslator.java as part of the KyoriPowered/Adventure library
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RegistryLoader that loads data from two different locations, yet with the same input type.
 
Loads NBT data from the given resource path.
 
 
 
 
 
 
 
 
 
 
 
 
Does not implement BlockEntityTranslator because it's only a block entity in Bedrock
 
 
A primitive int BiMap implementation built around fastutil to reduce boxing and the memory footprint.
 
 
 
 
 
 
 
 
 
 
Triggered when registering Packet Translators
 
 
 
 
 
 
 
 
 
 
Loads particle types from the given resource path.
 
 
 
 
 
 
 
 
Pistons are a special case where they are only a block entity on Bedrock.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Generates a collection of PotionMixData that enables the Bedrock client to place brewing items into the brewing stand.
 
 
 
 
 
 
 
 
 
 
Populates the recipe registry.
Holds all the common registries in Geyser.
A wrapper around a value which is loaded based on the output from the provided RegistryLoader.
Represents a registry loader.
Holds common RegistryLoaders or utility methods surrounding them.
 
https://github.com/lucko/jar-relocator/blob/master/src/main/java/me/lucko/jarrelocator/RelocatingRemapper.java
https://github.com/lucko/jar-relocator/blob/master/src/main/java/me/lucko/jarrelocator/Relocation.java
https://github.com/lucko/jar-relocator/blob/master/src/main/java/me/lucko/jarrelocator/RelocatingClassVisitor.java
 
 
 
 
 
 
Implemented in block entities if their Java block state is required for additional values in Bedrock
This represents a resource pack and all the data relevant to it
 
 
 
 
 
 
 
 
author: NukkitX Nukkit Project
 
 
 
 
 
 
 
 
Triggered when a resource needs to be read
 
 
 
 
In order for scaffolding to work on Bedrock, entity flags need to be sent to the player
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Triggered when a new session is connected If cancelled then the session will be disconnected with message as the disconnection message
Triggered when a session is disconnected
 
The entity class specifically for a GeyserSession's player.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Provides utilities for interacting with signs.
 
 
A variant of AbstractMappedRegistry with Map as the defined type.
A simple registry with no defined mapping or input type.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A wrapper to handle skulls more effectively - skulls have to be treated as entities since there are no custom player skulls in Bedrock.
 
 
 
 
 
 
 
 
 
Loads sound effects from the given resource path.
 
Triggered when registering Sound Handlers
Handler for playing sounds when right-clicking various objects.
 
 
Loads sounds from the given input.
Marks if a class should be handled as a SoundInteractionTranslator.
Loads sound handlers from the given classpath.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A class to have easy access to specific item mappings per-version.
 
 
 
 
 
 
 
 
 
Manages information sent from the ClientboundUpdateTagsPacket.
 
 
 
 
 
Represents a teleport ID and corresponding coordinates that need to be confirmed.
 
 
Used as a class for any object-like entity that moves as a projectile
Used as a class for any projectile entity that looks like an item
 
Implemented onto anything that should have code ran every Minecraft tick - 50 milliseconds.
 
 
Internally this is known as TippedArrowEntity but is used with tipped arrows and normal arrows
Potion identifiers and their respective Bedrock IDs used with arrows.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
UpstreamPacketReceiveEvent<T extends com.nukkitx.protocol.bedrock.BedrockPacket>
 
UpstreamPacketSendEvent<T extends com.nukkitx.protocol.bedrock.BedrockPacket>
 
 
 
 
A versioned, mapped registry.
 
 
 
 
 
 
 
 
 
 
 
 
 
Class that manages or retrieves various information from the world.