OneBlock minigame plugin.
🌍 How to Start OneBlock?
1. Create the World
Generate a dedicated OneBlock world. For example, using Multiverse-Core:
/mv create OneBlock normal -g Oneblock
2. Set the Spawn Point
Initialize the OneBlock area:
/ob set
/ob set 500
- Sets the reference point using the current position of the player (admin) who used it, indicating a custom offset or with a default offset (100).
/ob set <offset> <x> <y> <z> [world]
- Alternative method. Sets the position and offset manually.
3. Join the Game
Players can teleport to their island by entering:
/ob join
or simply /ob
🔧 Command Reference
Core Commands:
- /ob join - Join to your island
- /ob invite [player] - Invite player to your island
- /ob kick [player] - Remove player from your island
- /ob accept - Accept island invitation
- /ob IDreset - Resets your attachment to the island so that you can create a new island. (reset progress)
Settings Commands:
- /ob set - Set the first block (admin only)
- /ob set [distance] - Set island spacing (e.g., 500 blocks)
- /ob circlemode [true/false] - Enable circular island generation
- /ob autojoin [true/false] - Auto-join players on world entry
- /ob protection [true/false] - Prevent leaving islands
- /ob border [true/false] - Enable player borders
- /ob droptossup [true/false] - Toss items upward when dropped
- /ob physics [true/false] - Toggle block physics (e.g., falling gravel)
- /ob lvl_mult [value] - Set level multiplier formula
- /ob UseEmptyIslands [true/false] - Reuse abandoned islands
- /ob islands [true/false] - Enable custom islands
- /ob islands set_my_by_def - Set your island as default template
- /ob islands default - Reset to default island
- /ob island_rebirth [true/false] - Enable island rebirth
- /ob progress_bar color [color] - Set color
- /ob progress_bar [true/false] - Toggle progress bar
- /ob progress_bar level - Progress_bar level mode
- /ob progress_bar settext
- Progress_bar text change
Config Commands:
- /ob reload - Reload configuration files
- /ob listlvl - List all levels
- /ob listlvl [level] - Show blocks for specific level
Other Commands:
- /ob idreset [player] - Resets attachment to the island for the player.
- /ob setlevel [player] 14 - Set ob level
- /ob clear [player] - Reset the player ob level and remove his island
- /ob setleave
- /ob leave
🎨 Progress Bar Customization
You can display the level in the progress bar:

You can change the color of the progress bar:

use: /ob Progress_bar level
You can specify the color of the progress bar for each level separately! In the blocks.yml file, the second line (after the line with the name of the level)
📊 PlaceholderAPI Support
- %OB_ver%
- %OB_lvl% - The player's level number.
- %OB_next_lvl% - The number of the next level.
- %OB_break_on_this_lvl% - The number of broken blocks at this level.
- %OB_need_to_lvl_up% - The number of blocks that still need to be broken to level up.
- %OB_player_count% - The number of players in the OneBlock world.
- %OB_lvl_name% - The name of the player's current level.
- %OB_lvl_lenght% - The length of the level.
- %OB_next_lvl_name% - The name of the next level.
- %OB_owner_name% - The name of the owner of your island.
- %OB_owner_online% - Returns "online" if the island owner is currently online, otherwise "offline".
- %OB_percent% - Percentage of level completion.
- %OB_scale% - Proportional scale of level completion.
- %OB_top_1_name% - The name of the player with the highest island level.
- %OB_top_2_name%
- ...
- %OB_top_10_name%
- %OB_top_1_lvl% - The level of the player with the highest island level.
- %OB_top_2_lvl%
- ...
- %OB_top_10_lvl%
- %OB_number_of_invited% - The number of people invited to your island.
🎯 Special Placeholder Modifier: _by_position
You can append _by_position to any placeholder to get information about the island at your current location instead of your own island.
Examples:
- %OB_lvl_by_position% - Shows the level of the island at your current location.
- %OB_owner_name_by_position% - Shows the owner name of the island at your current location.
- %OB_visits_by_position% - Shows the visit count of the island at your current location.
- %OB_break_on_this_lvl_by_position% - Shows blocks broken on the island at your current location.
This is especially useful when visiting other players' islands or when you want to display information about a specific island based on location rather than the player viewing the placeholder.
🕬 You can use placeholders in the progress bar text!
/ob progress_bar settext %OB_lvl% lvl now. Need block to next lvl %OB_need_to_lvl_up%.

🧱 Custom Blocks Support
ItemsAdder Blocks
Native id support in blocks.yml
Oraxen Blocks
Native id support in blocks.yml
Nexo Blocks
Native id support in blocks.yml
CraftEngine Blocks
Native id support in blocks.yml
Other
In addition, you can spawn custom blocks (from mods or plugins) using the commands specified in blocks.yml
for example:
- command: /execute in minecraft:overworld run setblock %d %d %d IC2:blockOreCopper
- command: /execute in minecraft:overworld run setblock %d %d %d IC2:blockOreTin
- command: /execute in minecraft:overworld run setblock %d %d %d IC2:blockOreUran
- command: /execute in minecraft:overworld run setblock %d %d %d ic2:resource 4
or
- command: execute in {world} run setblock %d %d %d IC2:blockOreCopper
- command: execute in {world} run setblock %d %d %d IC2:blockOreTin
- command: execute in {world} run setblock %d %d %d IC2:blockOreUran
- command: execute in {world} run setblock %d %d %d ic2:resource 4
🏝️ Island Templates
Create custom default islands (7x12x7 area):
/ob islands set_my_by_def
- will save a copy of your island and install it for the players.

📈 Stats
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 |
fix & github sync
- Fixed flowers not spawning from **flowers.yml** (XMaterial/Material comparison bug)
- flowers.yml now supports the same entry types as blocks.yml: block, chest, command with weights
- Custom blocks (ItemsAdder/Oraxen/Nexo/CraftEngine) can now be used as flowers
- Added **{player}** and **{world}** placeholders for command entries in blocks.yml
- Commands now support player context (e.g. "give {player} diamond")
- Empty command entries are now properly rejected during config load
blocks.ymlnow supports weighted entries via optionalweightfield (defaults to 1). Higher weight = more likely to appear.- Old
blocks.ymlis automatically backed up asblocks.yml.bakbefore migration.
Chest system rework:
- Added vanilla loot table support for natural chest generation. Use
chest: <name>inblocks.ymland define<name>: namespace:pathinchests.yml. - Full backward compatibility with legacy item-list chests preserved.
Code improvements:
- Refactored internal codebase, fixed bugs and typos.
Command changes:
/ob chest:/ob chest <name> set <namespaced_key>— assign a vanilla loot table to a chest alias./ob chest <name> edit— open a GUI to edit the contents of a legacy item-list chest.
``
You need to manually correct the typo accept_success and invited_success in your messages.yml.
``- _Added support for 26.1+_**
- _Fixed config save bug (from 1.5.2 plugin version)._**
- Added the mob_spawn_chance parameter to the config.
- Added placeholders:
> - %OB_top_position_by_position% — returns the top_position of the island owner where the player is standing
- placeholders for older versions (_by_position),**
- droptossup in new versions,**
- color codes now work when using /ob progress_bar settext.**
other...
- Now you can't set the distance to 0 between the islands. Now you can place the oneblock at y = 0.
- The **findNearestRegionId** function has been optimized, and the plugin as a whole and placeholders with the prefix **"_by_position"** should work faster.
1.4.7f
- fixed findNearestRegionId incorrect id calculation** were shifted by 1.
- _Optimization, all the latest changes from github._**
- Now you can use any placeholder relative to the position by adding "_by_position" to it.**
For example, instead of **%OB_owner_name%**, you should use **%OB_owner_name_by_position%**
- Added support for saving to _H2_ and _MySQL_ databases.**
- The 'idreset' command has been expanded and can now be executed by the administrator /ob idreset 'nick'.**
- added permission Oneblock.allow_visit for "/ob allow_visit"**
- allowed use of /ob visit without WorldGuard enabled.**
_If the player does not have the permission "Oneblock.allow_visit", allow_visit of his island switches to false._
- Added the 'Oneblock.idreset' permission**
- CommandHandler has been rewritten, now it does not cause errors when trying to use a command intended for the player in the console.**
- The noperm and noperm_inv messages have been removed from messages.yml.**
- Now the /ob gui does not display the /ob visit commands if the player does not have permission.**
- rewrited '/ob set' to use in console**
``
/ob set <offset> <x> <y> <z> [world]
``- Fixed border position.**
- refactor && optimize**
- Fixed cases when /ob invite did not work correctly.**
- new rewards.yml configuration file for flexible reward management.**
- removed chat_alert (move to rewards.yml)**
- added Color code support to Levels name in blocks.yml**
- The respawn point is raised half a block up. **(Fixed endless falling during respawn for players using GeyserMC)**
- Increased the delay in saving the config.**
- Refactoring and minor optimization of placeholders.**
- fixed PARTICLE_OFFSETS.**
- refactor and minor optimizations**
- fixed bar Style update per lvl**
- optimize findNeastRegionId for better performance**
- added CraftEngine blocks support**
- The scan size of the island has been increased to 7x12x7.**
- Refactor.**
- All the latest changes from the github repo/.**
- Added the ability to change the style of the progress bar**
- Refactor**
- ~**
- added Hex color support to config.**
- fixed "/ob visit" gui in legacy versions (1.8 - 1.12)**
- ~**