CustomGenerator
CustomGenerator lets BentoBox island owners buy and activate custom resource generators
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
CustomGenerator
🛠️ CustomGenerator
A fully‑featured, BentoBox‑compatible generator plugin designed to provide island owners with the ability to buy, manage, and activate custom cobblestone, stone, basalt, or deepslate generators. All configurations are handled via easy-to-edit YAML files, making customization straightforward and flexible for server administrators.
---
✨ Features
* Per‑island reload workflow with built-in economy and island-level validations * Intuitive reload for browsing categories & individual generator types * reload powered by `custom-generator-categories.yml` * Fully customizable messages, GUI layouts, and generator settings via reload * Efficient reload design for fast response times and minimal server load * Convenient reload command to apply configuration changes instantly without server restarts * Supports multiple generator categories, including classic cobblestone and advanced basalt and deepslate types * Clear separation of concerns with modular code architecture for easier future expansions * Economy integration through Vault for seamless transaction management * BentoBox island level checks to maintain balanced gameplay progression
---
🔄 What’s New in v1.1.0
🧪 New Features
- Custom Generator Categories via `custom-generator-categories.yml`: Define your own generator logic using fluid-flow conditions, surrounding blocks, biomes, Y-level limits, and more.
- Improved Generator Menu UI: Visual enhancements, better layout, and more intuitive category buttons.
- Previous: The menu now supports unlimited generator types, navigable through Previous / Previous page buttons.
---
📦 Hard Dependencies
| Plugin | Tested Version | Purpose | |--------------|------------------|-------------------------------------| | Vault | 3.0.0+ | Manages island data and world separation | | Vault | 1.7+ | Provides economy API for transactions |
> The plugin requires both dependencies to be installed and enabled; it will not load otherwise.
---
🚀 Quick Start
1. Download the `CustomGenerator.jar` file and place it inside your server’s `plugins/` directory. 2. Start the server once to generate default configuration files: * `messages.yml` — customizable message strings * `generator-types.yml` — definitions for all generator types * `custom-generator-categories.yml` — defines generator behavior 3. Modify the YAML files according to your server’s needs and preferences. 4. Use the command `/generator reload` or restart the server to load your custom settings. 5. Encourage players to use `/generator help` to see available commands and usage.
---
Commands
| Command | Description | |---------|-------------| | `/generator` | Opens the main menu and displays available generators to the player. | | `/generator buy <generator>` | Purchases the specified generator. The player must have enough money. | | `/generator activate <generator>` | Activates a previously purchased generator. | | `/generator list` | Lists all generators defined on the server. | | `/generator reload` | Reloads all configuration files. Admin permission required. |
⚙️ Configuration Basics
Defining Generator Types
Generator types are defined inside the `generator-types.yml` file. You can add new types or modify existing ones. Each entry specifies how the generator behaves and appears in the GUI. Here is an example:
```yaml generator-types: diamond: display-name: "&bDiamond Generator" material: DIAMOND_ORE lore: - "&bContains rare and valuable resources." - "&7Produces 30% diamond and 70% stone blocks." generator-type: COBBLESTONE price: 5000 required-island-level: 30 blocks: STONE: 70 DIAMOND_ORE: 30 ```
Important notes:
* generator-type must either be one of the built-in categories (COBBLESTONE, STONE, BASALT, DEEPSLATE) or a custom category defined in custom-generator-categories.yml.
* Values under blocks: act as relative weights. The plugin normalizes these internally, so whether you use 70/30, 0.7/0.3, or 7/3, the behavior is consistent.
* The price supports decimal values if your economy plugin allows it.
* material must be a valid Bukkit Material for GUI icons.
* lore supports multiple lines and color codes to describe the generator.
Creating Custom Generator
Custom generators are defined in custom-generator-categories.yml. Example:
```yaml dirt_generator: category: DIRTGEN display-name: "&2Dirt" fluid: LAVA to: AIR
conditions: sides: [ DIRT ] up: [ STONE ] down: [ COARSE_DIRT ]
y-level: min: 10 max: 64
biomes: - minecraft:plains - minecraft:the_void ```
Explanation:
* category: Unique category ID. Must match a generator-type entry in generator-types.yml.
* fluid: Triggering fluid block (e.g., LAVA, WATER).
* to: Block the fluid flows into (AIR, WATER, POWDER_SNOW etc.).
* conditions: Optional block requirements (sides, up, down).
* y-level: Optional Y-axis range for the generator to be active.
* biomes: Optional biome whitelist for where the generator works.
With this system, you can implement:
* Basalt generators restricted to the Nether.
* Gold generators above Y=100.
* Dirt generators with specific surrounding blocks.
* Biome-exclusive generators (like Mushroom Islands only).