[1.21.4] NBContest - Competitive Event icon

[1.21.4] NBContest - Competitive Event -----

A powerful contest plugin for farming, fishing, and mob hunting competitions.



NBContest is a lightweight, fast and highly customizable Minecraft plugin that allows you to host exciting server-wide contests such as farming, fishing, and mob hunting events. It encourages players to compete and earn configurable rewards.

✨ Features
  • Farming Contest – Break a random crop (e.g., wheat, carrots, etc.)
  • Fishing Contest – Catch as many fish as possible!
  • Passive Mobs Contest – Kill cows, chickens, sheep and more!
  • Hostile Mobs Contest – Kill hostile mobs like zombies and skeletons!
  • Real-time HUD
    • BossBar showing time and global objective (with MiniMessage support)
    • ActionBar showing individual player score (fully functional workaround)
  • Top 3 Rewards system via command execution
  • Automatic Event Scheduler via `config.yml`:
    • Supports multiple times per event (e.g., start farming at 14:00, 18:30)
    • Fully customizable timezone (e.g., Europe/Paris)
    • Runs automatically every day, based on server clock
  • Fully translatable via `messages.yml` (MiniMessage ready)
  • Lightweight and optimized for performance

️ Commands

Command Description Permission
/nbcontest start <event> Start a contest (`farming`, `fishing`, `hostiles_mobs`, `passive_mobs`) nbcontest.admin
/nbcontest stop Stop the current contest nbcontest.admin
/nbcontest reload Reload config, schedule and language nbcontest.admin


Automatic Events
Auto-events can be scheduled using `auto-events` in the config. Each event can have multiple start times, and all times are based on the server's timezone.
You can configure the timezone with `timezone: Europe/Paris` (or any supported ID).

⚙️ Configuration (`config.yml`)

Code (YAML):

duration
: 300 # Duration of the all event in seconds

# Timezone ID list (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
timezone
: "Europe/Paris"
auto-events
:
  enabled
: true
  farming
:
   - "14:00"
    - "18:30"
  fishing
:
   - "15:00"
  hostiles_mobs
:
   - "16:00"
  passive_mobs
:
   - "17:00"

bossbar
:
  color
: YELLOW   # Options: PINK, BLUE, GREEN, RED, YELLOW, PURPLE, WHITE

# Contest configuration
objective
:
  fixed
: false
  amount
: 100
  min
: 50
  max
: 500

# Block types for the contest
farming
:
  block-types
:
   - WHEAT
    - POTATOES
    - CARROTS
    - BEETROOTS
    - PUMPKIN
    - MELON
    - SUGAR_CANE
    - COCOA_BEANS
    - NETHER_WART

# Rewards (Max top 3 players)
rewards
:
  farming
:
    top1
: 'give %player% minecraft:diamond 5'
    top2
: 'give %player% minecraft:emerald 10'
    top3
: 'give %player% minecraft:bread 32'
  fishing
:
    top1
: 'give %player% minecraft:trident 1'
    top2
: 'give %player% minecraft:cod 16'
    top3
: 'give %player% minecraft:salmon 16'
  hostiles_mobs
:
    top1
: 'give %player% minecraft:netherite_ingot 1'
    top2
: 'give %player% minecraft:iron_sword 1'
    top3
: 'give %player% minecraft:shield 1'
  passive_mobs
:
    top1
: 'give %player% minecraft:golden_apple 3'
    top2
: 'give %player% minecraft:cooked_beef 32'
    top3
: 'give %player% minecraft:leather 16'
 
Messages (`messages.yml`)

Code (YAML):

contest-started
: "<green>[NBContest] <yellow>The %event% <yellow>contest has started!"
contest-ended
: "<red>[NBContest] The contest has ended!"
no-participants
: "<gray>No players participated in this contest."
top-title
: "<gold>Top 5 Players:"
top-line
: "<gray>#%rank% <green>%player% <dark_gray>- <yellow>%score% %unit%"
farming-objective
: "<gold>Goal: <yellow>Break %amount% %material%"
bossbar.farming
: "<gold>Time: <white>%time%s <green>- <white>%remaining% %material% left"
bossbar.generic
: "<gold>Time: <white>%time%s"

# Don't use Minimessage for actionbar, it doesn't support color codes (Temporary workaround)
actionbar.farming
: "&e%score% &f%material% harvested"
actionbar.fishing
: "&e%score% &ffish caught"
actionbar.mobs
: "&e%score% &fmobs killed"

event
:
  farming
: "<aqua>Harvesting"
  fishing
: "<blue>Fishing"
  hostiles_mobs
: "<dark_red>Monster Hunt"
  passive_mobs
: "<dark_green>Culling"

unit
:
  fishing
: fish caught
  hostiles_mobs
: mobs killed
  passive_mobs
: mobs killed

materials
:
  WHEAT
: wheat
  POTATOES
: potatoes
  CARROTS
: carrots
  BEETROOTS
: beetroot
  PUMPKIN
: pumpkins
  MELON
: melons
  SUGAR_CANE
: sugar cane
  COCOA_BEANS
: cocoa beans
  NETHER_WART
: nether wart
 
Placeholder Usage
These placeholders are used across messages and rewards:
  • %event% – Event name (translated)
  • %material% – Target material
  • %amount% – Objective amount
  • %score% – Player score
  • %player% – Player name
  • %unit% – Display unit (e.g., mobs killed)
  • %time% – Time left (in seconds)
  • %remaining% – Blocks or entities remaining to goal
  • %rank% – Player's rank in leaderboard

Plugin Setup

  1. Place the `NBContest.jar` in your `/plugins` folder.
  2. Restart the server or use `/reload`.
  3. Customize `config.yml` and `messages.yml` as needed.
  4. Use `/nbcontest start <event>` to begin a contest or rely on the auto scheduler.

Screenshots

[​IMG]
[​IMG]

‍ Credits

Created with ❤️ by 6rius
Join our Discord for support, suggestions, or questions.
Resource Information
Author:
----------
Total Downloads: 39
First Release: Jul 11, 2025
Last Update: Jul 15, 2025
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings