TBGeneral Configuration
Complete configuration reference for TBGeneral.
Configuration Files
plugins/TBGeneral/
├── config.yml # Main settings
├── portals.yml # Portal definitions
├── worlds.yml # World configurations
└── textures.yml # Resource pack settings
config.yml
Main configuration file:
# TBGeneral Configuration
# Version 1.0
# General Settings
settings:
debug: false
auto-save-interval: 300 # seconds (5 minutes)
language: en_US
# Feature Toggles
features:
portals:
enabled: true
cooldown: 3 # seconds between portal uses
sound-effects:true
worlds:
enabled: true
auto-load-on-startup: true
save-on-unload: true
textures:
enabled: true
force-on-join: false
retry-attempts: 3
# Performance
performance:
portal-check-radius: 2 # blocks
max-portals-per-world: 100
async-world-loading: true
# Messages
messages:
prefix: "&8[&bTBGeneral&8]"
portal-enter: "&aWarping..."
portal-cooldown: "&cWait {time}s before using portals again!"
no-permission: "&cYou don't have permission!"
world-loading: "&eLoading world..."
texture-applying: "&eApplying resource pack..."
Feature Configuration
Portals:
features:
portals:
enabled: true
cooldown: 3 # Global cooldown in seconds
sound-effects: true
particles: true
require-permission: false # Require permission per portal
Worlds:
features:
worlds:
enabled: true
auto-load-on-startup: true # Load all worlds on startup
save-on-unload: true # Save before unloading
border-warnings: true # Warn players near world border
Textures:
features:
textures:
enabled: true
force-on-join: false # Force pack on join
retry-attempts: 3 # How many times to retry sending pack
timeout: 30 # Seconds to wait for pack download
portals.yml
Portal definitions:
# Portal Configurations
portals:
spawn_portal:
# Portal Location
location:
world: world
x: 100
y: 64
z: 100
# Destination
destination:
world: world_nether
x: 0
y: 64
z: 0
# or use: portal: other_portal_name
# Settings
enabled: true
permission: tbgeneral.portal.use.spawn_portal # Optional
permission-message: "&cYou cannot use this portal!"
cooldown: 5 # Override global cooldown
# Effects
sound: ENTITY_ENDERMAN_TELEPORT
particle: PORTAL
title:
enabled: true
message: "&6Warping to Nether"
subtitle: "&7Please wait..."
vip_portal:
location:
world: world
x: 200
y: 70
z: 200
destination:
portal: vip_world_spawn # Link to another portal
permission: tbgeneral.portal.use.vip
permission-message: "&cVIP required!"
Portal Options
| Option | Type | Description |
|---|---|---|
location | Object | Portal trigger location |
destination | Object | Where portal teleports to |
enabled | Boolean | Is portal active? |
permission | String | Required permission |
cooldown | Integer | Seconds between uses |
sound | String | Sound effect on use |
particle | String | Particle effect |
title | Object | Title message config |
worlds.yml
World configurations:
# World Configurations
worlds:
resource_world:
# World Type
type: NORMAL # NORMAL, NETHER, END, FLAT
# Generator
generator: vanilla # or custom generator name
seed: 12345 # Optional custom seed
# Settings
auto-load: true # Load on startup
difficulty: HARD
gamemode: SURVIVAL
pvp: true
spawn-monsters: true
spawn-animals: true
# World Border
border:
enabled: true
size: 10000
center: [0, 0]
damage: 0.2
warning-distance: 50
# Permissions
permissions:
enter: tbgeneral.world.tp.resource
build: tbgeneral.world.build.resource
creative_flat:
type: FLAT
generator: flat
auto-load: true
difficulty: PEACEFUL
gamemode: CREATIVE
pvp: false
spawn-monsters: false
World Options
| Option | Type | Description |
|---|---|---|
type | String | World type (NORMAL/NETHER/END/FLAT) |
generator | String | World generator |
seed | Long | World seed |
auto-load | Boolean | Load on startup |
difficulty | String | Difficulty level |
gamemode | String | Default gamemode |
pvp | Boolean | Allow PvP |
border | Object | World border settings |
textures.yml
Resource pack configurations:
# Resource Pack Configurations
textures:
default_pack:
# Pack URL (must be direct download link)
url: "https://example.com/resourcepacks/default.zip"
# SHA-1 Hash (for verification)
hash: "abc123def456..."
# Settings
required: false # Kick if not accepted?
prompt: "Download our custom textures?"
force-on-join: true # Auto-apply on join
# Bypass
bypass-permission: tbgeneral.texture.bypass
# Groups (apply to specific groups)
apply-to-groups:
- default
- member
vip_pack:
url: "https://example.com/resourcepacks/vip.zip"
hash: "def789ghi012..."
required: false
prompt: "&6VIP Texture Pack Available!"
apply-to-groups:
- vip
- mvp
Texture Pack Options
| Option | Type | Description |
|---|---|---|
url | String | Direct download URL |
hash | String | SHA-1 hash for verification |
required | Boolean | Kick if declined? |
prompt | String | Download prompt message |
force-on-join | Boolean | Auto-apply on join |
bypass-permission | String | Permission to bypass |
apply-to-groups | List | Which groups get pack |
Configuration Examples
High-Security Server
features:
portals:
enabled: true
require-permission: true # All portals need permission
cooldown: 10 # Long cooldown
worlds:
spawn:
permissions:
enter: tbgeneral.world.spawn
build: false # Nobody can build in spawn
textures:
server_pack:
required: true # Must accept or kick
force-on-join: true
Creative Server
features:
portals:
cooldown: 0 # No cooldown
worlds:
creative:
gamemode: CREATIVE
difficulty: PEACEFUL
pvp: false
Minigame Server
features:
worlds:
auto-load-on-startup: false # Manual world loading
worlds:
lobby:
auto-load: true
game_world_1:
auto-load: false # Load when needed
Reloading Configuration
After editing configs:
# Reload all configs
/tbg reload
# Or restart server for major changes
Next: Usage - Learn how to use TBGeneral features