Class Skript
- All Implemented Interfaces:
Listener
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 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 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
(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
error
(CommandSender sender, String error) 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
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 SkriptPlugin
Deprecated.static Version
static Collection
<SyntaxElementInfo<? extends Section>> static ServerPlatform
static Skript
Get an instance ofSkript
static SkriptPlugin
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
info
(CommandSender sender, String info) static boolean
static boolean
static boolean
isHookEnabled
(Class<? extends ch.njol.skript.hooks.Hook<?>> hook) Checks whether a hook has been enabled.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
message
(CommandSender sender, String info) 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.static void
static void
static SkriptAddon
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> Registers an event.static <E extends SkriptEvent>
SkriptEventInfo<E> 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 void
setInstance
(Skript instance) 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
-
Field Details
-
message_invalid_reload
-
message_finished_loading
-
message_no_errors
-
message_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:
-
UEH
-
-
Constructor Details
-
Skript
-
-
Method Details
-
getSkriptInstance
Get an instance ofSkript
- Returns:
- Instance of Skript
- See Also:
-
getInstance
Deprecated.UsegetSkriptPluginInstance()
insteadGets an instance ofSkriptPlugin
- Returns:
- Instance of SkriptPlugin
-
getSkriptPluginInstance
-
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.
-
setInstance
-
getScriptsFolder
- Returns:
- The folder containing all Scripts.
-
getMinecraftVersion
-
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
-
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.
-
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
-
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 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 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.
-
getSkriptPluginInstance()
instead