skript-reflect by SkriptLang

Reflection utilities for Skript

















skript-reflect 2.4 44 days, 17 hours and 10 minutes ago

skript-reflect 2.4

skript-reflect 2.4 is here with compatibility for the newest versions of Skript! Even more exciting, this is the first skript-reflect release officially under SkriptLang. We are excited to continue development of this important addon.

As always, report any issues to our issues page.

Happy Skript-reflecting!


  • Added a plugin instance expression to easily get an instance of a plugin
    Example: set {_skript} to the instance of plugin "Skript"

  • Support for Skript 2.8 and 2.7.
  • Lots of internal cleanup to stabilize the addon for these versions.

Click here to view the full list of commits made since 2.3

As always, if you encounter any issues or have some minor suggestions, please report them at
If you have any bigger ideas or input for the future of skript-reflect, you can share those too at

View Update

Now requires Skript 2.6.1 740 days, 5 hours and 49 minutes ago

This version of skript-reflect requires Skript 2.6.1 (or above)

Bug fixes, improvements to proxies and (primitive) arrays, more improvements.


  • Fix Java calls to some caller sensitive methods
  • Added more warnings and errors at parsetime
  • Improve (primitive) array handling
  • Added new array expression
  • Fix NPE when attempting to use undefined changer on custom expression
  • Improve proxies:
    • Call default method if no implementation found (Java 16+)
    • Add default implementation for toString, hashCode and equals
    • Fix return value not converting to the right type

  • Fix bug causing duplicate Bukkit event triggers
  • Add parse tag expression
  • Add import effect for usage in effect commands
  • Fix memory leak caused by return effect
  • Add plugin instance expression (thanks @Pikachu920)

If you want a bigger changelog, see the commit log

View Update

Bug fixes and improvements 982 days, 1 hour and 8 minutes ago

skript-reflect will stop supporting Skript versions below 2.6 when a stable Skript 2.6 version is released. This means that this could be the last skript-reflect version that supports 2.5.3 and 2.2-dev36.


  • Fix declaringClass NPE
  • Improve Java call errors with difference between static and non-static
  • Allow primitives in class literal expression
  • Improve inner class import system, for example set {_phase} to EnderDragon.Phase.LEAVE_PORTAL if EnderDragon is imported
  • Fix Java calls with numerical wrapper parameter types
  • Fix custom event expression with only data specified
  • Fix custom expression with return type being allowed in places where a different type is required

View Update

Skript 2.6 / MC 1.17 support 1017 days, 4 hours and 31 minutes ago

- Fix the run section effect not storing a result
- Fix #34
- Fix #37
- Fix the event expression not returning the right event
- Fix events not being marked as delayed at runtime
- Make skript-reflect compatible with Skript 2.6
- Fix #39
- Make compiling output jar always Java 8 compatible
- Fix Java call descriptor parsing
- Change some warning prefixes
- Improve Java call errors
- Improve Java 16 compatibility

- Added a class reference expression:
- Added a simple warning if an import has an alias that's not needed

View Update

Bug fixes 1161 days, 22 hours and 23 minutes ago

Fixed parsing issues with some expressions:

  • Matched pattern expression
  • Parse mark expression
  • Expr-n expression
  • Parse regex expression

Fixed issue with local variables being deleted after running sections.

View Update

Fixes and features 1167 days, 1 hour and 1 minute ago


  • Fixed setting raw expression to multiple values.
  • Fixed local variables being deleted with delayed effects.
  • Fixed NPE for varargs methods with a single given argument.
  • Fixed startup error on 1.13 and 1.14.
  • Fixed reflective events firing twice.
  • Fixed NPE with expression-expression where the number is higher than allowed by the pattern.
  • Fixed syntax conflict with MundoSK custom events.
  • Fixed matched pattern expression and return effect being initiated when they shouldn't be.
  • Fixed calling methods using parameter type specification (overloaded methods).
  • Fixed raw expression returning wrong values when called from any WrappedEvent, such as custom elements.
  • Fixed return effect giving wrong errors.

  • Added preloading (disabled by default), see docs.
  • Added bStats.
  • Added ItemType to ItemStack converter in java calls for convenience.

View Update

skript-reflect 1351 days, 12 hours and 32 minutes ago

This addon is a fork of skript-mirror, and comes with a bunch of bug fixes and new features.
Some of the important bug fixes and features:

  • Fixed async event listening
  • Fixed local variables issues being deleted after async java calls and after parse sections from custom syntax
  • Added support for newer Java versions and Java vendors
  • Added custom events
  • Added sections, with support for running code blocks async
  • Fixed class proxies and made them easier to use
  • Added preloading

#1 Basic Java call:

set {_nl} to System.lineSeparator()

#2 Event listening

on CauldronLevelChangeEvent:
broadcast "The cauldron at %event.getBlock().getLocation()% had its level changed from %event.getOldLevel()% to %event.getNewLevel()%"

#3 Custom syntax
effect send (experience|xp) change of %number% [with level %-number%] to %players%:
set {_progress} to expr-1
set {_level} to expr-2
loop exprs-3:
set {_p} to loop-value
if {_level} is set:
{_p}.sendExperienceChange({_progress}, {_level})

send xp change of 0.75 with level 9 to player

Full example scripts:

The documentation and a guide to get started is available on GitBook:
Issues and suggestions should be reported on GitHub.
You can get help in the skript-mirror channel of the skUnity Discord, or you can ask questions in the skript-reflect discord.

Icon made by Freepik from Use of skUnity logo approved by BaeFell.

View Update

© Copyright 2014-2024 skUnity

All rights reserved.