
TrialChamberPro
Because Trial Chambers deserve better than being a "one and done" dungeon.
1.7K
20
Список изменений
This plugin version is compatible with Minecraft 26.X.X
1.3.3 - 2026-04-26
Added
- Public extension API — first instalment of the prerequisite seams that third-party plugins (and the planned premium add-on modules) need to integrate with TCP cleanly. No behavior change for end users; pure new surface area.
PreVaultOpenEvent(cancellable,api/events/) — fires immediately before a vault open resolves its loot table, after all gates pass (cooldown, spam-click, key validation). Listeners can cancel the open entirely (no key consumed, no reward marked) or setlootTableOverrideto a non-null table id to substitute a different loot table for that specific open. Designed for premium custom-keys / vault-crate workflows where the consumed key dictates the loot tier.ChamberMobSpawnedEvent(api/events/) — fires after a trial-spawner wave mob is spawned and recorded bySpawnerWaveManager. Carries chamber + spawner location + ominous flag + provider id. Fires for both vanilla spawns (providerId = "vanilla") and replacement spawns from custom mob providers. Gives third-party plugins a single hook with full chamber/wave context — whatCreatureSpawnEventdoesn't carry. Designed for difficulty-scaling addons, analytics pipelines, and the planned premium "Legendary Trials" module.TCPModuleSPI +TCPModuleRegistry(api/) — uniform lifecycle contract for plugins that extend TCP. Implementations register themselves withplugin.moduleRegistry.register(this)during their ownonEnable; the registry calls back intoonLoad(tcp)once TCP reachesisReady = true(or immediately if TCP was already ready). Modules unregister automatically when their backing plugin is disabled (viaPluginDisableEventobserver). Reverse-registration-order shutdown is preserved so modules with cross-dependencies tear down safely. Lifecycle callbacks always dispatch on the primary thread regardless of caller context.- Jitpack publication —
jitpack.yml+maven-publishconfiguration so consumers can declare TCP as a compile-time dependency:
Compile-time consumers reference classes from the publicrepositories { maven("https://jitpack.io") } dependencies { compileOnly("com.github.darkstarworks:TrialChamberPro:v1.3.3") }io.github.darkstarworks.trialChamberPro.api.*package; at runtime the host server has TCP installed as a normal Bukkit plugin so the bundled-deps shadow JAR is inert.
Changed
TrialChamberPro.onEnableinstantiates the module registry synchronously (right after the scheduler), so external plugins can register modules before TCP's async startup completes.loadAllPending()runs at the end of startup to flush queued registrations.onDisableinvokesshutdownAll()first so modules can still touch TCP managers and the database during their own teardown.VaultInteractListener.openVaultnow firesPreVaultOpenEventafter the loot table is resolved but before any side effect. The event'slootTableOverride(when set) takes priority over chamber overrides and vault defaults; the existing override-resolution chain is unchanged when no listener intervenes.SpawnerWaveListener.onCreatureSpawnfiresChamberMobSpawnedEventonce per recorded spawn — once on the provider-replaced path with the actual provider id, once on the vanilla fallback withproviderId = "vanilla". Wild spawners deliver the event withchamber = null.
Файлы
TrialChamberPro-1.3.3-mc26.jar(12.54 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.3.3-mc26
Загрузчики
FoliaPaperPurpur
Версии игры
26.1–26.1.2
Загрузок
3
Дата публикации
1 нед. назад
