Skip to main content

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

OptionTypeDescription
locationObjectPortal trigger location
destinationObjectWhere portal teleports to
enabledBooleanIs portal active?
permissionStringRequired permission
cooldownIntegerSeconds between uses
soundStringSound effect on use
particleStringParticle effect
titleObjectTitle 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

OptionTypeDescription
typeStringWorld type (NORMAL/NETHER/END/FLAT)
generatorStringWorld generator
seedLongWorld seed
auto-loadBooleanLoad on startup
difficultyStringDifficulty level
gamemodeStringDefault gamemode
pvpBooleanAllow PvP
borderObjectWorld 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

OptionTypeDescription
urlStringDirect download URL
hashStringSHA-1 hash for verification
requiredBooleanKick if declined?
promptStringDownload prompt message
force-on-joinBooleanAuto-apply on join
bypass-permissionStringPermission to bypass
apply-to-groupsListWhich 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