Skip to content

Repository files navigation

InnoTournament

InnoTournament is a Minecraft 1.21.5 mod for running custom team tournaments. It provides team management, configurable tournament stages, scoring, limited lives, item generators, and player-facing tournament information for Fabric and NeoForge.

The project is being ported to Paper with an improved architecture in innotournament-paper.

Features

  • Create teams, invite players, join or leave teams, and view the current roster. Team owners can rename the team, control open joining, and remove members.
  • Select a tournament definition and move it through preparation, active play, and completion with administrator commands.
  • Give each participant three lives and track lives, team scores, the top five teams, and each team's current position in a live sidebar.
  • Award points through tournament events and adjust scoring for team size. Team advancement progress is shared between team members and counted once per team.
  • Define event triggers in JSON for elapsed time, tournament lifecycle changes, player or team advancements, player kills, and periodic player checks.
  • Use event actions to award points, resize the world border, enable or disable PvP, place or remove the starting structure, and execute server commands.
  • Place configurable item, book, and Nether generators that produce weighted random rewards, store available items, and progress through configured levels. The Inno Dice rerolls occupied generator slots.
  • Send generator waypoints to players through JourneyMap integration.
  • Show the nearest world border side and distance with /worldborderinfo and open the built-in tournament information page with /tournament help.

Dependencies

InnoTournament and its runtime dependencies must be installed on the server and every connecting client.

For Fabric:

  • Fabric Loader 0.16.14 or newer
  • Fabric API 0.121.0+1.21.5
  • Architectury API 16.1.4 or newer

For NeoForge:

  • NeoForge 21.5.62-beta
  • Architectury API 16.1.4 or newer

Both versions also require:

  • JourneyMap for waypoint integration
  • Common Networking 1.0.18-1.21.5

Common Networking is a runtime dependency, but the current loader metadata does not enforce it. Add it to the modpack manually and verify the complete mod set before running a tournament.

Tournament configuration

Tournament definitions belong in the server's config/inno/tournaments/ directory. Each tournament uses a JSON definition file. Its pre-start and main event files are resolved relative to that definition file.

Administrator commands require permission level 4. The normal lifecycle is:

  1. /tournament select <file> selects a JSON definition from config/inno/tournaments/.
  2. /tournament set ... can update supported positions, dimensions, and the start-box structure in the selected definition.
  3. /tournament prepare prepares the selected tournament and its players.
  4. /tournament start starts the prepared tournament.
  5. /tournament stop clears the active tournament session.

The repository does not include a general-purpose example configuration. Tournament definitions and referenced event files must be prepared for the specific map and rules being used.

Item generator settings are read from config/inno/itemGen.json, config/inno/bookGen.json, and config/inno/netherGen.json. Missing files are created with an empty array, while invalid files must be corrected before startup.

Build from source

Install JDK 21, clone the repository, and run the Gradle wrapper from the project root:

.\gradlew.bat build

The platform JARs are written to:

  • fabric/build/libs/innotournament-fabric-<version>.jar
  • neoforge/build/libs/innotournament-neoforge-<version>.jar

Development runs

Start a development client or server for either loader with:

.\gradlew.bat :fabric:runClient
.\gradlew.bat :fabric:runServer
.\gradlew.bat :neoforge:runClient
.\gradlew.bat :neoforge:runServer

License

All Rights Reserved.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages