Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
BorderAchieve / BorderAchieve
- Version: 0.3.0-SNAPSHOT and higher
- Data packs Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ/all works
![]() |
![]() |
![]() |
![]() |
|---|
Tested
The server: mistii.ru online 6-10 on version 1.21.11ΠΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ Paper 1.21+, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ (advancements) Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π³ΡΠ°Π½ΠΈΡ ΠΌΠΈΡΠΎΠ², Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΌΠΈΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ².
A Paper 1.21+ plugin that links advancements to dynamic world border expansion, global dimension locking, and per-player world locking.
Π Π£Π‘Π‘ΠΠΠ― ΠΠΠ Π‘ΠΠ―
π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
BorderAchieve ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΡ, Π²Π»ΠΈΡΡΡΡΡ Π½Π° ΠΌΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈ Π΄Π°ΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠΈΡΠ°ΠΌ:
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ β Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΠ° Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΌΠΈΡΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ². Π ΠΠ΅Π·Π΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° 8.
- ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΈΡΠΎΠ² β ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠ°ΡΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΌΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ΄, ΠΠ½Π΄) Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π°, ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΏΠΎΡΠΎΠ³Π°. ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΈΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π½Π°Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΠ±ΡΠΈΠΌ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.
- ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° β Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΠ³ΡΠΎΠΊΡ Π΄ΠΎΡΡΡΠΏ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΈΡ. ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π° ΠΈΠ³ΡΠΎΠΊ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΎΡΠΊΠ°Π·, Π° ΠΏΡΠΈ ΡΠ΅ΡΠΏΠ°Π²Π½Π΅ Π² Π·Π°ΠΏΡΠ΅ΡΡΠ½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π² ΠΏΠ΅ΡΠ²ΡΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΌΠΈΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ ΠΏΠΎΡΡΠ΄ΠΊΡ.
- Π’ΠΎΠΏ ΠΈΠ³ΡΠΎΠΊΠΎΠ² β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ GUI-ΠΌΠ΅Π½Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π»ΡΡΡΠΈΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΏΠΎ ΡΠΈΡΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ.
- ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ β Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Title, Subtitle ΠΈ Π·Π²ΡΠΊ ΠΏΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ Π³ΡΠ°Π½ΠΈΡΡ.
- PlaceholderAPI β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ (ΡΠ°Π±Π»ΠΎ, Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Ρ.ΠΏ.).
- ΠΠΈΠ±ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° β ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (ΠΏΠ»Π°Π²Π½ΡΠΉ/ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ), Π²ΡΠ΅ΠΌΡ, Π²ΡΠ±ΠΎΡ ΠΌΠΈΡΠΎΠ², ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠ³ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ΅ΡΠΏΠ°Π²Π½Π°.
π¦ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΠ»Π°Π³ΠΈΠ½Π°.
- ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅
BorderAchieve.jarΠ² ΠΏΠ°ΠΏΠΊΡplugins/. - ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ.
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ»
plugins/BorderAchieve/config.yml. - ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²
plugins/BorderAchieve/language/(ru.yml / en.yml). - (ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PlaceholderAPI Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΠΎΠ².
π ΠΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°: /border
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠ°Π²ΠΎ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
/border top |
borderachieve.player |
ΠΡΠΊΡΡΡΡ GUI ΡΠΎΠΏ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ |
/border reload |
borderachieve.admin |
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ ΠΈ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ |
/border lock <world> [player] |
borderachieve.admin |
ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΌΠΈΡ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠΊΠ° |
/border unlock <world> [player] |
borderachieve.admin |
Π Π°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠΊΠ° |
/border list <ΠΈΠ³ΡΠΎΠΊ> |
borderachieve.admin |
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΡΠ½Π½ΡΡ ΠΌΠΈΡΠΎΠ² ΠΈΠ³ΡΠΎΠΊΠ° |
/border lockstatus |
borderachieve.admin |
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΡΡ Π²ΡΠ΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ |
/border debug |
borderachieve.admin |
ΠΡΠ²Π΅ΡΡΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ |
/border help |
borderachieve.player |
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ |
Π―ΡΠ»ΡΠΊΠΈ (Π°Π»ΠΈΠ°ΡΡ): /bordertop, /topborder, /borderreload, /borderunlock, /borderlock, /borderlockstatus, /borderdebug, /borderachieve
π PlaceholderAPI
ΠΡΠ»ΠΈ PlaceholderAPI ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΡ:
%borderachieve_count%β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ³ΡΠΎΠΊΠ°%borderachieve_rank%β ΠΌΠ΅ΡΡΠΎ Π² ΡΠΎΠΏΠ΅%borderachieve_total%β ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅%borderachieve_lock_player%β ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΡΠ½Π½ΡΡ ΠΌΠΈΡΠΎΠ² ΠΈΠ³ΡΠΎΠΊΠ°%borderachieve_lock_<world>%βtrue, Π΅ΡΠ»ΠΈ ΠΌΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΡΠ½ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠΊΠ°%borderachieve_locked_display_<world>%β ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°ΠΌΠΈΡ: true/false%borderachieve_global_locked_<world>%βtrue, Π΅ΡΠ»ΠΈ ΠΌΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡΠΌ%borderachieve_global_locked_display_<world>%β ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°ΠΌΠΈΡ: true/falseΠ΄Π»Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
Info:
Info:3
β ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² config.yml:
language: ru
settings:
enable_border_expansion: true
expand_amount: 15.0
border_change_mode: "smooth"
border_move_speed: "200t"
set_initial_border_on_first_start: true
initial_border_size: 35.0
apply_to_all_worlds: false
allowed_worlds:
- world
- world_nether
- world_the_end
notify_only_player: true
effects:
sound: "entity.ender_dragon.growl"
sound_volume: 0.8
sound_pitch: 1.0
title: true
subtitle: true
gui:
slots: [10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,37,38,39,40,41,42,43]
world_locking:
enabled: true
apply_to_all_worlds_for_locking: false
default_required: 73
worlds:
world_nether:
required_achievements: 150
world_the_end:
required_achievements: 650
show_deny_title: true
respawn_worlds:
- "world"
- "world_nether"
- "world_the_end"
debug: false
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² documentation.yml (ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ).
π Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΌΠΈΡΠΎΠ²
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° (ΠΏΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡΠΌ):
- ΠΠ΄:
150β200(ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π½Π΅ ΡΡΠ°Π·Ρ, ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΎΠ²ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ) - ΠΠ½Π΄:
400β650(ΡΠ΅ΡΡΡΠ·Π½ΠΎΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠ΅, ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅)
ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ /border lockstatus.
π Π―Π·ΡΠΊΠΈ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΡΡΠΊΠΈΠΉ (ru) ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ (en). ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π² config.yml ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ language. Π―Π·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ plugins/BorderAchieve/language/.
π§ͺ ΠΡΠ»Π°Π΄ΠΊΠ°
ΠΠΊΠ»ΡΡΠΈΡΠ΅ debug: true Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
π Π‘Π±ΡΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ» config.yml ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ β ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ENGLISH VERSION
π Description
BorderAchieve turns earning advancements into a worldβaffecting mechanic and provides flexible world access control:
- Border expansion β every new achievement expands the border in selected worlds by a configurable amount. In the Nether the expansion is automatically divided by 8.
- Global world locking β teleportation to specific worlds (e.g. Nether, End) is blocked until the serverβwide total of completed achievements reaches a threshold. Once unlocked, the world stays open forever with a broadcast.
- Personal locking β admins can forbid specific players from accessing any world. Attempted teleportation is blocked, and respawning in a forbidden world redirects the player to the first available world according to a configurable order.
- Leaderboard β an interactive GUI ranking players by their completed achievements.
- Visual & sound effects β customizable Title, Subtitle, and sound when the border expands.
- PlaceholderAPI β placeholders for integration with other plugins (scoreboards, holograms, etc.).
- Flexible configuration β expansion mode (smooth/delayed), time, world selection, perβworld locking thresholds, respawn order.
π¦ Installation
- Download the plugin file.
- Place
BorderAchieve.jarinto theplugins/folder. - Restart the server.
- Configure
plugins/BorderAchieve/config.yml. - Adjust language files in
plugins/BorderAchieve/language/(ru.yml / en.yml). - (Optional) Install PlaceholderAPI to use placeholders.
π Commands
Main command: /border
| Command | Permission | Description |
|---|---|---|
/border top |
borderachieve.player |
Open achievement leaderboard GUI |
/border reload |
borderachieve.admin |
Reload config & language files |
/border lock <world> [player] |
borderachieve.admin |
Personally lock a world for a player |
/border unlock <world> [player] |
borderachieve.admin |
Unlock world globally or for a player |
/border list <player> |
borderachieve.admin |
List player's personally locked worlds |
/border lockstatus |
borderachieve.admin |
View all global and personal lock statuses |
/border debug |
borderachieve.admin |
Show debug info |
/border help |
borderachieve.player |
Show command help |
Aliases: /bordertop, /topborder, /borderreload, /borderunlock, /borderlock, /borderlockstatus, /borderdebug, /borderachieve
π PlaceholderAPI
If PlaceholderAPI is installed, the following placeholders are available:
%borderachieve_count%β player's achievement count%borderachieve_rank%β player's rank in leaderboard%borderachieve_total%β total completed achievements on server%borderachieve_lock_player%β list of worlds personally locked for the player%borderachieve_lock_<world>%βtrueif world is personally locked for the player%borderachieve_locked_display_<world>%β string likeworld: true/false%borderachieve_global_locked_<world>%βtrueif world is globally locked by achievements%borderachieve_global_locked_display_<world>%β string likeworld: true/falsefor global locking
Info:
Info:3
β Configuration
Main settings in config.yml:
language: en
settings:
enable_border_expansion: true
expand_amount: 15.0
border_change_mode: "smooth"
border_move_speed: "200t"
set_initial_border_on_first_start: true
initial_border_size: 35.0
apply_to_all_worlds: false
allowed_worlds:
- world
- world_nether
- world_the_end
notify_only_player: true
effects:
sound: "entity.ender_dragon.growl"
sound_volume: 0.8
sound_pitch: 1.0
title: true
subtitle: true
gui:
slots: [10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,37,38,39,40,41,42,43]
world_locking:
enabled: true
apply_to_all_worlds_for_locking: false
default_required: 73
worlds:
world_nether:
required_achievements: 150
world_the_end:
required_achievements: 650
show_deny_title: true
respawn_worlds:
- "world"
- "world_nether"
- "world_the_end"
debug: false
For a full description of every parameter, see the automatically created documentation.yml.
π Locking Recommendations
Global locking (by achievements):
- Nether:
150β200(won't unlock instantly, after initial advancements accumulate) - End:
400β650(a real challenge, unlocks much later)
Check progress with /border lockstatus.
π Languages
Russian (ru) and English (en) are supported. Set the language option in config.yml. Language files are located in plugins/BorderAchieve/language/.
π§ͺ Debugging
Enable debug: true in the config to receive detailed console logs.
π Resetting to Defaults
Delete config.yml and restart the server β the plugin will generate a fresh default configuration.
π ΠΠ²ΡΠΎΡ | Author
π ΠΠΈΡΠ΅Π½Π·ΠΈΡ | License
MIT License. See the LICENSE file for details.
0.1.8/0.2.0-SNAPSHOT
BorderAchieve / BorderAchieve
![]() |
![]() |
![]() |
![]() |
|---|
ΠΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ Paper 1.21+, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ (advancements) Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π³ΡΠ°Π½ΠΈΡ ΠΌΠΈΡΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ.
A Paper 1.21+ plugin that links advancements to dynamic world border expansion and dimension locking.
Π Π£Π‘Π‘ΠΠΠ― ΠΠΠ Π‘ΠΠ―
π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
BorderAchieve ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΡ, Π²Π»ΠΈΡΡΡΡΡ Π½Π° ΠΌΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°:
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ β Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΠ° Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΌΠΈΡΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ². Π ΠΠ΅Π·Π΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° 8.
- ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΈΡΠΎΠ² β ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠ°ΡΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΌΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ΄, ΠΠ½Π΄) Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π°, ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΏΠΎΡΠΎΠ³Π°. ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΈΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π½Π°Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΠ±ΡΠΈΠΌ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.
- Π’ΠΎΠΏ ΠΈΠ³ΡΠΎΠΊΠΎΠ² β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ GUI-ΠΌΠ΅Π½Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π»ΡΡΡΠΈΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΏΠΎ ΡΠΈΡΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ.
- ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ β Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Title, Subtitle ΠΈ Π·Π²ΡΠΊ ΠΏΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ Π³ΡΠ°Π½ΠΈΡΡ.
- PlaceholderAPI β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ (ΡΠ°Π±Π»ΠΎ, Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Ρ.ΠΏ.).
- ΠΠΈΠ±ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° β ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (ΠΏΠ»Π°Π²Π½ΡΠΉ/ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ), Π²ΡΠ΅ΠΌΡ, Π²ΡΠ±ΠΎΡ ΠΌΠΈΡΠΎΠ², ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠ³ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
π¦ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΠ»Π°Π³ΠΈΠ½Π°.
- ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅
BorderAchieve.jarΠ² ΠΏΠ°ΠΏΠΊΡplugins/. - ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ.
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ»
plugins/BorderAchieve/config.yml. - ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²
plugins/BorderAchieve/language/(ru.yml / en.yml). - (ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PlaceholderAPI Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΠΎΠ².
π ΠΠΎΠΌΠ°Π½Π΄Ρ
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠ°Π²ΠΎ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
/topborder (ΠΈΠ»ΠΈ /bordertop) |
β | ΠΡΠΊΡΡΡΡ GUI ΡΠΎΠΏ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ |
/borderreload |
borderachieve.admin |
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ ΠΈ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ |
/borderunlock <ΠΌΠΈΡ> [ΠΈΠ³ΡΠΎΠΊ] |
borderachieve.admin |
Π Π°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΡ Π½Π°Π²ΡΠ΅Π³Π΄Π° ΠΈΠ»ΠΈ Π²ΡΠ΄Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠΏΡΡΠΊ ΠΈΠ³ΡΠΎΠΊΡ |
/borderlock <ΠΌΠΈΡ> |
borderachieve.admin |
ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π½Π΅Π΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠΈΡ |
/borderlockstatus |
borderachieve.admin |
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΈΡΠΎΠ² |
/borderdebug |
borderachieve.admin |
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ |
/borderachieve |
β | Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Ρ |
π PlaceholderAPI
ΠΡΠ»ΠΈ PlaceholderAPI ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΡ:
%borderachieve_count%β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ³ΡΠΎΠΊΠ°%borderachieve_rank%β ΠΌΠ΅ΡΡΠΎ Π² ΡΠΎΠΏΠ΅%borderachieve_total%β ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅%borderachieve_locked_<ΠΌΠΈΡ>%βtrue, Π΅ΡΠ»ΠΈ ΠΌΠΈΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠΊΠ°;false, Π΅ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡ%borderachieve_locked_display_<ΠΌΠΈΡ>%β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Π²ΠΈΠ΄Π°ΠΌΠΈΡ: true/false(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,world_nether: true)
Info:
Info:3
β ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² config.yml:
language: ru
settings:
enable_border_expansion: true
expand_amount: 15.0
border_change_mode: "smooth"
border_move_speed: "200t"
set_initial_border_on_first_start: true
initial_border_size: 35.0
apply_to_all_worlds: false
allowed_worlds:
- world
- world_nether
- world_the_end
notify_only_player: true
effects:
sound: "entity.ender_dragon.growl"
sound_volume: 0.8
sound_pitch: 1.0
title: true
subtitle: true
gui:
slots: [10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,37,38,39,40,41,42,43]
world_locking:
enabled: true
default_required: 150
worlds:
world_nether:
required_achievements: 150
world_the_end:
required_achievements: 400
show_deny_title: true
debug: false
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² documentation.yml (ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ).
π Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΌΠΈΡΠΎΠ²
ΠΠ»Ρ 10β15 Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΡΠΎΠ³ΠΈ:
- ΠΠ΄:
150β200(ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π½Π΅ ΡΡΠ°Π·Ρ, ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΎΠ²ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ) - ΠΠ½Π΄:
400β500(ΡΠ΅ΡΡΡΠ·Π½ΠΎΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠ΅, ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅)
ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ /borderlockstatus.
π Π―Π·ΡΠΊΠΈ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΡΡΠΊΠΈΠΉ (ru) ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ (en). ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π² config.yml ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ language. Π―Π·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ plugins/BorderAchieve/language/.
π§ͺ ΠΡΠ»Π°Π΄ΠΊΠ°
ΠΠΊΠ»ΡΡΠΈΡΠ΅ debug: true Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
π Π‘Π±ΡΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ» config.yml ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ β ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ENGLISH VERSION
π Description
BorderAchieve turns earning advancements into a worldβaffecting mechanic:
- Border expansion β every new achievement expands the border in selected worlds by a configurable amount. In the Nether the expansion is automatically divided by 8.
- World locking β teleportation to specific worlds (e.g. Nether, End) is blocked until the serverβwide total of completed achievements reaches a threshold. Once unlocked, the world stays open forever with a broadcast.
- Leaderboard β an interactive GUI ranking players by their completed achievements.
- Visual & sound effects β customizable Title, Subtitle, and sound when the border expands.
- PlaceholderAPI β placeholders for integration with other plugins (scoreboards, holograms, etc.).
- Flexible configuration β expansion mode (smooth/delayed), time, world selection, perβworld locking thresholds.
π¦ Installation
- Download the plugin file.
- Place
BorderAchieve.jarinto theplugins/folder. - Restart the server.
- Configure
plugins/BorderAchieve/config.yml. - Adjust language files in
plugins/BorderAchieve/language/(ru.yml / en.yml). - (Optional) Install PlaceholderAPI to use placeholders.
π Commands
| Command | Permission | Description |
|---|---|---|
/topborder (or /bordertop) |
β | Open achievement leaderboard GUI |
/borderreload |
borderachieve.admin |
Reload config & language files |
/borderunlock <world> [player] |
borderachieve.admin |
Unlock world permanently or grant temp access to a player |
/borderlock <world> |
borderachieve.admin |
Re-lock a previously unlocked world |
/borderlockstatus |
borderachieve.admin |
View world locking status |
/borderdebug |
borderachieve.admin |
Show debug info |
/borderachieve |
β | Plugin help |
π PlaceholderAPI
If PlaceholderAPI is installed, the following placeholders are available:
%borderachieve_count%β playerβs achievement count%borderachieve_rank%β playerβs rank%borderachieve_total%β total completed advancements on the server%borderachieve_locked_<world>%βtrueif world is locked for the player,falseif open%borderachieve_locked_display_<world>%β returns a string likeworld_nether: true/false
Info:
Info:3
β Configuration
Main settings in config.yml:
language: en
settings:
enable_border_expansion: true
expand_amount: 15.0
border_change_mode: "smooth"
border_move_speed: "200t"
set_initial_border_on_first_start: true
initial_border_size: 35.0
apply_to_all_worlds: false
allowed_worlds:
- world
- world_nether
- world_the_end
notify_only_player: true
effects:
sound: "entity.ender_dragon.growl"
sound_volume: 0.8
sound_pitch: 1.0
title: true
subtitle: true
gui:
slots: [10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,37,38,39,40,41,42,43]
world_locking:
enabled: true
default_required: 150
worlds:
world_nether:
required_achievements: 150
world_the_end:
required_achievements: 400
show_deny_title: true
debug: false
For a full description of every parameter, see the automatically created documentation.yml.
π Locking Recommendations
For 10β15 active players, recommended thresholds:
- Nether:
150β200(won't unlock instantly, after initial advancements accumulate) - End:
400β500(a real challenge, unlocks much later)
Check progress with /borderlockstatus.
π Languages
Russian (ru) and English (en) are supported. Set the language option in config.yml. Language files are located in plugins/BorderAchieve/language/.
π§ͺ Debugging
Enable debug: true in the config to receive detailed console logs.
π Resetting to Defaults
Delete config.yml and restart the server β the plugin will generate a fresh default configuration.
π ΠΠ²ΡΠΎΡ | Author
π ΠΠΈΡΠ΅Π½Π·ΠΈΡ | License
MIT License. See the LICENSE file for details.






