Lineation is a plugin for Spigot Minecraft servers that can create lines for minigames. This can make hosting events with contests for racing minigames easier to manage.
Start lines can contain players until a countdown reaches zero and they are allowed to start. While the race is on, the finish line counts for players passing it and can close the lines after a certain amount of people win.
This plugin was written as a replacement to a current approach using command blocks for start and finish lines during player races on a Minecraft server. Lineation makes it easier to manage lines, track winners of races and allows staff to create lines without having to give them access to command blocks. Since we use these to host events with contests and giveaways, this plugin has a feature to only allow players to win a certain amount of times, after that they are ignored by the finish line.
This is my first time creating a Minecraft plugin, so feedback is greatly appreciated!
Huge thanks to @jeremynoesen for helping a great amount with the code, creating the plugin logo and allowing me to inspect and take inspiration from his earlier Minecraft plugins.
It's all set up now! See the GIF underneath for a demonstration of what I just set up in action.
See more examples on the Wiki
Not all commands are listed here, to view all commands, check the wiki page
-
/lineation help
:
Show this page -
/lineation help lines
:
View commands relating to lines -
/lineation line create <start/finish> <name>
:
Creates a start or finish line with this name -
/lineation line remove <name>
:
Deletes a line with this name -
/lineation line list <start/finish/started>
:
Lists all lines that are defined. Specifying a type is optional
-
/lineation line <name> start
:
Starts this line, opens borders if there are any -
/lineation line <name> stop
:
Stops this line, closes borders if there are any -
/lineation line <name> setarea
:
Sets the area where players will be detected -
/lineation line <name> addborder
:
Adds a border where blocks will be set at your current WorldEdit selection -
/lineation line <name> removeborder <number/all>
:
Remove a border by number -
/lineation line <name> link <name>
:
Link this line with a different line with the opposite type. This makes them start/stop at the same time. -
/lineation line <name> tp
:
Teleports you to this lines teleport point
View /lineation line info to see this information from a line -
/lineation line <name> addcheckpoint
:
Adds a checkpoint, players have to cross through these in order before winning -
/lineation line <name> removecheckpoint <number/all>
:
Remove a checkpoint by number
lineation.help
- Allow using the help commandslineation.config.reload
- Allow reloading the plugin config fileslineation.config.maxwins
- Allow setting the maximum amount of times someone can winlineation.config.forget
- Allow forgetting a players winslineation.line.list
- Allow seeing the list of lineslineation.line.here
- Allow seeing information about the line you're currently standing inlineation.line.create
- Allow creating new lineslineation.line.remove
- Allow removing lineslineation.line.setarea
- Allow setting the area for a linelineation.line.addborder
- Allow adding borders for a linelineation.line.removeborder
- Allow removing borders for a linelineation.line.addcheckpoint
- Allow adding checkpoints for a linelineation.line.removecheckpoint
- Allow removing checkpoints for a linelineation.line.tp
- Allow teleporting to a lines teleport pointlineation.line.start
- Allow starting lineslineation.line.stop
- Allow stopping lineslineation.line.link
- Allows linking lineslineation.line.option.blocksequence
- Allow setting the block sequence for a linelineation.line.option.teleport
- Allow setting a teleport location for a linelineation.line.option.maxwinners
- Allow setting the max winners for a linelineation.line.option.addcommand
- Allow adding commands to run at finishlineation.line.option.removecommand
- Allow removing command to runlineation.line.option.laps
- Allow setting the laps for a linelineation.line.option.messagereach
- Allow setting the reach for the announcement messageslineation.line.option.gamemodes
- Allow setting the allowed gamemodes for a linelineation.line.option.illegalarea
- Allows using the illegal area optionlineation.line.option.illegalarea.add
- Allow adding illegal areas to a linelineation.line.option.illegalarea.remove
- Allow removing set illegal areas
To install Lineation, download the latest release and place the JAR file in your server plugins folder and restart your server. This will create the necessary files with the default options in plugins/Lineation
.
This plugin also has WorldEdit as a dependency, so please install that too. WorldEdit is used to make selections and set the blocks of the finish line.
The plugin has been tested on Minecraft 1.13.2 using Java 11 and Minecraft 1.16.4 and 1.17.1 using Java 16 with WorldEdit 7.2.0.
Most of the configuration is done ingame by using the /lineation command
. You can however edit config.yml
to set lines default options, for if you find the provided defaults are not fit.
Please do not edit lines.yml
by hand, this will likely break and I will offer no support for this. This plugin overwrites config files when it reloads/stops, so do not edit files with the server running.
Development of this plugin has been frozen. Functionality of this plugin will be moved to my ongoing project Dopamine