SoftPlugin

SoftPlugin

161 Downloads

This is an actively maintained fork of SoftPlugin.

Original Reddit post on r/Admincraft
Original Github README copied below


SoftPlugin is a thin loader; at runtime, it compiles Java source files and then loads a specific boot class.

Whilst the server is running, the source files can be changed and the plugin reloaded without restarting the server.


Rationale
This plugin tries to have these benefits of scripting plugins (e.g. Skript):

  • Rapid development; no need to build and deploy a jar
  • Rapid prototyping; new features or ideas can be quickly tried
  • Quick changes and fixes; IDE not needed to make changes, just a text editor and reload

By compiling Java sources into classes, it could use these benefits:

  • Java language; strict-typing, static analysis, clearer code constructs, etc.
  • Native use of Spigot API; no need to wait for intermediate plugin to update
  • Access to existing libraries and other plugins

Requirements

  • Bukkit 1.8 or later
  • Java 8 or higher (works with both JDK and JRE).

Usage
Use Java source files with SoftPlugin at your own risk. Don't give SoftPlugin files you are unfamiliar with.
Setup

  1. Upload SoftPlugin to the plugins directory of your server
  2. Restart server
  3. Check plugins/SoftPlugin/config.yml and change settings to taste
  4. In the created source directory, create or place Java source files in typical layout. e.g, a file for class softplugin.Main should be in source/softplugin/Main.java
  5. Execute /softplugin-reload in the server

Commands

  • /softplugin-reload (or /spr) - does the following:
    • Reloads SoftPlugin's configuration options
    • Unloads any currently loaded classes
    • Discard any compiled classes in the cache
    • Compiles the source files
    • Loads and executes the main class defined in the config

Permissions

  • softplugin.reload - Allows use of /softplugin-reload. Granted to op and console.