▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/TwitchRandomizer
TwitchRandomizer

TwitchRandomizer

a minecraft randomizer challenge controlled by your twitch chat

Оцените первым
174
4

1.7.2

Release30.07.2026

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

Update Notes: v1.7.1 → v1.7.2

Commands consolidated under /tr

Every command (/trgui, /gui, /timer, /reset, /trconfig, /twitchqueue, /queue, /cleardeath, /zmd) is replaced by a single /tr <subcommand> command (alias /twitchrandomizer), with tab completion for every subcommand:

/tr gui
/tr event [by:<name>]
/tr timer <start|stop|resume|reset>
/tr reset [confirm|force]
/tr config ...
/tr queue add <amount> [username]
/tr cleardeath
/tr zmd reset

Permission nodes (twitchrandomizer.reset, .timer, .queue, etc.) are unchanged — only the typed command syntax changes.

Live world reset, no more restarts

/tr reset (and the GUI reset button) used to delete the world folders on disk and then restart or shut down the server, relying on the next boot to recreate everything from scratch. On Minecraft 26.1+ this silently broke: Paper moved all world data (including custom worlds created via WorldCreator) into a dimensions/ subfolder nested inside the primary world, so the old code was deleting and restoring the wrong paths — a seed-reset would quietly produce an empty new world instead of the prepared one.

The reset now happens live, without touching the server process:

  • The plugin creates a separate challenge_world (+ _nether / _the_end) on first start. This is the world that's actually played and reset.
  • The server's real default world (level-name from server.properties) is never deleted — Bukkit hard-refuses to unload world index 0 at runtime regardless of version, so it now serves as a permanent "hub" that players are briefly parked in during a reset.
  • On /tr reset confirm, players in the challenge world are teleported to the hub (teleportAsync, so the move is guaranteed complete before continuing), the challenge world is unloaded and deleted — its real on-disk folder is read from World#getWorldFolder() rather than guessed, so this keeps working whether Minecraft still uses the classic top-level world folders (1.21.x) or the newer nested dimensions/ layout (26.1+) — then recreated with a fresh seed, and players are teleported back in.

Player state is now fully reset too

Previously only permanent-hearts was reset, so a player who hadn't died kept their inventory, potion effects, and any hunger-clubs cap into the new seed. /tr reset now also:

  • Clears every online player's inventory (main, armor, offhand).
  • Removes all active potion effects.
  • Restores max health/hunger back to full (and clears the hunger-clubs cap).
  • Stops the timer (like a manual /tr timer stop) instead of leaving it running — the elapsed time itself is still kept, only cleared manually via the Misc menu, same as before.

Timer, queue, and death counts are intentionally left untouched, as before.

Death screen during reset

If a player was still on the death screen when a reset happened, their Respawn button would silently do nothing once their old challenge world got unloaded, forcing them to disconnect and reconnect just to play again — and since vanilla auto-respawns disconnected-while-dead players before PlayerJoinEvent even fires, they'd rejoin stuck in Spectator forever (the old code unconditionally re-forced Spectator on every respawn).

/tr reset now aborts immediately - with a title and a chat message naming the player - if anyone is still on the death screen, instead of touching their world out from under them. Run it again once they've respawned. This check runs both when the command is typed and again right before the actual world teardown, closing the same race for anyone who dies during the confirmation window in between. A reset "epoch" counter (bumped every time a reset completes) also lets the respawn handler tell whether a reset happened since a player died, in case they still manage to disconnect/ reconnect mid-death-screen for some other reason - if so, they're released to Survival instead of being re-spectated.

Removed

  • The BungeeCord fallback-server transfer and restart-on-reset / Bukkit.shutdown() flow — no longer needed since the server never restarts for a reset.
  • reset.fallback_server, reset.transfer_wait_ticks, restart-on-reset, and the unused reset.randomize_seed config keys.
  • The pre-generation step (pregenerated_* worlds created just before a restart) — no longer needed since the new world is generated fresh in place during the reset itself.

New config key

reset:
  confirm_window_seconds: 30
  title_lead_ticks: 40
  challenge-world: "challenge_world"

challenge-world sets the base name for the world that gets played and reset. Existing installs upgrading from an older version will have their actual default world (world) treated as the challenge world's old location — since that world is never deleted by the new code, nothing is lost, but you'll want to move players into the new challenge_world once after updating (e.g. via /tp) so future resets affect the world they're actually playing in.

Spectator respawn at death location

With challenge.auto_spectator_on_death on, dying always respawned you at the world spawn before you got switched to Spectator, instead of somewhere you could actually watch the run from. You now respawn at your own death location instead - unless a reset happened while you were dead, in which case you're still sent to the new challenge world as before.

Per-player death tracking

In addition to the existing total death/tries counter, each online player's own death count is now tracked for the session. Whenever any player dies, a per-player breakdown (e.g. "Deaths PlayerOne: 1", "Deaths PlayerTwo: 0") is posted to chat for everyone, localized per viewer. Cleared together with the total counter via /tr cleardeath or on Ender Dragon kill.

Bug fixes

  • Hunger Clubs regen fix — Removing hunger drumsticks no longer blocks natural health regeneration entirely. Vanilla only regenerates health once foodLevel >= 18; a reduced hunger cap below that threshold now drives its own manual regeneration instead of silently disabling healing.
  • Timer pause now actually freezes time — Pausing the timer previously only stopped random block ticks and mob AI; the day/night cycle and weather kept progressing regardless. doDaylightCycle and doWeatherCycle are now frozen (and restored) alongside it.
  • No damage while paused — The same protection cancelled damage to mobs but explicitly let players still hurt each other (and take fall/ environmental damage) while the timer was paused. Players are now just as invulnerable as everything else while paused.
  • Mob spawn spread fix — The spawn_mobs event no longer clusters mobs on top of or inside the player. They now spawn spread in a circle 2.5–5.5 blocks away.
  • Skyblock fix — Only the triggering player was teleported to safety before the surrounding chunks got cleared to air; any other nearby player would fall through when their ground disappeared. All online players in that world are now teleported to the middle of the remaining chunk first.
  • TNT Rain warning extended — The countdown before TNT minecarts start falling is now 10 seconds instead of 5, giving players more time to react.
  • Floor is Lava / Slippery Ground shortened — Both events could previously last up to 3 minutes (max_seconds: 180). Default and hard cap are now 60 seconds, regardless of what max_seconds is set to in config.yml.
  • structure_teleport/rare End teleport used the wrong world — Both looked for their destination in the hardcoded hub world names (world, world_nether, world_the_end) left over from before the world-reset rework, instead of the actual challenge_world the run happens in. Both now resolve the configured challenge world dynamically.
  • Twitch queue dispatch fix — The Twitch/queue dispatcher enqueues raw command lines (from subs, bits, !test, /tr queue add, etc.) and runs them via Bukkit.dispatchCommand. It still referenced the old standalone /randomevent command, which no longer exists after the /tr consolidation, so queued events silently vanished instead of triggering. Now dispatches tr event ....
  • Plugin version display fixplugin.yml's version field was a hardcoded literal instead of a build placeholder, so the in-game plugin list always showed an outdated version regardless of what was actually built/released. It now always reflects the real build version.

Файлы

TwitchRandomizer-1.7.2.jar(29.44 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.7.2

Загрузчики

Paper
Spigot

Версии игры

1.21–26.2

Загрузок

7

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

30.07.2026

Загрузил

ID версии

Главная