Skript Plugin (1.19.4, 1.18.2) – Paper, Spigot
Skript Plugin (1.19.4, 1.18.2) for Paper/Spigot Minecraft enables server administrators and other users to customize their servers without having to learn Java. Even if you are proficient in Java, Skript can still be a useful tool as it can simplify certain tasks and allow for rapid prototyping. This Skript fork on Github was created based on the improvements by Mirreski, which were built upon the original Skript by Njol.
Features:
Note About Addons:
Original Skript doesn’t support addons, even though some Skript developers have also developed their own addons.
Compiling:
Skript uses Gradle for compilation. Use your command prompt of preference and navigate to Skript’s source directory. Then you can just call Gradle to compile and package Skript for you:
./gradlew clean build # on UNIX-based systems (mac, linux) gradlew clean build # on Windows
You can get source code from the releases page. You may also clone this repository, but that code may or may not be stable.
Compiling Modules:
Parts of Skript are provided as Gradle subprojects. They require Skript, so they are compiled after it has been built. For this reason, if you want them embedded in the Skript jar, you must re-package them after compiling them once. For example:
./gradlew jar
Note that modules are not necessary for Skript to work. Currently, they are only used to provide compatibility with old WorldGuard versions.
Testing:
Skript has some tests written in Skript. Running them requires a Minecraft server, but our build script will create one for you. Running the tests is easy:
./gradlew (quickTest|skriptTest|skriptTestJava8|skriptTestJava17)
QuickTest runs the test suite on the newest supported server version. skriptTestJava17 (1.17+) runs the tests on the latest supported Java version. skriptTestJava8 (1.13-1.16) runs the tests on the oldest supported Java version. skriptTest runs both skriptTestJava8 and skriptTestJava17
By running the tests, you agree to Mojang’s End User License Agreement.
Importing to Eclipse:
With new Eclipse versions, there is integrated Gradle support, and it actually works now. So, first, get the latest Eclipse, then import Skript as any Gradle project. Just make sure to keep the configuration when the importer asks for that!
If you encounter strange issues, make sure you follow the instructions above and have actually downloaded the latest Eclipse or updated your installation correctly. Skript’s new Gradle version (starting from dev26) does not work very well with older Eclipse versions. Also, do not use Gradle STS; it is outdated.
Importing to IDEA:
You’ll need to make sure that nullness annotations are working correctly. Also, when sending pull requests, make sure not to change IDEA configuration files that may have been stored in the repository.
Maven Repository:
If you use Skript as a (soft) dependency for your plugin, and use maven or Gradle, this is for you.
First, you need to add the Maven repository at the END of all your repositories. Skript is not available in Maven Central.
repositories { maven { url 'https://repo.skriptlang.org/releases' } }
Or, if you use Maven:
<repositories>
<repository>
<id>skript-releases</id>
<name>Skript Repository</name>
<url>https://repo.skriptlang.org/releases</url>
</repository>
</repositories>
For versions of Skript after dev37 you might need to add the paper-API repository to prevent build issues.
maven { url 'https://repo.destroystokyo.com/repository/maven-public/' }
Or, if you use Maven:
<repository>
<id>destroystokyo-repo</id>
<url>https://repo.destroystokyo.com/content/repositories/snapshots/</url>
</repository>
Then you will also need to add Skript as a dependency.
dependencies { implementation 'com.github.SkriptLang:Skript:[versionTag]' }
An example of the version tag would be dev37c.
Note: If Gradle isn’t able to resolve Skript’s dependencies, just disable the resolution of transitive dependencies for Skript in your project.
Or, if you use Maven:
<dependency> <groupId>com.github.SkriptLang</groupId> <artifactId>Skript</artifactId> <version>[versionTag]</version> <scope>provided</scope> </dependency>
Installation Note:
- Skript requires Spigot to work. You heard it right, CraftBukkit does not work. Paper, which is a fork of Spigot, is recommended; it is required for some parts of Skript to be available.
- Skript supports only the latest patch versions of Minecraft 1.9+. For example, this means that 1.16.5 is supported, but 1.16.4 is not. Testing with all old patch versions is not feasible for us.
- Minecraft 1.8 and earlier are not, and will not be supported. New Minecraft versions will be supported as soon as possible.