Tags
Creators
Details
4.0.0-arclight
Compatibility
Changes
๐งช DivinityEconomy 4.0.0-arclight (26.2) โ Experimental ๐งช
This is an experimental build for hybrid servers (Arclight and similar). It is the 4.0.0 release plus modded item support, published as a separate jar so it can be tested without affecting the main release. It is not a replacement for DivinityEconomy-4.0.0.jar until it has been proven on a real hybrid server.
๐ฆ Build Details
- Jar:
DivinityEconomy-4.0.0-arclight.jar - Plugin version (
plugin.yml/ Maven):4.0.0-arclight. This is the version shown by/plugins, in the startup banner, via PlaceholderAPI and on bStats. - Plugin name: still
DivinityEconomy, so the data folder, permissions, placeholders anddependentries of other plugins are unchanged. Do not run this jar alongside the normal one; they are the same plugin. - Config version (
Main.Versioninconfig.yml): still4.0.0. This is the config schema version used by the migration system, which only understands numeric versions, so it must not carry the label. - Based on: 4.0.0 (Minecraft 26.2, Java 25 required).
- Source: branch
experiment/arclight-modded, built on YouniorPL's "Arclight Patch" (#79).
โ ๏ธ Upgrade Notes โ ๏ธ
- Back up your plugin folder first. The plugin will add entries to
materials.ymlandmaterialAliases.ymland aCommands.Admin.Moddedsetting toconfig.yml. - You can go back to the normal jar. Imported modded entries are left in
materials.ymland are harmless on a server that doesn't have those materials (they are skipped). - On servers that do not expose modded materials to Bukkit (plain Paper/Spigot) this build behaves like 4.0.0; the scan finds nothing.
โ What's New โ
-
Modded Item Import
About 10 seconds after startup (hybrid servers register mod items late), and whenever an admin runs
/modded, the plugin scans for materials outside theminecraftnamespace and adds new ones tomaterials.yml.- New items are imported banned (
ALLOWED: false) withQUANTITY: 0. Nothing is tradable until you set it up, e.g./banitem <item> falseplus/setstockand/setvalue. - A short alias is created automatically (
cobblemon:mago_berrybecomesmago_berry). Aliases never replace an existing alias or item. - Entries already in
materials.ymlwhose mod wasn't loaded yet are skipped, then picked up by the next scan with their settings intact. - Unresolved materials are never in the market, so they can't be bought or sold.
- Only blocks/items are supported. Modded potions, entities and enchants are not.
- New items are imported banned (
-
/moddedCommandRescans for modded items on demand. Setting:
Commands.Admin.Modded. Permission:de.admin.modded(operators by default, included inde.admin). -
Localisation
All modded-item messages are available in all 20 languages. The translations are machine-generated and should be reviewed by native speakers.
๐ ๏ธ Changes From The Original Patch ๐ ๏ธ
- Strict item validation: no stone placeholder for unresolved modded items.
- Only the block/item manager imports modded items; the potion and entity managers no longer run the scan.
- Dotted IDs such as
mod:item.v2are stored asmod:item_v2(the real ID is kept inMATERIAL_ID) so Bukkit doesn't split them into nested sections. Colliding keys are skipped and logged. - Imported items and aliases are preserved across reloads and restarts.
ConfigUpdaterremoves any key that isn't in the bundled files on every load, which would otherwise wipe them. - Alias saving is serialised and goes through the Bukkit scheduler instead of a raw thread.
- The ConfigUpdater dependency is kept, and the original patch's version bump and committed IDE files are dropped.
๐งช Testing Status ๐งช
- Automated: the full suite (178 tests) passes. A simulated hybrid server (a fake modded-material provider) covers import, aliases, dotted IDs, collisions, late-loading mods,
/banitem, potion/entity isolation and reload survival. - Not yet verified on a real Arclight server. The simulation checks this plugin's logic, not how Arclight populates Bukkit's material registry.
Please test
- Start with a few mods installed. About 10 seconds after startup, check the console for "Importing modded material" lines.
- Confirm
materials.ymlandmaterialAliases.ymlcontain the new entries (banned, quantity 0). - Enable one with
/banitem <alias> false, set stock and price, then buy and sell it. - Restart and confirm the entries, settings and aliases are still there.
- Add another mod, run
/modded, and confirm only the new items are imported.
โ ๏ธ Known Limitations โ ๏ธ
- Imported items have no stock or price until an admin sets them (the Static pricing model also needs
PRICE). They use the defaultELASTICITYof 0.7. - The server software must expose modded items through Bukkit's
Material.
See Documents/modded-items.md for the developer guide and the README's "Modded Items" section for the admin guide.
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:pYiIJ4xC:w3N6lr36"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pYiIJ4xC:w3N6lr36"
}

