Files
2026-06-24 00:15:56 -04:00

415 lines
13 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DirtbagMC progression configuration
#
# Size terminology:
# Every border size in this file is a FULL DIAMETER / WIDTH in blocks, matching Bukkit/Paper's WorldBorder size.
# Example: starting-size: 50000 creates a border that is 50,000 blocks wide, roughly 25,000 blocks from center to edge.
#
# Growth modes:
# INCREMENTAL - each expansion adds growth-amount to the current full diameter.
# PHASE - each expansion moves to the next exact size listed under phases.
#
# Border modes:
# WORLD_BORDER - use Minecraft/Paper's real WorldBorder.
# SOFT_BORDER - do not enforce the vanilla border; bounce players off an invisible DirtbagMC border with effects.
#
# Trigger modes:
# MANUAL, TIME, UNIQUE_PLAYERS, ONLINE_PLAYERS, ACTIVE_PLAYERS,
# TIME_OR_UNIQUE_PLAYERS, TIME_AND_UNIQUE_PLAYERS,
# TIME_OR_ONLINE_PLAYERS, TIME_AND_ONLINE_PLAYERS,
# TIME_OR_ACTIVE_PLAYERS, TIME_AND_ACTIVE_PLAYERS.
settings:
dry-run: false
debug: false
poll-interval-seconds: 30
apply-borders-on-startup: true
max-catchup-expansions-per-world: 20
state:
file-name: state.yml
save-interval-seconds: 300
backup-on-save: true
backup-keep: 10
legacy-users:
# Admin scan command:
# /dirtsmp legacy scan
# Also supported:
# /dirtsmp add legacy users scan
# Players with at least this much Minecraft playtime are added to state.yml under legacy-users.
minimum-playtime: 1h
history:
enabled: true
file-name: history.log
gui:
enabled: true
title: "&#3A2416&lᴅ&#4A2D1B&lɪ&#5A351F&lʀ&#6A3F24&lᴛ&#7A4A2A&lʙ&#8B6B35&lᴀ&#A8873F&lɢ&#D4AF37&lᴍ&#B9C63F&l &8| &#D4AF37&lBorders"
webhook:
enabled: false
url: ""
timeout-seconds: 8
content: "**DirtbagMC progression:** `{world}` expanded from `{old_size}` to `{new_size}` blocks. Reason: `{reason}`"
command-hooks:
enabled: true
before-expansion:
# - "say Preparing expansion for {world} to {new_size}"
after-expansion:
# Useful for tools like Chunky:
# - "chunky world {world}"
# - "chunky border"
# - "chunky start"
milestone-rewards:
enabled: true
# Commands run from console after an expansion reaches a configured milestone.
# Placeholders: {world}, {key}, {old_size}, {new_size}, {max_size}, {reason}, {actor}, {phase}, {phase_name}, {expansion_count}
every-expansion: []
by-expansion-count:
# Example rewards:
# 1:
# - "broadcast DirtbagMC milestone 1 reached in {world}!"
# - "crate key giveall beta 1"
1: []
3: []
5: []
by-phase-index:
1: []
by-phase-name:
Frontier Era: []
First Ring: []
worlds:
overworld:
enabled: true
world: world
center-x: 0.0
center-z: 0.0
starting-size: 50000
border-mode: SOFT_BORDER
growth-mode: INCREMENTAL
growth-amount: 10000
max-size: 200000
transition-seconds: 300
manual-only: false
import-current-border: false
no-shrink-protection: true
enforce-max-size: true
command-hooks:
before-expansion: []
after-expansion: []
milestone-rewards:
enabled: true
every-expansion: []
by-expansion-count:
1: []
2: []
3: []
by-phase-index: {}
by-phase-name: {}
legacy-access:
enabled: true
# This protects beta builds from being stranded when progression starts after launch.
# The plugin expands the initial/saved border enough to include known locations plus padding.
include-current-border: false
include-online-players: true
include-offline-last-locations: true
include-respawn-locations: true
# When true, player last/respawn locations only count if the player is in the scanned legacy-users list.
player-locations-require-legacy-user: true
reconcile-on-startup: true
allow-start-above-max-size: true
padding: 1024
# Add homes, towns, bases, or Essentials homes that cannot be discovered from Paper playerdata.
# Border math uses full diameter/width, centered on center-x/center-z.
locations: []
# Example:
# locations:
# - name: "Beta town"
# x: 31500
# z: -22400
soft-border:
# Premium invisible border mode. Used only when border-mode is SOFT_BORDER.
# release-vanilla-border removes any old vanilla border enforcement by setting it to vanilla-border-size.
release-vanilla-border: true
vanilla-border-size: 59999968
ignore-creative: false
ignore-spectator: true
bypass-permission: dirtsmp.bypass.softborder
inside-buffer: 1.5
bounce-strength: 1.85
vertical-boost: 0.35
protect-mounted-entities: true
# Gentler values keep horses, camels, boats, and minecarts from taking weird launch angles.
mounted-bounce-strength: 1.15
mounted-vertical-boost: 0.12
max-outside-distance-before-teleport: 24
cooldown: 900ms
message: "{prefix}&#D4AF37&lThe DirtbagMC border &7throws you back."
action-bar: "&#D4AF37&lBorder reached &8| &7turn back"
sound: ENTITY_SLIME_JUMP
volume: 0.65
pitch: 0.65
particles:
enabled: true
# DUST uses the DirtbagMC gold color. Other Bukkit particle names also work.
particle: DUST
count: 3
offset: 0.05
speed: 0.0
interval-ticks: 10
view-distance: 96
spacing: 3
broadcasts:
enabled: true
world-only: false
message: "{prefix}&#B9C63FThe dirt expands. &#D4AF37&l{world} &#B9C63Fhas grown from &#A8873F{old_size} &#B9C63Fto &#D4AF37&l{new_size} &#B9C63Fblocks."
title: "&#3A2416&lᴅ&#4A2D1B&lɪ&#5A351F&lʀ&#6A3F24&lᴛ&#7A4A2A&lʙ&#8B6B35&lᴀ&#A8873F&lɢ&#D4AF37&lᴍ&#B9C63F&l"
subtitle: "&#B9C63F{world} &8| &#D4AF37{old_size} &7-> &#D4AF37{new_size}"
action-bar: "&#D4AF37&l{world} &7border is now &#B9C63F{new_size} &7blocks wide"
sound: ENTITY_ENDER_DRAGON_GROWL
volume: 0.7
pitch: 1.25
reminders:
enabled: true
before:
- 1d
- 12h
- 1h
- 10m
message: "{prefix}&#D4AF37&l{world} &7expands in &#B9C63F{time_left}&7."
action-bar: "&#D4AF37&l{world} &7expands in &#B9C63F{time_left}"
sound: BLOCK_NOTE_BLOCK_PLING
volume: 0.45
pitch: 1.4
triggers:
mode: TIME_OR_UNIQUE_PLAYERS
time-interval: 7d
unique-players-every: 50
online-players-threshold: 35
active-players-threshold: 120
active-window: 7d
exclude-vanished: true
player-trigger-cooldown: 12h
catch-up: ONE
phases:
- name: Spawn Era
size: 50000
message: ""
- name: Frontier Era
size: 75000
message: ""
end:
enabled: true
world: world_the_end
center-x: 0.0
center-z: 0.0
starting-size: 2000
border-mode: SOFT_BORDER
growth-mode: PHASE
growth-amount: 2000
max-size: 20000
transition-seconds: 180
manual-only: false
import-current-border: false
no-shrink-protection: true
enforce-max-size: true
command-hooks:
before-expansion: []
after-expansion: []
milestone-rewards:
enabled: true
every-expansion: []
by-expansion-count:
1: []
2: []
by-phase-index:
1: []
2: []
by-phase-name:
First Ring: []
Chorus Frontier: []
legacy-access:
enabled: true
include-current-border: false
include-online-players: true
include-offline-last-locations: true
include-respawn-locations: true
player-locations-require-legacy-user: true
reconcile-on-startup: true
allow-start-above-max-size: true
padding: 512
locations: []
soft-border:
release-vanilla-border: true
vanilla-border-size: 59999968
ignore-creative: false
ignore-spectator: true
bypass-permission: dirtsmp.bypass.softborder
inside-buffer: 1.5
bounce-strength: 2.05
vertical-boost: 0.45
protect-mounted-entities: true
mounted-bounce-strength: 1.2
mounted-vertical-boost: 0.12
max-outside-distance-before-teleport: 18
cooldown: 900ms
message: "{prefix}&#3A2416&lThe End border &7snaps you back."
action-bar: "&#3A2416&lThe End border &8| &7turn back"
sound: ENTITY_ENDERMAN_TELEPORT
volume: 0.55
pitch: 0.8
particles:
enabled: true
particle: DUST
count: 3
offset: 0.05
speed: 0.0
interval-ticks: 10
view-distance: 72
spacing: 2.5
broadcasts:
enabled: true
world-only: false
message: "{prefix}&#3A2416&lThe End &#B9C63Fhas entered &#D4AF37&l{phase_name}&#B9C63F: &#D4AF37{new_size} &#B9C63Fblocks wide."
title: "&#3A2416&lThe End Opens"
subtitle: "&#D4AF37{phase_name} &8| &#B9C63F{new_size} blocks"
action-bar: "&#3A2416&lThe End &7border is now &#D4AF37{new_size}"
sound: ENTITY_ENDER_DRAGON_DEATH
volume: 0.8
pitch: 1.0
reminders:
enabled: true
before:
- 12h
- 1h
- 10m
message: "{prefix}&#3A2416&lThe End &7expands in &#D4AF37{time_left}&7."
action-bar: "&#3A2416&lThe End &7expands in &#D4AF37{time_left}"
sound: BLOCK_NOTE_BLOCK_PLING
volume: 0.45
pitch: 1.6
triggers:
mode: TIME_AND_UNIQUE_PLAYERS
time-interval: 10d
unique-players-every: 100
online-players-threshold: 40
active-players-threshold: 150
active-window: 7d
exclude-vanished: true
player-trigger-cooldown: 12h
catch-up: ONE
phases:
- name: Outer Silence
size: 2000
message: ""
- name: First Ring
size: 4000
message: "{prefix}&#3A2416&lThe End &#B9C63Fstirs. &#D4AF37The first outer ring &#B9C63Fis now reachable."
- name: Chorus Frontier
size: 6000
message: "{prefix}&#3A2416&lThe End &#B9C63Fgrows again. &#D4AF37New islands await."
- name: Dragon's Wake
size: 8000
message: "{prefix}&#3A2416&lThe End &#B9C63Fborder has expanded to &#D4AF37{new_size} &#B9C63Fblocks."
nether:
enabled: false
world: world_nether
center-x: 0.0
center-z: 0.0
starting-size: 10000
border-mode: SOFT_BORDER
growth-mode: INCREMENTAL
growth-amount: 2500
max-size: 50000
transition-seconds: 120
manual-only: false
import-current-border: false
no-shrink-protection: true
enforce-max-size: true
command-hooks:
before-expansion: []
after-expansion: []
milestone-rewards:
enabled: true
every-expansion: []
by-expansion-count:
1: []
by-phase-index: {}
by-phase-name: {}
legacy-access:
enabled: false
include-current-border: false
include-online-players: true
include-offline-last-locations: true
include-respawn-locations: true
player-locations-require-legacy-user: true
reconcile-on-startup: true
allow-start-above-max-size: true
padding: 512
locations: []
soft-border:
release-vanilla-border: true
vanilla-border-size: 59999968
ignore-creative: false
ignore-spectator: true
bypass-permission: dirtsmp.bypass.softborder
inside-buffer: 1.5
bounce-strength: 1.9
vertical-boost: 0.35
protect-mounted-entities: true
mounted-bounce-strength: 1.15
mounted-vertical-boost: 0.12
max-outside-distance-before-teleport: 18
cooldown: 900ms
message: "{prefix}&#7A4A2A&lThe Nether border &7throws you back."
action-bar: "&#7A4A2A&lNether border &8| &7turn back"
sound: ENTITY_BLAZE_HURT
volume: 0.55
pitch: 0.8
particles:
enabled: true
particle: DUST
count: 3
offset: 0.05
speed: 0.0
interval-ticks: 10
view-distance: 72
spacing: 2.5
broadcasts:
enabled: true
world-only: false
message: "{prefix}&#7A4A2A&lThe Nether &#B9C63Fhas expanded to &#D4AF37{new_size} &#B9C63Fblocks."
title: "&#7A4A2A&lNether Expanded"
subtitle: "&#A8873F{old_size} &7-> &#D4AF37{new_size}"
action-bar: "&#7A4A2A&lThe Nether &7border is now &#D4AF37{new_size}"
sound: ENTITY_WITHER_SPAWN
volume: 0.65
pitch: 1.1
reminders:
enabled: true
before:
- 1h
- 10m
message: "{prefix}&#7A4A2A&lThe Nether &7expands in &#D4AF37{time_left}&7."
action-bar: "&#7A4A2A&lThe Nether &7expands in &#D4AF37{time_left}"
sound: BLOCK_NOTE_BLOCK_PLING
volume: 0.45
pitch: 1.2
triggers:
mode: MANUAL
time-interval: 7d
unique-players-every: 50
online-players-threshold: 30
active-players-threshold: 100
active-window: 7d
exclude-vanished: true
player-trigger-cooldown: 12h
catch-up: NONE
phases: []