All Classes and Interfaces
Class
Description
A class that represents a configuration file
This is an extension of a YamlConfiguration, so all get, set, and put methods are available.
This is an extension of a YamlConfiguration, so all get, set, and put methods are available.
This is the abstract adapter for all "KamiCommon structures".
Abstract base class for configuration caches that automatically reload when the underlying config changes.
KamiCommand implementation that lists all features in the provided
Construct an instance of this class and register it under your own
KamiPlugin (see constructor).Construct an instance of this class and register it under your own
KamiCommand class.KamiCommand implementation that lists all modules in the provided
Construct an instance of this class and register it under your own
KamiPlugin (see constructor).Construct an instance of this class and register it under your own
KamiCommand class.Utility for mapping
See individual methods for specific parsing behavior.
String objects into VersionedComponent objects,
handling both legacy color codes and modern MiniMessage format.See individual methods for specific parsing behavior.
This object contains the data for an AbstractConfig yaml comment.
This is a utility class for creating and saving configurations in a JavaPlugin
Interface for classes that want to be notified when a config is updated.
You should register this observer with a
You should register this observer with a
ObservableConfig class.Represents a source of configuration data that can provide an
and may optionally support writing/persistence.
Typical implementations:
- File-backed source (writable)
- Provider/remote/in-memory source (read-only)
Contract notes:
- Each call to
- If
-
-
InputStream for readingand may optionally support writing/persistence.
Typical implementations:
- File-backed source (writable)
- Provider/remote/in-memory source (read-only)
Contract notes:
- Each call to
ConfigSource.openStream() should return a fresh stream positioned at the start.- If
ConfigSource.isWritable() is false, ConfigSource.write(byte[], Charset) must throw UnsupportedOperationException.-
ConfigSource.ensureExistsIfWritable() should create any required backing structures for writable sources.-
ConfigSource.asFileIfPresent() returns a File only for file-backed sources; otherwise null.Marks a class as a configuration holder that contains static configuration
values, getters, and setters for its enclosing class.
The ContainerUtil provides an imaginary super class to Collection and Map.
A set of core methods that both
KamiPlugin and Module must follow and implement to make their APIs interchangeable.Encapsulates the default value configuration for a
Parameter.A simple class for sending discord webhooks, supports basic embeds and such
This class represents a single feature registered under your
A feature is a subsystem that acts like its own plugin, providing its own functionality and configuration.
Features cannot be disabled or toggled, they are always enabled.
For a subsystem that can be toggled or disabled, see
KamiPlugin plugin.A feature is a subsystem that acts like its own plugin, providing its own functionality and configuration.
Features cannot be disabled or toggled, they are always enabled.
For a subsystem that can be toggled or disabled, see
Module.A
Supports both read and write (save) operations.
ConfigSource implementation that reads from and writes to a file on the filesystem.Supports both read and write (save) operations.
Represents a layout for a
PaginatedMenu where the available slots for page icons are defined
as the grid between two positions (PositionIconSlot)Identification of a CommandSender can be done in 4 different ways.
A builder class for wrapping
Patches modify the base metadata and nbt of the item via easier to use methods exposed by this class.
NOTE: Using third party plugins like ItemsAdder which provide custom items IS SUPPORTED!
Just adjust your workflow to parse the
ItemStacks and applying patches to them.Patches modify the base metadata and nbt of the item via easier to use methods exposed by this class.
NOTE: Using third party plugins like ItemsAdder which provide custom items IS SUPPORTED!
Just adjust your workflow to parse the
ItemStack from their API, and then use that object as the prototype for this wrapper:Loader to assist in automatically extracting
Supports the
ItemBuilders from configuration sections.Supports the
KamiConfig system, requiring a ConfigurationSection object to load from.Message and Color configuration for KamiCommand messages.
Basic configuration for the help command.
A class that represents a configuration file (Meant for implementations WITH a JavaPlugin object available)
If you DO NOT have a JavaPlugin object, it is recommended to use
This is an extension of a YamlConfiguration, so all get, set, and put methods are available.
If you DO NOT have a JavaPlugin object, it is recommended to use
StandaloneConfig instead This is an extension of a YamlConfiguration, so all get, set, and put methods are available.
KamiConfig but with some extended featuresThis subclass adds better constructors.
This subclass adds better constructors.
This subclass adds better constructors.
This subclass adds better constructors.
Legacy methods related to
ChatColor and legacy color codes.A legacy color-code translator for Minecraft-style formatting codes.
Translates the alternate code character
Notes:
- This API is marked
Translates the alternate code character
& into the legacy section sign (§) and optionally expands 1.16+ hex color codes of the form &#RRGGBB into the §x§R§R§G§G§B§B sequence used by legacy clients.Notes:
- This API is marked
@Obsolete.Simple colored logger that automatically parse legacy color codes using the section symbol (§) or ampersand (&).
This logger is designed for use in Bukkit/Spigot/Paper plugins, and will prepend the plugin name to each message.
It supports different log levels, and will colorize the output accordingly:
- DEBUG (Level.FINE): Gray
- INFO (Level.INFO): No colorization
- WARNING (Level.WARNING): Yellow
- SEVERE (Level.SEVERE): Red
Note: The logger does not currently support other log levels.
This logger is designed for use in Bukkit/Spigot/Paper plugins, and will prepend the plugin name to each message.
It supports different log levels, and will colorize the output accordingly:
- DEBUG (Level.FINE): Gray
- INFO (Level.INFO): No colorization
- WARNING (Level.WARNING): Yellow
- SEVERE (Level.SEVERE): Red
Note: The logger does not currently support other log levels.
A simple logger service that provides an abstraction for where to log messages.
Override
Override
LoggerService.logToConsole(java.lang.String, java.util.logging.Level) to change how log messages are processed.A Utility class to provide some helper methods when dealing with the Material Flattening changes.
These methods make no guarantee to EXACTLY map your intentions, but they try their best.
These methods make no guarantee to EXACTLY map your intentions, but they try their best.
Represents the abstraction of a menu into the core parts that
This interface is not meant for public consumption or use, you will find none of the helpful methods you would expect.
Use specific menus classes like
MenuManager needs to interact with.This interface is not meant for public consumption or use, you will find none of the helpful methods you would expect.
Use specific menus classes like
SimpleMenu or PaginatedMenuData class to hold information about a click event on a
Menu.InventoryHolder with constructor parameters for making an Inventory with either a row count or an InventoryType.
Also contains a few utility methods for better utilization with the KamiCommon library.
Also contains a few utility methods for better utilization with the KamiCommon library.
Represents a menu icon that can contains the
This class also holds the click data for the icon, and the auto updating logic for the icon
ItemStack data as ItemBuilderThis class also holds the click data for the icon, and the auto updating logic for the icon
Basic configuration for MenuIcon defaults.
Represents a modifier for a
MenuIcon.This manager is responsible for handling all
Developers should not need to interact with this class directly, only through specific menu classes like
Menu interactions.Developers should not need to interact with this class directly, only through specific menu classes like
SimpleMenu or PaginatedMenu.A container for all the options that every
Use Getters and Setters to access and modify these options.
Menu must allow to be configured.Use Getters and Setters to access and modify these options.
Deprecated.
A utility class for sending building messages built from a config.
A cross-version MiniMessage parser and messenger.
This class represents a single module registered under your
A module is a toggleable subsystem that acts like its own plugin, providing its own functionality and configuration.
For a subsystem that cannot be toggled or disabled, see
KamiPlugin plugin.A module is a toggleable subsystem that acts like its own plugin, providing its own functionality and configuration.
For a subsystem that cannot be toggled or disabled, see
Feature.Interface for classes that accept
See
ConfigObserver registrations.See
ObservableConfig.registerConfigObserver(ConfigObserver).This Menu class focuses on providing a simple menu that allows for only one single click per opening.
Utility class for loading a
OneClickMenu.Builder from a ConfigurationSection.A container for all the options that every
Use Getters and Setters to access and modify these options.
OneClickMenu must allow to be configured.Use Getters and Setters to access and modify these options.
This Menu class focuses on providing an easy way of creating a menu with multiple pages.
Utility class for loading a
PaginatedMenu.Builder from a ConfigurationSection.A container for all the options that every
Use Getters and Setters to access and modify these options.
PaginatedMenu must allow to be configured.Use Getters and Setters to access and modify these options.
Utility class to paginate a list of objects.
Represents the layout of a
PaginatedMenuThis is just a helpful class to store an object of two objects.
Represents the type of operation to be performed in a patch.
VALUES:
- ADD: Adds a new element or modifies an existing one.
- REMOVE: Removes an existing element.
VALUES:
- ADD: Adds a new element or modifies an existing one.
- REMOVE: Removes an existing element.
Utility class for helping with players
You can give items (which drop near them if they are full), and clean their inventory (with or without armor)
Some basic preconditions for when the Google preconditions are not available on the classpath
Represents a
MenuIcon, but with an additional priority value# Introduction
PS stands for PhysicalState.
This Menu class focuses on providing a simple single-frame menu.
Utility class for loading a
SimpleMenu.Builder from a ConfigurationSection.A container for all the options that every
Use Getters and Setters to access and modify these options.
SimpleMenu must allow to be configured.Use Getters and Setters to access and modify these options.
Represents the simplest layout for a
This layout is defined by: A 1 block gap (border) at the top of the menu where no items are placed. A 1 block gap (border) at the left and right of the menu where no items are placed. The last row is reserved for the pagination controls. The second to last row is also a gap (border) row, such that the remaining rows in between are used for the page items. NOTE: This layout only supports menu sizes that have at least 4 rows.
PaginatedMenu.This layout is defined by: A 1 block gap (border) at the top of the menu where no items are placed. A 1 block gap (border) at the left and right of the menu where no items are placed. The last row is reserved for the pagination controls. The second to last row is also a gap (border) row, such that the remaining rows in between are used for the page items. NOTE: This layout only supports menu sizes that have at least 4 rows.
A utility class for soft PlaceholderAPI integration
This class will utilize PlaceholderAPI if it is present on the server, safely ignoring replacements if it is not.
This class will utilize PlaceholderAPI if it is present on the server, safely ignoring replacements if it is not.
A class that represents a configuration file (Meant for implementations WITHOUT a JavaPlugin object available)
If you have a JavaPlugin object, it is recommended to use @KamiConfig instead
This is an extension of a YamlConfiguration, so all get, set, and put methods are available.
If you have a JavaPlugin object, it is recommended to use @KamiConfig instead
This is an extension of a YamlConfiguration, so all get, set, and put methods are available.
StandaloneConfig but with some extended featuresA stateful modifier for an icon's
The
ItemBuilder it wants to place in a menu.The
StatefulIconModifier.modify(com.kamikazejam.kamicommon.item.ItemBuilder, org.bukkit.inventory.ItemStack, org.bukkit.entity.Player, int) method also provides the existing item in the menu (if it exists) and the Player viewing the menu.A static modifier for an icon's
ItemBuilder it wants to place in a menu.A
Supports ONLY read operations.
ConfigSource implementation that reads from a predefined yaml string in memory.Supports ONLY read operations.
Utility methods for working with text strings.
This is just a helpful class to store an object of three objects.
Message and Color configuration for TypeAbstractChoice chat responses.
Represents a OfflinePlayer seen before by this server, accessible through the Bukkit API via UUID.
Represents a Player currently logged into this server, accessible through the Bukkit API.
Represents a Player currently logged into this server, accessible through the Bukkit API.
This command is used to log unmatched arguments.
ComponentMenuTitleProviderusingVersionedComponent