
Skript - Folia
Skript is a Paper plugin which allows server admins to customize their server easily, but without the hassle of programming a plugin or asking/paying someone to program a plugin for them.
Skript Folia
Skript Folia is a fork of Skript focused on bringing Skript-style scripting to Folia-based Minecraft servers.
Skript lets server administrators create custom commands, mechanics, systems, and gameplay features without writing a full Java plugin. Its syntax is based on readable English, making it accessible for server owners while still useful for developers who want to prototype ideas quickly before turning them into full plugins.
Repository: https://github.com/ArkFlame/SkriptFolia
About Skript Folia
Skript was originally released in 2011 on dev.bukkit.org by Njol and has always focused on inclusive programming for Minecraft server owners. It gives administrators a practical way to create unique server features without requiring prior programming experience.
Skript Folia continues that idea while targeting modern Folia server environments, where traditional Bukkit/Paper assumptions around synchronous server execution are no longer always valid.
Folia changes how Minecraft servers handle ticking, regions, entities, and scheduling. Because of that, plugins that work on Paper may require changes before they can run safely on Folia. Skript Folia is built around that compatibility goal: keeping Skript useful while adapting behavior for Folia-based servers.
Why Skript Folia?
Traditional scripting plugins often assume that all world, entity, and player operations happen on one global server thread. Folia does not work that way.
Skript Folia exists to make Skript usable in Folia environments by improving compatibility with Folia's regionized threading model.
It is intended for server owners who want:
- Custom commands
- Gameplay scripts
- Server utilities
- Simple prototypes
- Lightweight custom systems
- Faster feature iteration
- A scripting layer for Folia servers
Features
Skript Folia includes the familiar Skript experience while focusing on Folia compatibility.
Natural Syntax
Skript uses simple English-like syntax that is easy to read, write, and maintain.
Example:
send "Welcome to the server!" to player
No complex Java setup is required for basic features.
Custom Commands
Create custom commands directly from scripts.
command /hello:
trigger:
send "Hello, %player%!" to player
Commands can include permissions, descriptions, aliases, arguments, and custom behavior.
Functions
Avoid copy-pasting repeated logic by defining reusable functions.
function welcomePlayer(p: player):
send "Welcome, %{_p}%!" to {_p}
Functions make scripts cleaner and easier to maintain.
Variables
Store player data, locations, counters, cooldowns, and other server state.
set {coins::%player's uuid%} to 100
add 5 to {coins::%player's uuid%}
Events
React to server events such as players joining, leaving, chatting, dying, breaking blocks, or interacting with the world.
on join:
send "Welcome back, %player%!" to player
Clear Error Messages
Skript focuses on readable error messages. When a script contains invalid syntax or unsupported behavior, Skript reports the problem in clear terms so server owners can fix issues faster.
Extendable
Skript has a large addon ecosystem. Addons can expand Skript with extra syntax, integrations, expressions, effects, and conditions.
When using addons on Folia, make sure each addon is also compatible with Folia. A Paper-compatible addon is not automatically Folia-safe.
Example Script
A simple home system can be written with Skript:
command /sethome:
permission: skript.home
description: Set your home
executable by: players
trigger:
set {home::%player's uuid%} to location of player
send "Set your home to <grey>%location of player%<reset>"
command /home:
permission: skript.home
description: Teleport yourself to your home
executable by: players
trigger:
if {home::%player's uuid%} is not set:
send "<red>You have not set your home yet! Run /sethome first."
stop
teleport player to {home::%player's uuid%}
send "<lime>You have been teleported to your home."
Requirements
Skript Folia is intended for Folia-based servers.
Recommended environment:
- Folia or a Folia-compatible server implementation
- A supported Minecraft version for the current Skript Folia build
- Java version required by your target Minecraft server version
Spigot is not supported.
Paper compatibility depends on the current fork behavior and build target. Use Folia when running Skript Folia unless the release notes explicitly state otherwise.
Installation
- Download the latest Skript Folia build.
- Place the
.jarfile inside your server'spluginsfolder. - Restart the server.
- Confirm that Skript Folia loaded successfully.
- Add
.skscripts inside:
plugins/Skript/scripts/
- Reload scripts with:
/sk reload <file name>
Example:
/sk reload homes
Installing Scripts
Creating a script is simple:
- Create a file ending in
.sk. - Put it inside the Skript scripts folder.
- Reload it with
/sk reload <file name>.
Example path:
plugins/Skript/scripts/example.sk
Example command:
/sk reload example
Installing Addons
Skript addons install like normal plugins:
- Download the addon
.jar. - Place it inside the
pluginsfolder. - Restart the server.
Important: addons must be Folia-compatible. Addons that perform world, entity, player, inventory, or scheduler operations incorrectly may fail or cause unsafe behavior on Folia.
Always check the addon's documentation before using it on a Folia server.
Folia Compatibility Notice
Folia uses regionized threading. This means plugins must be careful when accessing players, entities, worlds, chunks, blocks, inventories, and scheduled tasks.
Skript Folia is designed to improve Skript support in this environment, but script behavior may still depend on:
- The syntax being used
- The event being handled
- The target Minecraft version
- Installed addons
- Whether an operation touches world, player, entity, or region state
If a script works on Paper but fails on Folia, the cause is often unsafe thread access or an addon that is not Folia-compatible.
Reporting Issues
If you experience a bug with Skript Folia, report it on GitHub:
https://github.com/ArkFlame/SkriptFolia/issues
When reporting an issue, include:
- Server version
- Skript Folia version
- Java version
- Installed addons
- Full error log
- Script that causes the issue
- Steps to reproduce the problem
Bug reports should be about Skript Folia itself. For help writing scripts, use community Skript resources.
Resources
Useful Skript resources:
- Skript Documentation: https://docs.skriptlang.org/
- skUnity: https://forums.skunity.com/
- SkriptHub: https://skripthub.net/
- Original Skript project: https://github.com/SkriptLang/Skript
Skript Folia repository:
https://github.com/ArkFlame/SkriptFolia
Contributing
Skript Folia is a Java plugin project based on Skript. Contributing requires Java experience and an understanding of Bukkit, Paper, and Folia server behavior.
Before contributing, review the source code, test changes on a Folia server, and make sure world, entity, player, and scheduler logic is Folia-safe.
Repository:
https://github.com/ArkFlame/SkriptFolia
Summary
Skript Folia brings the familiar Skript scripting experience to Folia-based Minecraft servers.
It helps server owners create custom features faster while keeping the simplicity that made Skript popular: readable syntax, quick iteration, custom commands, reusable functions, and practical server automation.
For Folia networks that need custom behavior without building every feature as a full Java plugin, Skript Folia provides a flexible scripting layer built for modern server infrastructure.
