skript-reflect by TPGamesNL

Reflection utilities for Skript

















Now requires Skript 2.6.1 539 days, 8 hours and 31 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 781 days, 3 hours and 50 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 816 days, 7 hours and 14 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 961 days, 1 hour and 6 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 966 days, 3 hours and 43 minutes 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 1150 days, 15 hours and 15 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.

[RIGHT]Icon made by Freepik from Use of skUnity logo approved by BaeFell.[/RIGHT]

View Update

© Copyright 2014-2023 skUnity

All rights reserved.