Class Skript
- All Implemented Interfaces:
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:
registerAddon(JavaPlugin),registerCondition(Class, String...),registerEffect(Class, String...),registerExpression(Class, Class, ExpressionType, String...),registerEvent(String, Class, Class, String...),EventValues.registerEventValue(Class, Class, Getter, int),Classes.registerClass(ClassInfo),Comparators.registerComparator(Class, Class, Comparator),Converters.registerConverter(Class, Class, Converter)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic doubleA small value, useful for comparing doubles or floats.static doubleA value a bit larger than 1static Messagestatic Messagestatic intThe maximum ID a block can have in Minecraft.static intThe maximum data value of Minecraft, i.e.static Stringstatic String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidadminBroadcast(String message)static voidstatic booleanChecks if Skript is in testing mode and docs template folder is foundstatic voidstatic booleanclassExists(String className)Tests whether a given class exists in the classpath.static voidcloseOnDisable(Closeable closeable)Registers a Closeable that should be closed when this plugin is disabled.static booleandebug()static voidstatic voiddisableHookRegistration(Class<? extends Hook<?>>... hooks)Disables the registration for the given hook classes.static booleandispatchCommand(org.bukkit.command.CommandSender sender, String command)Dispatches a command with calling command eventsstatic voidstatic voiderror(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 voidstatic EmptyStacktraceExceptionexception(@Nullable Throwable cause, @Nullable TriggerItem item, String... info)static EmptyStacktraceExceptionexception(@Nullable Throwable cause, @Nullable Thread thread, @Nullable TriggerItem item, String... info)Used if something happens that shouldn't happenstatic EmptyStacktraceExceptionstatic EmptyStacktraceExceptionstatic EmptyStacktraceExceptionUsed if something happens that shouldn't happenstatic booleanfieldExists(Class<?> c, String fieldName)Tests whether a field exists in the given class.static @Nullable SkriptAddonstatic @Nullable SkriptAddongetAddon(org.bukkit.plugin.java.JavaPlugin p)static SkriptAddonstatic 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 Skriptstatic @Nullable Metricsstatic Versionstatic Collection<SyntaxElementInfo<? extends Section>>static ServerPlatformstatic Collection<SyntaxElementInfo<? extends Statement>>@Nullable SkriptUpdaterGets the updater instance currently used by Skript.static Versionstatic voidstatic voidstatic booleanstatic booleanstatic booleanisHookEnabled(Class<? extends Hook<?>> hook)Checks whether a hook has been enabled.static booleanstatic booleanisRunningMinecraft(int major, int minor)static booleanisRunningMinecraft(int major, int minor, int revision)static booleanstatic booleanstatic booleanlogHigh()static booleanstatic booleanstatic voidSimilar toinfo(CommandSender, String)but no [Skript] prefix is added.static booleanmethodExists(Class<?> c, String methodName, Class<?>... parameterTypes)Tests whether a method exists in the given class.static booleanmethodExists(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 ThreadCreates a new Thread and sets its UncaughtExceptionHandler.voidvoidonEnable()voidonPluginDisable(org.bukkit.event.server.PluginDisableEvent event)static voidstatic voidstatic SkriptAddonregisterAddon(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 booleanDeprecated.static booleantesting()static StringtoString(double n)static voidCheck minecraft version and assign it to minecraftVersion field This method is created to update MC version before onEnable method To fixUtils.HEX_SUPPORTEDbeing assigned before minecraftVersion is properly assignedstatic voidMethods 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, onLoad, onTabComplete, reloadConfig, saveConfig, saveDefaultConfig, saveResource, setEnabled, setNaggable, toStringMethods inherited from class org.bukkit.plugin.PluginBase
equals, getName, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.bukkit.plugin.Plugin
getLog4JLogger, getSLF4JLogger
-
Field Details
-
m_invalid_reload
-
m_finished_loading
-
SCRIPTSFOLDER
- See Also:
- Constant Field Values
-
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, Constant Field Values
-
EPSILON_MULT
public static final double EPSILON_MULTA value a bit larger than 1- See Also:
EPSILON, Constant Field Values
-
MAXBLOCKID
public static final int MAXBLOCKIDThe maximum ID a block can have in Minecraft.- See Also:
- Constant Field Values
-
MAXDATAVALUE
public static final int MAXDATAVALUEThe maximum data value of Minecraft, i.e. Short.MAX_VALUE - Short.MIN_VALUE.- See Also:
- Constant Field Values
-
UEH
-
SKRIPT_PREFIX
-
-
Constructor Details
-
Skript
- Throws:
IllegalStateException
-
-
Method Details
-
getInstance
-
isDocsTemplateFound
public static boolean isDocsTemplateFound() -
canGenerateUnsafeDocs
public static boolean canGenerateUnsafeDocs()Checks if Skript is in testing mode and docs template folder is found -
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_SUPPORTEDbeing 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:
disableHookRegistration(Class[])
-
disableHookRegistration
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:
isHookEnabled(Class)
-
onEnable
public void onEnable()- Specified by:
onEnablein interfaceorg.bukkit.plugin.Plugin- Overrides:
onEnablein 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 nameof 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
-
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:
onDisablein interfaceorg.bukkit.plugin.Plugin- Overrides:
onDisablein 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 returnedSkriptAddonprovides 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
SkriptAddonrepresenting Skript.
-
registerCondition
public static <E extends Condition> void registerCondition(Class<E> condition, String... patterns) throws IllegalArgumentExceptionregisters 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 IllegalArgumentExceptionRegisters 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 IllegalArgumentExceptionRegisters aSection.- Parameters:
section- The section's classpatterns- Skript patterns to match this section- Throws:
IllegalArgumentException- See Also:
Section
-
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 IllegalArgumentExceptionRegisters 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.
-
getEvents
-
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:
SkriptLogger.log(Level, String)
-
warning
- See Also:
SkriptLogger.log(Level, String)
-
error
- See Also:
SkriptLogger.log(Level, String)
-
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
-
exception
public static EmptyStacktraceException exception(@Nullable Throwable cause, @Nullable Thread thread, String... info) -
exception
public static EmptyStacktraceException exception(@Nullable Throwable cause, @Nullable TriggerItem item, String... info) -
exception
public static EmptyStacktraceException exception(@Nullable Throwable cause, @Nullable Thread thread, @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.
-
info
-
broadcast
- Parameters:
message-permission-- See Also:
adminBroadcast(String)
-
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)