Minimum Java Version: Java 17
Discord: https://discord.gg/uXVU8jmtpU
Leaderboard Placeholders: Despicaleaderboards
King of the Ladder
King of the Ladder is an old Minecraft lobby game that every server owner can add very their server lobies easly. In this minigame each player have to kick other players out of the ladders to be the king. The king tries to stand on the top of the ladders while not letting others to climb and punching them out of the way!
Documentation
More detailed information can be found on our
wiki.
The Java documentation can be browsed. For questions or isseus use our
issue tracker on GitHub.
Plugin Tutorial
Special thanks to
Sp1gotFAQ for recording this tutorial video.
Commands and Permissions
[optional argument
]
<required argument
>
Player Commands
Player commands do not require permissions to execute.
Code (Text):
/kotl stats [player]
- Shows your stats or specified player's stats
/kotl top <statistic type>
- Shows TOP 10 players of specified statistic
- Statistics: score and tours_played
Admin Commands
Some of the admin commands can not be executed by console and all of these commands requires some permissions.
Code (Text):
/kotl create <arena name>
- Creates new arena with specified name.
- Permission: kotl.admin.create
- Executor: Only players
/kotl delete <arena name>
- Deletes specified arena and its configuration.
- Permission: kotl.admin.delete
- Executor: Console and players
/kotl edit <arena name>
- Opens setup editor for the existing arena.
- Permission: kotl.admin.edit
- Executor: Only players
/kotl list
- Prints list of available arenas.
- Permission: kotl.admin.list
- Executor: Console and players
/kotl reload
- Reloads all game instances they will be stopped.
- Permission: kotl.admin.reload
- Executor: Console and players
/kotl leaderboard
- Updates McRankings entries instantly and shows leaderboard URLs.
- Permission: kotl.admin.leaderboard
- Executor: Console and players
/kotl help
- Shows all of the commands and their usage and descriptions.
- Permission: kotl.admin.help
- Executor: Console and players
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2Fs86ODE6.png)
Features
Custom Kits
Now we have a kit system!
You can add infinite amount of kits and set permission, items and armors for each kit.
No Dependencies
We are not depending on any other plugins.
There only optional dependenices we use such as PlaceHolderAPI, Multiverse-Core (multi-world support).
Custom PAPI Placeholders
View our
wiki for the list of placeholders that our plugin using for in-game messages, custom scoreboard and, custom boss bar.
Wide Compatibility
Supported versions are currently 1.8 - 1.21.4+. Also upcoming versions are supported when they are released.
HEX Color Support
We are supporting HEX color codes in our in-game messages, scoreboard entries, and boss bar messages. Also this is only effective in Minecraft 1.16 and later versions.
(E.g. &#FF0000)
Legacy Color Code Support
Every message in this plugin supports legacy color codes (E.g &a &4).
1.8 PvP Hits Supported
You can edit the generic attack cooldown speed for everyplayer in the game arena by changing the value in config file. This option allows 1.9+ players to hit as faster 1.8 players and makes conditions the same.
Arena Editor Menu
Our arena system is very easy to setup games. Use /kotl edit command to open arena editor. (Some images will be added)
Custom Arena Plates
Now we have a custom arena plate editor in arena setup editor menu.
Multi Language Support
We are currently supporting English by default, Turkish and German. If you want to help us you can translate our messages into your language.
Custom Scoreboard and Boss Bar
We have custom in-game scoreboard and boss bar with configurable messages. The messages supports HEX color codes and the Minecraft color codes. In premium version scoreboard and boss bars have more messages and they have some cool animations too.
MySQL Database Suppport
You can store the player statistics in your database. The database operations won't lock the main thread when connecting to your server to upload information. Also there is no migrator between switching flat file storage and MySQL database storage.
Death Blocks
These blocks are very deadly because when the player interacts with these blocks they will get kicked out of the game. The death blocks can be edited from config file. (Some images will be added)
Reward System
Rewards are executed for the player who becomes king and the players who couldn't become king as well. Rewards can do anything with simple Java codes. We have a rewards.yml file which explains everything related rewards system. Our API is also accessible in reward codes.
Configuration Options
Click on the spoiler button to see what are the editable options for King of the Ladder and their well detailed descriptions.
Code (YAML):
# If you want to translate for us check out: https://github.com/Despical/LocaleStorage#locale-storage
# Available locales:
# default - English
# de - Deutsche
# tr - Türkçe
locale
: default
Arena-Schedulers
:
# Type 1: Creates a general task that loops all arenas and players to check
# if they are inside any arena, if they are they'll be put in the game.
#
# Type 2: Creates tasks for every arena which means every arena will look for
# all online players in their own task.
#
# Type 3 (Slowest for big networks): Registers a PlayerMoveEvent and checks in
# the event if player is inside any arena.
Type
: 1
# How many ticks should we wait to lookup for players to put in arenas
Interval
: 2
# Should we search for arenas asynchronously?
# In most cases events firing in main thread so async won't work for Type 3.
Async
: false
King-Settings
:
# Should we allow players to become king in a row?
Become-King-In-A-Row
: false
# Should we prevent players to become king again without a delay?
Cooldown
: 5
# The permission to override king cooldown.
Cooldown-Override-Perm
:
""
# Should we apply an action bar message that displays current cooldown of player?
Cooldown-Bar
: true
# Should we count the cooldown if player is not in an arena and the option above is true?
Count-Cooldown-Bar-Outside
: false
# Should we apply the cooldown to the king when there is only one player in the arena?
Cooldown-When-Alone
: false
# Should we show the cooldown bar if player has cooldown and rejoins the arena again?
Show-Cooldown-If-Rejoin
: true
# Should we reset players' cooldown, other than new king, when someone becomes king?
Reset-Cooldowns-On-New-King
: true
# Should players have different cooldowns for each arena they join?
Separate-Cooldowns
: true
Remove-Cooldown-On
:
# Should we remove player's becoming king cooldown when they join an arena, if they have?
Join
: false
# Should we remove player's becoming king cooldown when they leave an arena, if they have?
Leave
: false
# Enable boss bar support?
Boss-Bar-Enabled
: true
# Enable scoreboard support?
Scoreboard-Enabled
: true
# Enable this option when you're using MySQL, otherwise it won't work.
# Be careful when changing this because there is NO migrator between
# flat file and MySQL for player stats.
Database-Enabled
: false
# Enable Inventory Manager for your games? (Very useful feature for MULTI ARENA)
# This saves inventory of players and restores it after player leaves arena.
# Saved elements: max health, health, food, experience, full inventory, armor contents, and more.
Inventory-Manager:
Enabled
: true
# Usable attributes:
# game-mode, hunger, exp, level
# health, max-health, health-scale
# saturation, allow-flight, fire-ticks
Do-Not-Restore
:
-
"max-health"
-
"health-scale"
# Should we clear player's inventory on joining and leaving the game area?
# Also disable InventoryManager option before enabling this option.
Clear-Inventory
: true
# Should we clear player's active potion effects when player join the arena?
Clear-Effects
: true
# Should in game chat format be enabled?
# You can edit the formatting in messages.yml
Chat-Format-Enabled
: true
# Should we disable all chat related stuff?
# It will disable the separated chat.
Disable-Separate-Chat
: false
# Should players get fall damage?
Disable-Fall-Damage
: true
# Which game mode should we set for players when they enter the arena?
Game-Mode
: SURVIVAL
# Show a cuboid particle effect around the arena corners.
Arena-Outlines:
Step
: .4
Particle
: FLAME
# The delay between hitting players. ONLY EFFECTED in Minecraft 1.9+
Hit-Cooldown-Delay
: 16
# Commands which can be used in game, remove all of them to disable
Whitelisted-Commands
:
- me
- help
# Should we spawn some cool fireworks around the game area when someone becomes king?
Fireworks-On-New-King
: true
# Should we block every not King of the Ladder associated commands in game?
Block-Commands
: true
# Should we enable damage?
# This option may be helpful if you enabled the kits.
Damage-Enabled
: true
# When players click these blocks should we remove them from the game?
Death-Blocks-Enabled
: true
# Should players can be able to pick up items in-game?
Pick-Up-Items
: false
# Blocks which you should not click in game, remove all of them to disable.
# If player interacts with a death block they will be kicked from the game.
Death-Blocks
:
- BEDROCK
- GLASS
# When player enters the game area should we notify players?
Join-Notify
: true
# When player leaves the game area should we notify players?
Leave-Notify
: true
# Should we check for updates on plugin start/after admin join?
Update-Notifier-Enabled
: true
# No way! You've reached the end! But... where's the dragon!?
PlaceholderAPI & Scoreboard
Placeholders
Code (Text):
List of the PlaceholderAPI's placeholders:
%kotl_arena% - Shows player's current arena if they are in-game, or a message from the messages file.
%kotl_score% - Shows your total score in-game.
%kotl_tours_played% - Shows your total amount of played tours.
%kotl_{arenaid}:king% - Shows the current king's name.
%kotl_{arenaid}:players% - Shows the amount of players in arena.
List of scoreboard placeholders:
%arena% - Shows arena's id (name).
%players% - Shows the amount of players in arena.
%king% - Shows the current king's name.
%score% - Shows your total score in-game.
%tours_played% - Shows your total amount of played tours.
List of game sign placeholders:
%map_name% - Shows arena's id (name).
%players% - Shows the amount of players in arena.
%king_name% - Shows the current king's name.
Plugin Images
Some in-game images from plugin, more of them will be added soon.
(Now you can create arena outline particles, that feature is also optional)
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2FRE66ZM6.png)
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2FaMfZ8V8.gif)
KOTL Developer API
We are using a public API and have a detailed tutorial on our wiki about how to use this plugin as a library if you don't want to use public one.
Firstly, create a folder called lib in your project directory and put the plugin in that folder then follow the instructions below.
Code (Text):
#### Maven Dependency
<dependency>
<groupId>me.despical</groupId>
<artifactId>kotl</artifactId>
<version>${version-here}</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/king-of-the-ladder-2.9.5.jar</systemPath>
</dependency>
#### Gradle Dependency
dependencies {
compile files('libs/king-of-the-ladder-2.9.5.jar')
// or include all the jars in the folder
compile fileTree(dir: 'libs', include: '*.jar')
}
#### PlayerStatisticChangeEvent
This event will be called when user's any statistic change. (on tour finished, become king, etc.)
#### Example Usage
@EventHandler
public void onStatisticChange(KOTLPlayerStatisticChangeEvent event) {
StatsStorage.StatisticType stat = event.getStatisticType();
int value = event.getNumber();
event.getPlayer().sendMessage("Updated statistic name: " + stat.name() + ", Updated value: " + value);
}
If you like the plugin don't forget to review us!
Copyright 2024 ©
Berke Akçen