Skip to content

Releases: SkQuery/SkQuery


25 Mar 06:26
Choose a tag to compare
  • Updates to latest Spigot 1.19.4 and Skript 2.7.0-beta2
  • Removes moon phase expression. It's in Skript now.

Bug fixes

15 Dec 04:53
Choose a tag to compare

Fixed a bug where if the provided world border was null, it would error, also updated library and latest 1.19.3

2.6.3 Skript update

16 Jul 10:39
Choose a tag to compare

Updated to latest Skript 2.6.3
Updated to Spigot 1.19

1.18.1 and Skript 2.6.1 support

27 Jan 00:47
Choose a tag to compare

Updated all libraries; Skript 2.6.1, Minecraft 1.18.1 and Shadow gradle.
Removed new uuid expression as it's in Skript now.
Fixed a debug error happening with the world border size expression.

Due to how Skript is removing versions equal and older than 1.12 and Mojang requiring latest Java versions. Backwards support for older versions is getting harder and harder, so the following will now apply;

Latest 4.1.6+ version only works with Skript 2.6.1+ and was compiled in Java 17 (MC 1.13+). If you're running 1.9-1.12 use SkQuery version 4.1.4. If you're running 1.13+ and have Java 17 use this version, if you are still using anything between Java 11 and Java 16 use version 4.1.5 or upgrade to Java 17. Go to to view older versions.

1.6-1.8 versions of SkQuery can be found here

Update to Skript 2.6

23 May 22:30
Choose a tag to compare


  • Updated to Skript 2.6-alpha1. Please make any bug reports regarding Skript in the SkriptLang issue tracker at

  • Updated to 1.16.5

  • Removed health gain reason. It's in Skript now.

  • Removed server list ping expressions. They're in Skript now.

  • Removed recipes, SkQuery never had a good implementation of them.

  • Fully removed custom syntax things. List here 9289ec4

Bug fixes

17 Oct 02:57
Choose a tag to compare
  • Removed custom events, expressions, property expression, and functions. These features were experimental and you should be using Skript's built in functions over SkQuery's implementation.
  • Bandage patch for recipes throwing a deprecated warning. I would highly suggest using another addon that handles recipes better over SkQuery. I will not be remaking the recipe system in SkQuery at this time.
  • Added a new syntax to force sleeping at a bed location (make|force) %player% [to] sleep at %location%
  • Recoded the item projectile syntax
  • Item projectile syntax now allows for multiple entities to fire at the same time.
  • Adapted the item projectile system to use ItemType over ItemStack. This may improve correct aliases lookup in older versions of Skript and/or Minecraft versions.
  • Updated some libraries

Bug fixes

05 Aug 07:43
Choose a tag to compare
  • Fixed a bug where initialization of a class from some unknown library the user had, would cause SkQuery to not load. (#49 Thanks Qfrijters)
  • Fixed a bug where SkQuery was checking a nulled value about MySQL credentials. (#47 Thanks Creaous)

Report bugs at

Fix conflict with size of

17 Dec 07:39
Choose a tag to compare

Fixed a conflict between size of %objects% of Skript and the new WorldBorder size expression.

This is because Skript's accepts all objects, and that's not something that is friendly to other syntaxes. The new syntax is

(size|diameter) of world[ ]border[s] %worldborders% [over [a [(time|period) of]] %-timespan%]

Thanks aeonlamb (#16)

SkQuery 4-pre1 and 4-pre2 additions

12 Jul 07:16
Choose a tag to compare

Welcome to SkQuery 4.1, this is the complete SkQuery story, adding all elements from the SkQuery 4 (pre 1 and pre 2) (Except Advancements and Npcs (Ok it's hard to maintain NMS)).

- Added the ability for Tab Completions to work regardless of their capitalization. (Thanks PanGargamel #12)
- Added Expression to get characters at indexes from strings.
- 'char[acter][s] at [index] %numbers% (within|in) %strings%'
- Added inventory name event expression.
- Added WorldBorder expressions. Type: worldborder
- World border center center of [world[ ]border[s]] %worldborders%, %worldborders%'[s] [world[ ]border[s]] center
- World border time warning time of [world[ ]border[s]] %worldborders%, %worldborders%'[s] [world[ ]border[s]] warning time
- World border distance warning distance of [world[ ]border[s]] %worldborders%, %worldborders%'[s] [world[ ]border[s]] warning distance
- World border damage amount damage [amount] of [world[ ]border[s]] %worldborders%, %worldborders%'[s] [world[ ]border[s]] damage [amount]
- World border damage buffer [damage] buffer of [world[ ]border[s]] %worldborders%, %worldborders%'[s] [world[ ]border[s]] [damage] buffer
- World border size (size|diameter) [over [a [(time|period) of]] %-timespan%] of [world[ ]border[s]] %worldborders%, %worldborders%'[s] [world[ ]border[s]] (size|diameter) [over [a [(time|period) of]] %-timespan%]
- Added WorldBorder condition:
- Locations are within Border %locations% is [with]in [world[ ]border[s]] %worldborder%, %locations% (isn't|is not) [with]in [world[ ]border[s]] %worldborder%
- Added trail projectile trail projectile with %particles%
- Can only be used within the on shoot event

- Fixed Entity has potioneffect condition to support multiples:
- Before %livingentity% (has|have) %potioneffecttype%, %livingentities% does(n't| not) (has|have) %potioneffecttype%
- After %livingentities% (has|have) [potion [effect]] %potioneffecttypes%, %livingentities% (doesn't|does not|do not|don't) have [potion [effect]] %potioneffecttypes%
- Fixed Divisible condtion to support multiples:
- Before %number% is divisible by %number%, %number% is not divisible by %number%
- After %numbers% (is|are) divisible by %number%, %number% (isn't|is not|aren't|are not) divisible by %number%
- Fixed Prime condtion to support multiples:
- Before %number% is [a] prime [number], %number% %number% is not [a] prime [number]
- After %numbers% (is|are) [a] prime [number], %numbers% (isn't|is not|aren't|are not) [a] prime [number]
- Fixed a syntax mistake where not in %itemtype% (isn't|is not) not [a] block should be %itemtype% (isn't|is not) [a] block My guess is that this has always existed in SkQuery.
- Fixed inventory name in 1.13+ with some changes to how you are going to be able to get it.
- So in 1.13+ Spigot removed the ability to get the title of inventories, unless their a container or an InventoryView.
- Meaning SkQuery can only implement those ways, so the new ways to get the inventory name are inventory name within the inventory click event
on inventory click:
clicked inventory is not player's inventory
inventory name is "example"
cancel event
- The other way it's implemented is if the inventory has a holder aka a container being a block.
on block break:
if inventory name of inventory of event-block is "example":
cancel event
- Keep in mind doing name of %inventories% will go to Skript in which the newest Skript versions just outright removed the ability to grab the name.
- So be adviced it's not SkQuery not working if you don't add inventory name before.
- Using the inventory name expression in versions lower than <1.13 will act normal.
- This should still work assuming it's the event-inventory in an inventory click event aswell
on inventory click:
event-inventory is not player's inventory
broadcast inventory name
broadcast inventory name of event-inventory
- It's a bad way to check inventories against their name, so as an alternative you can add a player to a variable list.
on script unload:
delete {inventories::temp::*}

		command /example:
				set {_inventory} to chest with 2 rows named "example"
				set slots 4 and 13 of {_inventory} to light green stained glass pane named "&bSkQuery" with lore "&2&lLine 1" and "&6Line 2"
				add player to {inventories::temp::example-opened::*}
				open {_inventory} to player

		on inventory click:
			event-inventory is not player's inventory
			{inventories::temp::example-opened::*} contains player
			cancel event
			if index of clicked slot is 4 or 13:
				broadcast "&bYou clicked the SkQuery example."

		on inventory close:
			remove player from {inventories::temp::example-opened::*}

		on disconnect:
			remove player from {inventories::temp::example-opened::*}

Fixed bug in looping blocks of a cube

02 May 17:57
Choose a tag to compare

Fixed bug in looping blocks of a cube