Skip to content
Allen Lantz edited this page Jul 10, 2018 · 9 revisions

Installing Lukkit

Download the latest version of Lukkit. Release builds can be downloaded from the Spigot resource page, or directly. The most recent beta build can be downloaded from Google Drive here. After downloading Lukkit, place the jar file in your plugins folder.

Creating a Lukkit Plugin

Create a folder inside of your plugins folder. You can name this folder whatever you like as long as it has the .lkt extension. For example, MyFirstLukkitPlugin.lkt would be a great name to start with. Inside of the folder you have just created, create two more new files named main.lua and plugin.yml. These files will be used to control and configure your Lukkit plugin.

Plugin Configuration

The plugin.yml file is where information on your plugin, such as the description, author and version will be stored. The format of this file follows the same structure as that of the Bukkit or Spigot plugin.yml. However, unlike the plugin.yml in Bukkit and Spigot, you are not required to fill out the commands section. More information on the plugin.yml file can be found here, do not include the commands section as it will cause errors.

An example of a plugin.yml file looks like:

main: main.lua
version: 1.0
name: My-First-Lukkit-Plugin
description: My very first Lukkit plugin.
author: YourName

Spaces in plugin names are no longer supported by Bukkit.

Main Lua File

The main Lua file is defined in your plugin.yml file and is the first file that is run when your plugin starts. This file does not have to be called name, as long as the name defined in your plugin.yml file matches that of your main file.

An example of a main Lua file with the onEnable and onDisable events looks like:

plugin.onEnable(function()
  logger.info("My first plugin is enabled!")
end)

plugin.onDisable(function()
  logger.info("My first plugin is disabled!")
end)

Both the onEnable and onDisable events are located inside of the plugin global. The plugin global contains all events and methods relating to the plugin.

Commands

Creating commands in Lukkit is simple and requires only three lines of code. When creating a command in Lukkit, information about the command is stored in objects, such as the name and description. More information about commands can be found here.

An example of a main Lua file with a command looks like:

plugin.onEnable(function()
  logger.info("My first plugin is enabled!")
end)

plugin.onDisable(function()
  logger.info("My first plugin is disabled!")
end)

local testCommand = plugin.addCommand({name="hello",description="Hello world"}, function(cmd)
    plugin.getServer():broadcastMessage("Hello, world!")
end)

Events

Just like creating commands, listening for events in Lukkit is very simple and only requires three lines of code. With events and commands, you can also get information about the player or other information that is returned in the event. More information about events can be found here.

An example of a main Lua file with an event looks like:

plugin.onEnable(function()
  logger.info("My first plugin is enabled!")
end)

plugin.onDisable(function()
  logger.info("My first plugin is disabled!")
end)

local testCommand = plugin.addCommand({name="hello",description="Hello world"}, function(cmd)
    plugin.getServer():broadcastMessage("Hello, world!")
end)

plugin.registerEvent("BlockBreakEvent", function(event)
    event:getPlayer():sendMessage("You broke a block")
end)

Packaging

More information coming soon.