Tags
Creators
Details
0.9.0
Compatibility
Changes
uxmEssentials 0.9.0
A large release: the plugin starts on MySQL, MariaDB and PostgreSQL again, every menu now runs on the uxmLib menu engine with native Bedrock forms, the colours come from a theme file, and window titles keep the MiniMessage you write in them.
Requires Paper 26.2 on Java 25, same as 0.8.2.
Read this before you update
Discord account linking is gone. /link and the linked-account tables are removed. The V85 migration drops both tables and the rows in them. The Discord bridge itself stays: chat, the audit channel and the rest work as before.
Old message files and window titles. The vault, shulker box and disposal titles now ship without a colour tag. A messages file extracted by an older version keeps its <title> tag, and since titles are no longer flattened, that tag now colours them. Delete the tag from those lines if you want them plain.
New settings are added to your files, not over them. A setting this release adds is appended to the end of your existing config.conf and module files as a commented block. Nothing you wrote is overwritten.
Fixes
MySQL, MariaDB and PostgreSQL start again. Three migrations could not run on a network database: a comment MySQL does not accept, a column named with a reserved word, and a column type PostgreSQL does not have. Every migration now runs on all three, and a first start on MariaDB no longer prints a wall of "ignored for PRIMARY key" warnings.
Window titles keep their MiniMessage (#1). Every title used to be flattened to plain text, so a <lang:...> key showed as its raw name and a <font:...> was dropped. Titles are now drawn as written.
Titles drawn with a resource pack line up. A title containing a translated key, a pack font or a keybind is never padded, because its width cannot be measured. A server that wants every window title on the left writes this in plugins/uxmTheme/theme.conf (shared by all our plugins) or plugins/uxmEssentials/theme.conf:
menu-titles = left
Chat and moderation
- A muted player is kept out of public chat.
- A sanction with no end reads as permanent, in the reader's language.
- A long issuer name is cut to fit its column rather than losing the sanction.
Commands
- A bare command answers the console, and every usage line is built from the catalogue, with optional branches bracketed whole.
/mail send,/unignoreand the ignore window reach a player who is offline.- Playtime is read for a player who has logged off, and the leaderboard prints to the console.
/bottomstands you in open space, and/upgives you a floor./langoffers every language that has a catalogue./clearchattells the console it ran.- The join message no longer suggests a
/sethomethat is not registered. - A custom command names the player it could not find.
- Every command is described in the reader's language, in all twelve catalogues.
Economy and selling
- The native ledger is published as a Vault economy, and Vault is bound once the server has loaded.
- A sale takes the items before it pays for them, and sells only plain stacks.
- The wallet events fire on every change of money.
Worlds
- World files are found where Paper 26.2 keeps them, and our generators are served to the default world.
REST API
- A missing resource answers 404 not-found with a plain reason.
- A negative amount is refused as a bad request.
- A sanction with a field the route does not read is refused.
- An event about an offline player is still delivered.
Menus
Every menu now renders through the uxmLib menu engine. A Bedrock player gets a native Floodgate form for every window. A layout with fewer slots than things to draw is reported to the operator rather than cutting the list short quietly, and a broken placeholder costs its own token rather than the whole window.
Theme
The colours, the title glyph and the window title alignment come from a theme file. plugins/uxmTheme/theme.conf is shared by every UXPLIMA plugin on the server, and plugins/uxmEssentials/theme.conf overrides it for this plugin alone. /uxmess reload reads it again.
Diagnostics
/uxmess doctor reports the schema version the database is really on.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:giFPy916:FzB1klmU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:giFPy916:FzB1klmU"
}

