Custom BattleRoyale

This mod is designed to create game modes with highly customizable and extremely compatible zones, loot generation, and game rules, blending with various gameplay styles to offer a rich selection of game modes, including but not limited to Battle Royale. This mod can also serve as an enhanced, higher-version alternative to the PUBGMC mod.
This mod needs to be installed on both the server and the client.
Main Features
High Customizability & Compatibility
- All configuration files support unlimited presets and hot-reloading, allowing for a one-click switch via in-game commands.
- The game mechanics are independent of vanilla teams, ensuring excellent compatibility with both vanilla and other mods.
- Coexists with Survival Mode: Game zones are invisible to survival players, and game players are not affected by survival players.
- Create complex game zones by freely combining zone shapes, positions, and functions.
- Build highly customized loot generation, including any items and entities from both vanilla and other mods.
Custom Zones
- 2D Shapes: Circle, Square, Rectangle, Flat-Top Hexagon, Pointy-Top Polygon, Star, Ellipse
- 3D Shapes: Sphere, Cube, Cuboid, Ellipsoid
- Zone Functions: Safe zone, refresh player's inventory, invulnerability zone, status effects particle generation, fireworks.
Custom Loot Generation
- Supports vanilla chest looting and can filter specific containers like furnaces using whitelists and blacklists.
- Nested generation types, repeat generation, and conditional generation.
- Generating precisely based on biomes, structures, and NBT regular expressions.
- Automatically clear items and entities generated in previous games.
- Supports reading container contents to automatically generate loot configuration files.
API and Datapack addon
Redefining datapack architecture design:
- Event-Driven Datapacks: Supports automatic listener registration via configuration files and dynamic registration of Mod events or Custom events via the Function Register API.
- Provides a rich set of API Commands for efficient retrieval of game information, eliminating the need for manual state maintenance.
- Enhanced entity selectors: Filter game players instantly without the need for manual tag management.
Mod Integrations
- JourneyMap: Draws game zones on the map.
- PlayerRevive: Sets the number of downs and adds consistent health loss for non-eliminated game players.
- Optional PUBGMC Command Compatibility: Allows command blocks using PUBGMC commands to work without modification.
- TaCZ: Provides out-of-the-box loot configuration example, and can disables guns in the PlayerRevive downed state
How to Install Custom BattleRoyale (Mod)
Custom BattleRoyale by XiaoColorful is verified for Fabric, Forge, Neoforge across Minecraft versions 1.20, 1.20.1, 1.20.2, 1.20.4, 1.21.1, 1.21.10, 1.21.11, 1.21.4 (latest release: 0.5.7, file size: 2.1 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20, 1.20.1, 1.20.2, 1.20.4, 1.21.1, 1.21.10, 1.21.11, 1.21.4) and platform (Fabric, Forge, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
- Move the downloaded Custom BattleRoyale file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- Removed the GUI background from loot spawner
- Fixed JourneyMap API 2.0 compatibility
- Fixed a deadlock when installing Immersive Vehicles #59
- Add compatibility for Custom Gun Continued interact key and projectile pass through block
For Developers:
- Updated
IMessage
- Update NeoForge environment version
- Fix render issue
- (Untested) Rendering is probably broken
- Add Iris Shaders compatibility
- Change constructor visibility of GameInfoRenderer, TeamInfoRenderer, SpectatePlayerRenderer, TeamMemberRenderer to protected for extensibility
- Change constructor visibility of BoostManager, FireworkManager, MutekiManager, ParticleManager to protected for extensibility
- Port to neoforge26.1.2.75
- Write full component to auto generated loot config via utility command
- Add regex filter to entity removal during loot generation
- Remove unnecessary network reflection overhead (slightly improves performance)
- Add log command to debug command
- Fix zone position in MurderMystery zone config
- Clarify mod license to GPL-3.0-or-later
1.20.1forge & 1.21.1neoforge
- Adjust Cbrg loot config to CBRG 0.5.5+
- Complete missing item component text debug (/cbr db get pi) in 1.21.6+
- Fix ItemEntry not write custom_data
- Additonally write/remove gameId to ItemEntity's item
- Add suggests to register command
- Add event hook before zone shape determination
- Add permission level to benchmark command
Fix:
- Fix crash on stopping server if deathmatch config not loaded yet
- Fix missing GamePlayerDeathFinishEvent (Issue #57)
- Send subtitle packet before title packet
API command:
- Add IGameSafeTeleporter to api command
- DeathMatch Api command return -1 if DMGameProcessManager not registered
- DeathMatch Api command return -2 if game player does not exist
Add multiple EventType:
- LIVING_HEAL_EVENT, LIVING_USE_TOTEM_EVENT
- ITEM_ENTITY_PICKUP_EVENT, ITEM_TOSS_EVENT, PLAYER_OPEN_CONTAINER_EVENT, PLAYER_CLOSE_CONTAINER_EVENT, CRITICAL_HIT_EVENT
- SERVER_CHAT_EVENT
- ITEM_TOOLTIP_EVENT
Config:
- Add MurderMystery example gamerule, spawn, zone, loot config
- Add showDeathMessages to gamerule config
- Add new Events to example AllFunction config
For developer:
- Decouple EffectManager from all
- Add showDeathMessages to gamerule config
- Read/write ItemEntity gameId by item
- Add suggests to register command
Fix:
- Fix crash on stopping server if deathmatch config not loaded yet
- Send subtitle packet before title packet
API command:
- Add IGameSafeTeleporter to api command
- DeathMatch Api command return -1 if DMGameProcessManager not registered
- DeathMatch Api command return -2 if game player does not exist
- Fix missing GamePlayerDeathFinishEvent (Issue #57)
For developer:
- Decouple EffectManager from all