Class Skript
- All Implemented Interfaces:
io.papermc.paper.plugin.lifecycle.event.LifecycleEventOwner
,org.bukkit.command.CommandExecutor
,org.bukkit.command.TabCompleter
,org.bukkit.command.TabExecutor
,org.bukkit.event.Listener
,org.bukkit.plugin.Plugin
Use this class to extend this plugin's functionality by adding more conditions
, effects
, expressions
, etc.
If your plugin.yml contains 'depend: [Skript]' then your plugin will not start at all if Skript is not present. Add 'softdepend: [Skript]' to your plugin.yml if you want your plugin to work even if Skript isn't present, but want to make sure that Skript gets loaded before your plugin.
If you use 'softdepend' you can test whether Skript is loaded with 'Bukkit.getPluginManager().getPlugin("Skript") != null'
Once you made sure that Skript is loaded you can use Skript.getInstance()
whenever you need a reference to the plugin, but you likely won't need it since all API
methods are static.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final double
A small value, useful for comparing doubles or floats.static final double
A value a bit larger than 1static final Message
static final Message
static final Message
static final Message
static final int
The maximum ID a block can have in Minecraft.static final int
The maximum data value of Minecraft, i.e.static final String
static final Thread.UncaughtExceptionHandler
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
adminBroadcast
(String message) static void
static void
static boolean
classExists
(String className) Tests whether a given class exists in the classpath.static void
closeOnDisable
(Closeable closeable) Registers a Closeable that should be closed when this plugin is disabled.static boolean
debug()
static void
static void
disableHookRegistration
(Class<? extends ch.njol.skript.hooks.Hook<?>>... hooks) Disables the registration for the given hook classes.static boolean
dispatchCommand
(org.bukkit.command.CommandSender sender, String command) Dispatches a command with calling command eventsstatic void
static void
error
(String error, ErrorQuality quality) Use this inSyntaxElement.init(Expression[], int, Kleenean, ch.njol.skript.lang.SkriptParser.ParseResult)
(and other methods that are called during the parsing) to log errors with a specificErrorQuality
.static void
static EmptyStacktraceException
exception
(@Nullable Throwable cause, @Nullable TriggerItem item, String... info) static EmptyStacktraceException
exception
(@Nullable Throwable cause, @Nullable Thread thread, @Nullable TriggerItem item, String... info) Used if something happens that shouldn't happenstatic EmptyStacktraceException
static EmptyStacktraceException
static EmptyStacktraceException
Used if something happens that shouldn't happenstatic ExperimentRegistry
static boolean
fieldExists
(Class<?> c, String fieldName) Tests whether a field exists in the given class.static @Nullable SkriptAddon
static @Nullable SkriptAddon
getAddon
(org.bukkit.plugin.java.JavaPlugin p) static SkriptAddon
static Collection
<SkriptAddon> static Collection
<SyntaxElementInfo<? extends Condition>> static Collection
<SyntaxElementInfo<? extends Effect>> static Collection
<SkriptEventInfo<?>> static Iterator
<ExpressionInfo<?, ?>> static Iterator
<ExpressionInfo<?, ?>> getExpressions
(Class<?>... returnTypes) static Skript
static @Nullable org.bstats.bukkit.Metrics
static Version
static Collection
<SyntaxElementInfo<? extends Section>> static ServerPlatform
static String
static Collection
<SyntaxElementInfo<? extends Statement>> static List
<StructureInfo<? extends Structure>> @Nullable SkriptUpdater
Gets the updater instance currently used by Skript.static Version
static void
static void
static boolean
static boolean
static boolean
isHookEnabled
(Class<? extends ch.njol.skript.hooks.Hook<?>> hook) Checks whether a hook has been enabled.static boolean
static boolean
isRunningMinecraft
(int major, int minor) static boolean
isRunningMinecraft
(int major, int minor, int revision) static boolean
static boolean
static boolean
logHigh()
static boolean
static boolean
static void
Mark that an exception has occurred at some point during runtime.static void
Similar toinfo(CommandSender, String)
but no [Skript] prefix is added.static boolean
methodExists
(Class<?> c, String methodName, Class<?>... parameterTypes) Tests whether a method exists in the given class.static boolean
methodExists
(Class<?> c, String methodName, Class<?>[] parameterTypes, Class<?> returnType) Tests whether a method exists in the given class, and whether the return type matches the expected one.static Thread
Creates a new Thread and sets its UncaughtExceptionHandler.void
void
onEnable()
void
onPluginDisable
(org.bukkit.event.server.PluginDisableEvent event) static void
static void
static SkriptAddon
registerAddon
(org.bukkit.plugin.java.JavaPlugin p) Registers an addon to Skript.static <E extends Condition>
voidregisterCondition
(Class<E> condition, String... patterns) registers aCondition
.static <E extends Effect>
voidregisterEffect
(Class<E> effect, String... patterns) Registers anEffect
.static <E extends SkriptEvent>
SkriptEventInfo<E> registerEvent
(String name, Class<E> c, Class<? extends org.bukkit.event.Event>[] events, String... patterns) Registers an event.static <E extends SkriptEvent>
SkriptEventInfo<E> registerEvent
(String name, Class<E> c, Class<? extends org.bukkit.event.Event> event, String... patterns) Registers an event.static <E extends Expression<T>,
T>
voidregisterExpression
(Class<E> c, Class<T> returnType, ExpressionType type, String... patterns) Registers an expression.static <E extends Section>
voidregisterSection
(Class<E> section, String... patterns) Registers aSection
.static <E extends Structure>
voidregisterSimpleStructure
(Class<E> c, String... patterns) static <E extends Structure>
voidregisterStructure
(Class<E> c, String... patterns) static <E extends Structure>
voidregisterStructure
(Class<E> c, EntryValidator entryValidator, String... patterns) static boolean
Deprecated.static boolean
testing()
static String
toString
(double n) static void
Check minecraft version and assign it to minecraftVersion field This method is created to update MC version before onEnable method To fixUtils.HEX_SUPPORTED
being assigned before minecraftVersion is properly assignedstatic void
Methods inherited from class org.bukkit.plugin.java.JavaPlugin
getClassLoader, getCommand, getConfig, getDataFolder, getDefaultBiomeProvider, getDefaultWorldGenerator, getDescription, getFile, getLifecycleManager, getLogger, getPlugin, getPluginLoader, getPluginMeta, getProvidingPlugin, getResource, getServer, getTextResource, init, init, isEnabled, isNaggable, onCommand, onLoad, 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.plugin.Plugin
getComponentLogger, getDataPath, getLog4JLogger, getSLF4JLogger
-
Field Details
-
m_invalid_reload
-
m_finished_loading
-
m_no_errors
-
m_no_scripts
-
SCRIPTSFOLDER
- See Also:
-
EPSILON
public static final double EPSILONA small value, useful for comparing doubles or floats.E.g. to test whether two floating-point numbers are equal:
Math.abs(a - b) < Skript.EPSILON
or whether a location is within a specific radius of another location:location.distanceSquared(center) - radius * radius < Skript.EPSILON
- See Also:
-
EPSILON_MULT
public static final double EPSILON_MULTA value a bit larger than 1- See Also:
-
MAXBLOCKID
public static final int MAXBLOCKIDThe maximum ID a block can have in Minecraft.- See Also:
-
MAXDATAVALUE
public static final int MAXDATAVALUEThe maximum data value of Minecraft, i.e. Short.MAX_VALUE - Short.MIN_VALUE.- See Also:
-
UEH
-
-
Constructor Details
-
Skript
- Throws:
IllegalStateException
-
-
Method Details
-
getInstance
-
updateMinecraftVersion
public static void updateMinecraftVersion()Check minecraft version and assign it to minecraftVersion field This method is created to update MC version before onEnable method To fixUtils.HEX_SUPPORTED
being assigned before minecraftVersion is properly assigned -
getVersion
-
getServerPlatform
-
isHookEnabled
Checks whether a hook has been enabled.- Parameters:
hook
- The hook to check.- Returns:
- Whether the hook is enabled.
- See Also:
-
isFinishedLoadingHooks
public static boolean isFinishedLoadingHooks()- Returns:
- whether hooks have been loaded,
and if
disableHookRegistration(Class[])
won't error because of this.
-
disableHookRegistration
@SafeVarargs public static void disableHookRegistration(Class<? extends ch.njol.skript.hooks.Hook<?>>... hooks) Disables the registration for the given hook classes. If Skript has been enabled, this method will throw an API exception. It should be used in something likeJavaPlugin.onLoad()
.- Parameters:
hooks
- The hooks to disable the registration of.- See Also:
-
experiments
- Returns:
- The manager for experimental, optional features.
-
getScriptsFolder
- Returns:
- The folder containing all Scripts.
-
onEnable
public void onEnable()- Specified by:
onEnable
in interfaceorg.bukkit.plugin.Plugin
- Overrides:
onEnable
in classorg.bukkit.plugin.java.JavaPlugin
-
getMinecraftVersion
-
isRunningCraftBukkit
public static boolean isRunningCraftBukkit()- Returns:
- Whether this server is running CraftBukkit
-
isRunningMinecraft
public static boolean isRunningMinecraft(int major, int minor) - Returns:
- Whether this server is running Minecraft major.minor or higher
-
isRunningMinecraft
public static boolean isRunningMinecraft(int major, int minor, int revision) -
isRunningMinecraft
-
supports
Deprecated.Used to test whether certain Bukkit features are supported.- Parameters:
className
-- Returns:
- Whether the given class exists.
-
classExists
Tests whether a given class exists in the classpath.- Parameters:
className
- Thecanonical name
of the class- Returns:
- Whether the given class exists.
-
methodExists
Tests whether a method exists in the given class.- Parameters:
c
- The classmethodName
- The name of the methodparameterTypes
- The parameter types of the method- Returns:
- Whether the given method exists.
-
methodExists
public static boolean methodExists(Class<?> c, String methodName, Class<?>[] parameterTypes, Class<?> returnType) Tests whether a method exists in the given class, and whether the return type matches the expected one.Note that this method doesn't work properly if multiple methods with the same name and parameters exist but have different return types.
- Parameters:
c
- The classmethodName
- The name of the methodparameterTypes
- The parameter types of the methodreturnType
- The expected return type- Returns:
- Whether the given method exists.
-
fieldExists
Tests whether a field exists in the given class.- Parameters:
c
- The classfieldName
- The name of the field- Returns:
- Whether the given field exists.
-
getMetrics
@Nullable public static @Nullable org.bstats.bukkit.Metrics getMetrics() -
closeOnDisable
Registers a Closeable that should be closed when this plugin is disabled.All registered Closeables will be closed after all scripts have been stopped.
- Parameters:
closeable
-
-
onPluginDisable
public void onPluginDisable(org.bukkit.event.server.PluginDisableEvent event) -
onDisable
public void onDisable()- Specified by:
onDisable
in interfaceorg.bukkit.plugin.Plugin
- Overrides:
onDisable
in classorg.bukkit.plugin.java.JavaPlugin
-
outdatedError
public static void outdatedError() -
outdatedError
-
toString
-
newThread
Creates a new Thread and sets its UncaughtExceptionHandler. The Thread is not started automatically. -
isAcceptRegistrations
public static boolean isAcceptRegistrations() -
checkAcceptRegistrations
public static void checkAcceptRegistrations() -
registerAddon
Registers an addon to Skript. This is currently not required for addons to work, but the returnedSkriptAddon
provides useful methods for registering syntax elements and adding new strings to Skript's localization system (e.g. the required "types.[type]" strings for registered classes).- Parameters:
p
- The plugin
-
getAddon
-
getAddon
-
getAddons
-
getAddonInstance
- Returns:
- A
SkriptAddon
representing Skript.
-
registerCondition
public static <E extends Condition> void registerCondition(Class<E> condition, String... patterns) throws IllegalArgumentException registers aCondition
.- Parameters:
condition
- The condition's classpatterns
- Skript patterns to match this condition- Throws:
IllegalArgumentException
-
registerEffect
public static <E extends Effect> void registerEffect(Class<E> effect, String... patterns) throws IllegalArgumentException Registers anEffect
.- Parameters:
effect
- The effect's classpatterns
- Skript patterns to match this effect- Throws:
IllegalArgumentException
-
registerSection
public static <E extends Section> void registerSection(Class<E> section, String... patterns) throws IllegalArgumentException Registers aSection
.- Parameters:
section
- The section's classpatterns
- Skript patterns to match this section- Throws:
IllegalArgumentException
- See Also:
-
getStatements
-
getConditions
-
getEffects
-
getSections
-
registerExpression
public static <E extends Expression<T>,T> void registerExpression(Class<E> c, Class<T> returnType, ExpressionType type, String... patterns) throws IllegalArgumentException Registers an expression.- Parameters:
c
- The expression's classreturnType
- The superclass of all values returned by the expressiontype
- The expression'stype
. This is used to determine in which order to try to parse expressions.patterns
- Skript patterns that match this expression- Throws:
IllegalArgumentException
- if returnType is not a normal class
-
getExpressions
-
getExpressions
-
registerEvent
public static <E extends SkriptEvent> SkriptEventInfo<E> registerEvent(String name, Class<E> c, Class<? extends org.bukkit.event.Event> event, String... patterns) Registers an event.- Parameters:
name
- Capitalised name of the event without leading "On" which is added automatically (Start the name with an asterisk to prevent this). Used for error messages and the documentation.c
- The event's classevent
- The Bukkit event this event applies topatterns
- Skript patterns to match this event- Returns:
- A SkriptEventInfo representing the registered event. Used to generate Skript's documentation.
-
registerEvent
public static <E extends SkriptEvent> SkriptEventInfo<E> registerEvent(String name, Class<E> c, Class<? extends org.bukkit.event.Event>[] events, String... patterns) Registers an event.- Parameters:
name
- The name of the event, used for error messagesc
- The event's classevents
- The Bukkit events this event applies topatterns
- Skript patterns to match this event- Returns:
- A SkriptEventInfo representing the registered event. Used to generate Skript's documentation.
-
registerStructure
-
registerSimpleStructure
-
registerStructure
public static <E extends Structure> void registerStructure(Class<E> c, EntryValidator entryValidator, String... patterns) -
getEvents
-
getStructures
-
dispatchCommand
Dispatches a command with calling command events- Parameters:
sender
-command
-- Returns:
- Whether the command was run
-
logNormal
public static boolean logNormal() -
logHigh
public static boolean logHigh() -
logVeryHigh
public static boolean logVeryHigh() -
debug
public static boolean debug() -
testing
public static boolean testing() -
log
-
debug
-
info
- See Also:
-
warning
- See Also:
-
error
- See Also:
-
error
Use this inSyntaxElement.init(Expression[], int, Kleenean, ch.njol.skript.lang.SkriptParser.ParseResult)
(and other methods that are called during the parsing) to log errors with a specificErrorQuality
.- Parameters:
error
-quality
-
-
exception
Used if something happens that shouldn't happen- Parameters:
info
- Description of the error and additional information- Returns:
- an EmptyStacktraceException to throw if code execution should terminate.
-
exception
public static EmptyStacktraceException exception(@Nullable @Nullable Throwable cause, String... info) -
exception
public static EmptyStacktraceException exception(@Nullable @Nullable Throwable cause, @Nullable @Nullable Thread thread, String... info) -
exception
public static EmptyStacktraceException exception(@Nullable @Nullable Throwable cause, @Nullable @Nullable TriggerItem item, String... info) -
markErrored
public static void markErrored()Mark that an exception has occurred at some point during runtime. Only used for Skript's testing system. -
exception
public static EmptyStacktraceException exception(@Nullable @Nullable Throwable cause, @Nullable @Nullable Thread thread, @Nullable @Nullable TriggerItem item, String... info) Used if something happens that shouldn't happen- Parameters:
cause
- exception that shouldn't occurinfo
- Description of the error and additional information- Returns:
- an EmptyStacktraceException to throw if code execution should terminate.
-
getSkriptPrefix
-
info
-
broadcast
- Parameters:
message
-permission
-- See Also:
-
adminBroadcast
-
message
Similar toinfo(CommandSender, String)
but no [Skript] prefix is added.- Parameters:
sender
-info
-
-
error
-
getUpdater
Gets the updater instance currently used by Skript.- Returns:
- SkriptUpdater instance.
-
classExists(String)