▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/TwitchRandomizer
TwitchRandomizer

TwitchRandomizer

a minecraft randomizer challenge controlled by your twitch chat

83
3

Version 1.7.0

release25 апреля 2026 г.

Update Notes: v1.6.0 → v1.7.0

New Events

structure_teleport

Teleports all players to a random vanilla structure in any dimension (Overworld, Nether, End). Stronghold is the rarest target. Deduplication prevents landing at the same structure twice in a row. Default weight: 3.

hunger_clubs

Permanently gains or removes 1–2 hunger drumsticks from the player's maximum food bar. The change persists via PersistentDataContainer and is reset when the world is reset. Default weight: 5.

player_size

Randomly shrinks or grows the player for 15–60 seconds. A boss bar counts down the remaining duration. The player always returns to normal scale when the timer expires. Default weight: 7.


Bug Fixes & Improvements

NASA Call — uninterrupted flight arc

The nasa_call event no longer teleports the player to Y=300 before applying velocity. Instead, a per-tick task phases the player through any solid blocks below Y=300 so the full flight arc from ground level is visible and uninterrupted. The player now launches from their current position and rises naturally through terrain and structures.

TNT Rain — 5-second countdown

A title-screen warning ("Geh in Deckung!") now appears 5 seconds before TNT minecarts begin to fall, giving players time to react.

Inventory Shuffle — armor/offhand fix

Items stored in armor slots and the offhand slot no longer vanish when the inv_shuffle event fires.


Infrastructure Changes

Single data file (data.db)

The five separate session files (timer.yml, queue.txt, player_locales.yml, session.yml, stats.yml) have been replaced by a single SQLite database at plugins/TwitchRandomizer/data.db. SQLite's binary format prevents accidental manual edits. All existing data is migrated automatically on the first start after the update — no manual action required.

Your plugin folder now looks like this:

plugins/TwitchRandomizer/
├── config.yml      ← main configuration
├── donations.yml   ← StreamElements & Tipeeestream credentials
└── data.db         ← all runtime data (SQLite, binary)

Auto config migration

When you drop in a new version of the JAR, any config keys that are new in that version are automatically added to your existing config.yml with their default values. You no longer need to manually edit config.yml after an update — just restart the server.

TwitchRandomizer 1.5.1

release17 апреля 2026 г.

Update Notes — v1.5.1

🐛 Bugfix: Tipeeestream — Donor Name Not Displayed Correctly

Problem

When a Tipeeestream donation was received, the displayed username in the queue and logs was the streamer's channel name instead of the actual donor's name.

This affected both the in-game queue display and the server log output.

Cause

The Tipeeestream WebSocket event payload contains multiple "username" fields. The first occurrence refers to the streamer's channel, while the actual donor name is nested deeper in the "parameters" block of the JSON. The parser was always picking up the first match — which was the wrong one.

Fix

The username extraction now follows a prioritized fallback chain:

  1. Primary: Reads "username" from within the "parameters" block → the actual donor
  2. Fallback: Takes the second occurrence of "username" in the payload if the parameters block is missing
  3. Last resort: Falls back to a generic placeholder if both lookups fail

Two helper methods were added to support this logic (extractJsonStringAfter, extractJsonStringNth). No other behavior was changed.

Impact

  • Donor names are now correctly shown in the in-game queue and server logs
  • No configuration changes required
  • Fully backwards-compatible

TwitchRandomizer 1.5.0

release14 апреля 2026 г.

TwitchRandomizer v1.5.0 — Release Notes

What's New

🎯 Multi-Player Sync

All random values within an event are now identical for every player in the same dispatch. Previously, player 1 could get 10 seconds of Floor is Lava while player 2 got 69 — that's fixed. Duration, item type, mob type, potion effect, fire seconds, heart damage, and more are all rolled once and shared.

🏝️ Skyblock Team Fix

When the Skyblock event fires with multiple players, all players are now teleported to a single shared meeting point before surrounding chunks are cleared. This prevents players from voiding or killing each other during the chunk deletion.

👻 Spectator-After-Death Team Fix

When a player dies with Spectator After Death enabled, all other online players are now moved to Spectator simultaneously — not just the player who died. The timer and queue pause automatically once everyone is in Spectator mode, and resume correctly for the next attempt.

🔢 Tries vs Deaths Counter

  • Spectator After Death ON → counter shows "Tries / Versuche" and counts once per team-death (not per individual player death)
  • Spectator After Death OFF → counter shows "Deaths / Tode" and counts every individual player death as before

📺 Channel Tag Display

When playing with two or more Twitch channels, the source channel is now shown in grey brackets after the triggering viewer's name:

exnfachjan (fuxelbau) deals 4 hearts!
shayla (exnfachjan) turned the floor into lava! (81s)

This works for Twitch subscriptions, Bits, StreamElements donations, and Tipeeestream donations.

🔁 Tipeeestream Multi-Account Support

donations.yml now uses tipeee_accounts with the same format as StreamElements:

tipeee_accounts: "Channel1:APIKEY1;Channel2:APIKEY2"

The old tipeee_api_key field is still recognized for backwards compatibility.

🎲 Recent Event Cooldown

A new anti-repeat system automatically reduces the weight of recently triggered events for the next 2–3 picks. The most recently triggered event is reduced to ~20% of its normal weight, the previous to ~30%, and the one before that to ~40%. This makes the event pool feel much more varied without changing any configured weights.

💶 Euro/Event Maximum

The donation value per event (in the GUI Trigger menu) is now capped at 5.0€ — the standard price. You can only lower the value, not raise it above the default.


Bug Fixes

  • Fixed: stop() on TimerManager could silently fail when called from the GUI while the PauseService had the timer paused — the condition now correctly allows stopping regardless of pause state.
  • Fixed: RANDOM_TICK_SPEED deprecation warning now suppressed with @SuppressWarnings({"deprecation","removal"}) to prevent compile failure on newer Paper builds.
  • Fixed: DonationsManager.MAX_EURO_PER_EVENT forward-reference compile error resolved by using a literal 5.0 instead of referencing SUB_VALUE_EURO.
  • Fixed: TwitchIntegrationManager had incorrect imports (pubsub.events.CheerEvent / pubsub.events.SubscriptionEvent) — corrected to chat.events.channel.*.
  • Fixed: RandomEvents.triggerSpawnMobs cast LivingEntity for setTarget/getTarget — corrected to Mob.
  • Fixed: PotionEffect constructor for Safe Creepers used 128 (int) where a boolean was expected — replaced with false.

TwitchRandomizer 1.4.0

release9 апреля 2026 г.

v1.4.0

  • New event: equipment_shuffle — All tiered tools and armor in the inventory are randomly upgraded or downgraded by one tier. Enchantments, display names, and lore are preserved.
  • StreamElements donation integration — Donations via StreamElements now trigger in-game events. Configured exclusively through streamelements.yml (never touched by the plugin's auto-save). Supports multiple streamer accounts simultaneously. Reload in-game with /trconfig se reload — no restart required.
  • Pause aura — A spiral flame particle effect is displayed around all online players while the timer is paused, making the paused state clearly visible at a glance.
  • Weights: small default value change

TwitchRandomizer 1.3.0

release5 апреля 2026 г.

TwitchRandomizer v1.3.0 — Changelog

✨ New Features

Support for newer Version

  • This Plugin supports now up to Version 1.21.11! (1.21 - 1.21.11)

Multi-Language Support

  • Full German and English UI — every message, GUI label, boss bar, and event notification is now translated.
  • Automatic language detection based on the player's Minecraft client language.
  • Players can manually override their language in the new UI Language menu in the GUI.
  • Language preference is saved per-player and persists across sessions.

Twitch Role Colors

  • Viewer names now appear color-coded in Minecraft chat based on their Twitch role:
    • 🔴 Broadcaster — Red
    • 🟢 Moderator — Green
    • 🟣 VIP — Pink
    • Regular Viewer — White

Pause System

  • Timer and queue now automatically pause when:
    • A player is in the death screen
    • All online players are in spectator mode
  • Fully configurable via challenge.pause_on_death and challenge.pause_if_all_spectator.

Boss Bar Countdowns

  • Floor is Lava, Slippery Ground, and No Crafting events now display a countdown boss bar so players know exactly how long the event lasts.

Queue Persistence

  • The event queue is now saved to queue.txt and survives server restarts and world resets.

Simulation Triggers

  • !gift — Simulate a gift sub in chat (toggleable in Debug Menu).
  • !giftbomb — Simulate a gift bomb of subs, default 5 (toggleable in Debug Menu).

Reset Improvements

  • Timer auto-resets on world reset.
  • Queue auto-clears on world reset.
  • BungeeCord fallback server support — players get transferred to a lobby instead of kicked.
  • Confirmation dialog with configurable timeout window before reset executes.

🔧 Improvements

  • Safe Teleport — Random teleports now find a safe Y-level at the destination instead of using the player's current Y (no more teleporting into solid ground).
  • Safe Creepers — Creeper explosions now deal no damage, destroy no blocks, and cause no knockback. Purely a scare event.
  • Ground Event Block Restore — Floor is Lava and Slippery Ground events now restore all replaced blocks to their original material when the event ends.
  • Skyblock Performance — Chunk clearing is now spread across multiple ticks (2 chunks/tick) to prevent TPS drops on large servers.
  • Queue Worker Performance — Runs every 2 ticks instead of every tick, reducing server load.
  • Timer Controls in GUI — Start, Stop, and Reset buttons are now directly accessible from the main GUI menu.
  • Unique Event Icons — Each event in the Weights GUI now has its own unique icon (Spawner for mobs, Ender Pearl for teleport, Magma Block for lava, etc.).

🐛 Bug Fixes

  • Fixed allOnlineAreSpectator() always returning true regardless of player game modes — this caused the timer/queue to incorrectly pause in all situations.
  • Fixed potential race condition with concurrent player death/respawn events (now using thread-safe tracking).
  • Fixed teleport event placing players underground at the destination.

📋 New Configuration Options

# Pause behavior
challenge:
  pause_on_death: true
  pause_if_all_spectator: true

# Reset settings  
reset:
  confirm_window_seconds: 30
  fallback_server: "lobby"
  transfer_wait_ticks: 60
  title_lead_ticks: 40

# Language
language:
  mode: auto    # auto = client language; manual = use default
  default: en   # Fallback: de or en

# Simulation triggers (Debug Menu)
twitch:
  triggers:
    sim_gift:
      enabled: true
    sim_giftbomb:
      enabled: true
      default_count: 5

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Детали

Лицензия:GPL-3.0-only
Опубликован:7 месяцев назад
Обновлён:1 неделю назад
Главная