Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/TrialChamberPro
TrialChamberPro

TrialChamberPro

Because Trial Chambers deserve better than being a "one and done" dungeon.

1.7K
20
Все версииTrialChamberPro 1.3.3

TrialChamberPro 1.3.3

Release1 нед. назад

Список изменений

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 set lootTableOverride to 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 by SpawnerWaveManager. 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 — what CreatureSpawnEvent doesn't carry. Designed for difficulty-scaling addons, analytics pipelines, and the planned premium "Legendary Trials" module.
    • TCPModule SPI + TCPModuleRegistry (api/) — uniform lifecycle contract for plugins that extend TCP. Implementations register themselves with plugin.moduleRegistry.register(this) during their own onEnable; the registry calls back into onLoad(tcp) once TCP reaches isReady = true (or immediately if TCP was already ready). Modules unregister automatically when their backing plugin is disabled (via PluginDisableEvent observer). 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 publicationjitpack.yml + maven-publish configuration so consumers can declare TCP as a compile-time dependency:
      repositories { maven("https://jitpack.io") }
      dependencies { compileOnly("com.github.darkstarworks:TrialChamberPro:v1.3.3") }
      
      Compile-time consumers reference classes from the public 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.onEnable instantiates 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. onDisable invokes shutdownAll() first so modules can still touch TCP managers and the database during their own teardown.
  • VaultInteractListener.openVault now fires PreVaultOpenEvent after the loot table is resolved but before any side effect. The event's lootTableOverride (when set) takes priority over chamber overrides and vault defaults; the existing override-resolution chain is unchanged when no listener intervenes.
  • SpawnerWaveListener.onCreatureSpawn fires ChamberMobSpawnedEvent once per recorded spawn — once on the provider-replaced path with the actual provider id, once on the vanilla fallback with providerId = "vanilla". Wild spawners deliver the event with chamber = null.

Файлы

TrialChamberPro-1.3.3.jar(12.51 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.3.3

Загрузчики

Folia
Paper
Purpur

Версии игры

1.21.1–1.21.11

Загрузок

2

Дата публикации

1 нед. назад

Загрузил

ID версии

Главная