PerfectOneBlock

The ultimate OneBlock gamemode for Hytale servers. Break one block, a new one spawns. Progress through 5 phases, earn money, upgrade your island, and compete with other players. Everything built-in: economy, shop, quests, auction house, prestige, scoreboard, teams.

Version1.0
PlatformHytale Server Plugin
Java21+
DependenciesNone (standalone)

Buy on BuiltByBit

Installation

  1. Drop PerfectOneBlock-1.0.jar into your UserData/Mods/ folder
  2. Start the server -- a void world is created automatically
  3. Players type /ob create to get their island
  4. Break the center block and play!

Features

Phases

The plugin comes with 5 default phases. Each phase is defined in phases.json and can be fully customized.

PhaseThresholdDescription
Emerald Grove0 blocksPassive mobs, basic ores, wood, soil
Underground200 blocksGoblins, spiders, stone, iron, coal
Howling Sands500 blocksScorpions, sand worms, sandstone, gold
Borea1,000 blocksWolves, bears, yetis, ice, diamond
Devastated Lands2,000 blocksLava mobs, dragons, demons, rare ores

Each phase contains:

Commands

Player Commands

CommandDescription
/obOpen the main menu UI
/ob createCreate your island
/ob home [name]Teleport to a home
/ob sethome [name]Set a home point
/ob setspawnSet island spawn (owner only)
/ob levelView island level
/ob balanceCheck your balance
/ob pay <player> <amount>Send money to another player
/ob dailyClaim daily reward
/ob flyPurchase temporary flight
/ob shopOpen the shop (grid UI)
/ob questsView your quests
/ob prestigePrestige your island
/ob upgradeUpgrade island tier
/ob topView leaderboard
/ob visit <player>Visit another island
/ob name <name>Rename your island
/ob teaminvite / kick / leave / list / promote / demote
/ob auctionlist / sell / buy / cancel / my
/ob settingspvp / visibility / mobs / welcome
/ob warpset / delete / list / <name>
/ob bankdeposit / withdraw / bal

Admin Commands

CommandDescription
/ob reloadReload configuration
/ob delete <player>Delete a player's island
/ob setbalance <player> <amount>Set player balance
/ob setphase <player> <phase>Set player phase
/ob setlang <lang>Change language

Permissions

PermissionDescription
perfectoneblock.teamAccess team commands
perfectoneblock.shopAccess the shop
perfectoneblock.prestigeUse prestige
perfectoneblock.auctionAccess auction house
perfectoneblock.flyPurchase fly
perfectoneblock.adminAdmin commands

Configuration

All files are in the plugin data folder: UserData/Saves/MODDING/mods/KatsuyaTV_PerfectOneBlock/

config.json

{
  "lang": "EN",
  "worldName": "oneblock_world",
  "islandSpacing": 1000,
  "islandY": 100,
  "luckyBlockChance": 0.5,
  "prestigeMultipliers": [1.0, 1.2, 1.5, 1.8, 2.2, 3.0],
  "upgradeCosts": [0, 10000, 30000, 75000, 150000, 300000],
  "upgradeSizes": [50, 75, 100, 150, 200, 300],
  "dailyRewardAmount": 500,
  "flyCost": 1000,
  "flyDurationMinutes": 30
}

Shop Setup

Edit shop.json to add categories and items:

{
  "Blocks": [
    { "itemId": "Wood_Softwood_Log", "displayName": "Softwood Log", "buyPrice": 50, "sellPrice": 10 },
    { "itemId": "Rock_Stone", "displayName": "Stone", "buyPrice": 25, "sellPrice": 5 }
  ],
  "Ores": [
    { "itemId": "Ore_Iron_Stone", "displayName": "Iron Ore", "buyPrice": 200, "sellPrice": 50 }
  ]
}

Quests Setup

Edit quests.json to customize quests. Supported types:

TypeDescription
MINE_BLOCKSMine X blocks
KILL_MOBSKill X mobs
SELL_ITEMSSell X items in the shop
REACH_PHASEReach phase X
EARN_MONEYEarn X coins total
UPGRADE_ISLANDUpgrade island X times
PRESTIGEPrestige X times

Example quest definition:

{
  "id": "daily_mine_50",
  "name": "Mine 50 Blocks",
  "type": "MINE_BLOCKS",
  "target": 50,
  "reward": 200,
  "daily": true
}

Lucky Blocks

Edit lucky_blocks.json to configure rewards. Supported types: COINS, ITEM, NOTHING.

{
  "chance": 0.5,
  "rewards": [
    { "type": "COINS", "amount": 500, "weight": 30, "message": "You found 500 coins!" },
    { "type": "COINS", "amount": 5000, "weight": 5, "message": "MEGA JACKPOT! 5,000 coins!" },
    { "type": "ITEM", "itemId": "Ore_Diamond", "amount": 1, "weight": 10, "message": "You found a diamond!" },
    { "type": "NOTHING", "weight": 20, "message": "Better luck next time!" }
  ]
}

Scoreboard

The scoreboard is built-in and shows automatically when a player joins the OneBlock world. It displays:

The scoreboard refreshes every second automatically.

FAQ

The void world doesn't create?

Make sure the server has write access to the worlds folder. Check config.json for the worldName setting.

Can I add more phases?

Yes! Edit phases.json and add new entries with a higher threshold. Reload with /ob reload.

Can multiple players play simultaneously?

Yes. Each player gets their own island on a grid spaced 1000 blocks apart (configurable). They can also form teams.

How does prestige work?

When you complete the final phase, use /ob prestige to reset your island. You keep your team but get a permanent sell multiplier bonus.

Items don't appear in shop?

Make sure the itemId in shop.json matches a valid Hytale item ID. Check with /give to verify the item exists.