Package xyz.janboerman.scalaloader
Class ScalaLoader
java.lang.Object
org.bukkit.plugin.PluginBase
org.bukkit.plugin.java.JavaPlugin
xyz.janboerman.scalaloader.ScalaLoader
- All Implemented Interfaces:
CommandExecutor
,TabCompleter
,TabExecutor
,Plugin
,xyz.janboerman.scalaloader.compat.IScalaLoader
public final class ScalaLoader
extends JavaPlugin
implements xyz.janboerman.scalaloader.compat.IScalaLoader
The ScalaLoader plugin's main class! ScalaLoader enables you to write plugins in Scala. Just depend on ScalaLoader,
extend ScalaPlugin
, and ScalaLoader will provide the Scala runtime classes!
If you want to explicitly get the instance of the ScalaLoader plugin, use IScalaLoader.getInstance()
instead.
The implementation of ScalaLoader returned by this method depends on whether ScalaLoader is loaded as Paper Plugin or not.
- Author:
- Jannyboy11
- Note:
- undocumented methods are unintended for use outside of this plugin.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionxyz.janboerman.scalaloader.DebugSettings
xyz.janboerman.scalaloader.event.EventBus
Pattern[]
boolean
xyz.janboerman.scalaloader.ScalaLibraryClassLoader
loadOrGetScalaVersion
(xyz.janboerman.scalaloader.plugin.PluginScalaVersion scalaVersion) Get a (fresh or cached)ScalaLibraryClassLoader
that loads standard library classes from a specific Scala version.void
void
onEnable()
void
onLoad()
Methods inherited from class org.bukkit.plugin.java.JavaPlugin
getClassLoader, getCommand, getConfig, getDataFolder, getDefaultBiomeProvider, getDefaultWorldGenerator, getDescription, getFile, getLogger, getPlugin, getPluginLoader, getProvidingPlugin, getResource, getServer, getTextResource, isEnabled, isNaggable, onCommand, onTabComplete, reloadConfig, saveConfig, saveDefaultConfig, saveResource, setEnabled, setNaggable, toString
Methods inherited from class org.bukkit.plugin.PluginBase
equals, getName, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.bukkit.command.CommandExecutor
onCommand
Methods inherited from interface xyz.janboerman.scalaloader.compat.IScalaLoader
runInMainThread, saveScalaVersionsToConfig
Methods inherited from interface org.bukkit.plugin.Plugin
getConfig, getDataFolder, getDefaultBiomeProvider, getDefaultWorldGenerator, getDescription, getLogger, getName, getPluginLoader, getResource, getServer, isEnabled, isNaggable, reloadConfig, saveConfig, saveDefaultConfig, saveResource, setNaggable
Methods inherited from interface org.bukkit.command.TabCompleter
onTabComplete
-
Constructor Details
-
ScalaLoader
public ScalaLoader()
-
-
Method Details
-
isPaperPlugin
public boolean isPaperPlugin()- Specified by:
isPaperPlugin
in interfacexyz.janboerman.scalaloader.compat.IScalaLoader
-
getDebugSettings
public xyz.janboerman.scalaloader.DebugSettings getDebugSettings()- Specified by:
getDebugSettings
in interfacexyz.janboerman.scalaloader.compat.IScalaLoader
-
getScalaPluginsFolder
- Specified by:
getScalaPluginsFolder
in interfacexyz.janboerman.scalaloader.compat.IScalaLoader
-
getScalaPlugins
- Specified by:
getScalaPlugins
in interfacexyz.janboerman.scalaloader.compat.IScalaLoader
-
getEventBus
public xyz.janboerman.scalaloader.event.EventBus getEventBus()- Specified by:
getEventBus
in interfacexyz.janboerman.scalaloader.compat.IScalaLoader
-
getJavaPluginLoaderPatterns
-
onLoad
public void onLoad()- Specified by:
onLoad
in interfacePlugin
- Overrides:
onLoad
in classJavaPlugin
-
onEnable
public void onEnable()- Specified by:
onEnable
in interfacePlugin
- Overrides:
onEnable
in classJavaPlugin
-
onDisable
public void onDisable()- Specified by:
onDisable
in interfacePlugin
- Overrides:
onDisable
in classJavaPlugin
-
loadOrGetScalaVersion
public xyz.janboerman.scalaloader.ScalaLibraryClassLoader loadOrGetScalaVersion(xyz.janboerman.scalaloader.plugin.PluginScalaVersion scalaVersion) throws xyz.janboerman.scalaloader.plugin.ScalaPluginLoaderException Get a (fresh or cached)ScalaLibraryClassLoader
that loads standard library classes from a specific Scala version. The classloader can either load classes from over the network directly, or use downloaded library archives (jar files).- Parameters:
scalaVersion
- the scala version- Returns:
- the class loader
- Throws:
xyz.janboerman.scalaloader.plugin.ScalaPluginLoaderException
- if a url is malformed.
-