Skip to content

Releases: Anarchick/skript-packet

small fix

30 Apr 17:41
Choose a tag to compare

1.19.4 & 1.20.4 Update

22 Mar 11:25
Choose a tag to compare

Tested on :
Paper 1.19.4 / 1.20.4
Skript 2.7.0 / 2.8.3 ( Not working bellow 2.7.0 )
ProtocolLib 5.2.0-SNAPSHOT-679
Java 17

Note : For using ProtocolLib in 1.20.4, you can’t use the 5.1.0 ! You have to use the latest 5.2.0 snapshot.

As you can see, the developer of ProtocolLib has not shown any signs of activity for several months. (Please do not ask him to update ProtocolLib, respect his personal life.) This means that Skript-Packet may have its last update if a new version of Minecraft is not compatible with ProtocolLib.

Even if you don’t see it, it took me 10 days, working 4-7 hours each day, to make this update. You can support my work here ko-fi.
You might also like to see my other plugins, such as SoundSearch.

What is new :

  • Update biome Id for 1.20.4
  • Added an expression to get Bukkit Material
  • Added an expression to get Item from Material
  • Added conditions : is Bukkit material / is Java List / is Java Set / is NMS / is from client / is from server
  • More converters !

Change :

  • DataWatcher has been fully rewrite and works only for mc 1.19+ take a look on the wiki
  • You can wrap field, fields and fields classes with the same expression
  • Remove unsupported packettypes from all packettypes

Fix :

  • Fix Management of packet listener not working as expected
  • Some toString() throwing errors

Known bug :

  • If you listen an async packet, you may not be able to listen sync or default until restarting the server (maybe a Skript issue ?)

Full Changelog : 2.1.2...2.2.0

Bug fixes

04 Jun 11:11
Choose a tag to compare

Tested on :
Paper 1.17.1 / 1.18.2 / 1.19.4
Skript 2.6.2 / 2.6.4 / 2.7.0-beta2
ProtocolLib 4.7.0 / 4.8.0 / 5.0.0
Java 17

If you have any issue you can contact me on the Skript-Chat discord #skript-packet or open a github issue

Fix :

  • Fix crash using Skript 2.7+ due to SkriptLang/Skript#4108 (#24)
  • Fix UTF-8 encoding (#21)
  • Fix update checker (will be visible on futur update)


  • Adding support for new 1.20 cherry blossom biome
  • Adding new functionalities of ProtocolLib 5.0.0

Full Changelog: 2.1.1...2.1.2

Fix reload issue

26 Jan 10:08
Choose a tag to compare

please use #21 instead of this build if you have pattern compiling issue

Fix :

  • Reload a script cause the duplication of event call #16

Known bug :

  • Pattern compiling exception when using expression with parse mark. Use #21 as hotfix !

Code clean and bug fix

04 Jun 10:16
Choose a tag to compare

Hi I have not full tested this version, if you see any issue, tell me on Skript-Chat discord or write an issue on this github.
Tested on Paper1.17.1 and Paper1.18.2 , Skript 2.6 and 2.6.2

Even if this version seems small, it's not. Skript-Packet is one of my first Java plugin and I have learn more things since the last update (~8 month). This update aims to clean the code with my actual knowledge.

⚠This version NEED Java 17

What is new :

  • Auto-Convert to numbers from entities
  • Improve number array utility
  • Support Auto-convert for IntList and Vector
  • Updated to 1.18 biomes

Fix :

  • Fix crash using Skript 2.6.2
  • Fix a bug when a script is reloaded

Fix incompatibility

17 Sep 12:53
Choose a tag to compare

Fix a bug with Skript 2.5.3 and below.

Better and smaller

10 Sep 08:14
Choose a tag to compare

Skript-Packet aims to be easiest as possible (even if packets are hard understand ...). So I have removed a lot of previous features. Don't worry, all of this features has been merge in ExprNMS or Auto-Converter. In conclusion you have less syntaxes and they are easy to use !
If you want to use this deprecated syntaxes you HAVE TO fork this project and enable them. I will not give support on them.

Please read the wiki

⚠BUG : Does not works with Skript2.5.3 and bellow

What is new :

  • Support for Skript 2.6
  • DataWatcher for metadata !
  • default/sync/async mode for packet Listening !!! Becarful with async mode, you can't use non-thread-safe operation (e.g World Editing)
  • Do section (It's experimental and can be deleted in future ... no doc for this, look the code if you are intersted)

Change :

  • EVERYTHING !!! (A lot of Expressions has been removed)
  • ExprNMS has been rework
  • Auto-Converter has been rework (and is boosted with steroïds) WIKI
  • SkriptPacketEventListener has a Manager ! Only support reload for now
  • Update checker on plugin load
  • ExprEnum show more informations on script load

Fix :

  • Enum not working with protocolLib for 1.17
  • Fields classes does not show null object

⚠This update add a lot of break change. Please read the doc and wiki before asking help for "It does not works with 2.0"

Note: Thanks you for using my addon bstats ❤️

NMS to Bukkit update !

07 Jul 20:17
Choose a tag to compare

Works with 1.17 if you use the right version of ProtocolLib.


  • Fix NPE with "Packet Fields"
  • Fix NPE with "Packet Fields Classes"


  • [packet] field %number% of %packet% -> [object] [packet] field %number% [of %-packet%]
  • [all] fields of [packet] %packet% -> [all] [packet] fields [of %-packet%]
  • [all] fields class[es] of [packet] %packet% -> [all] [packet] fields class[es] [of %-packet%]


  • Get from a string
  • Get the NMS (net.minecraft.server) TextComponent from a string
  • Add expressions to get Chunk / Location / World / Entity / Player / ItemStack / Material from an NMS Object
  • Convert an NMS (net.minecraft.server) ChatComponentText to a Json string
  • Get NMS NBTTagCompound from a Json String
  • Get an Enum from a class
  • Get a java.util.UUID from a String UUID or create new one
  • Get a readable text from a Json string (json Chat Format)

Big update - Everythings is improve

23 Apr 10:42
Choose a tag to compare

Use ProtocolLib 4.6.0+


  • Better performance for huge packet like PacketPlayOutMapChunk


  • Convert a number to int/float/long/double/short/byte [array] is now split in 2 expressions
  • Packet can be send/received without calling skript event ! (nice to avoid infinite loop)
  • Packet event support priority lowest/low/normal/high/highest/monitor
  • More NMS getter
  • Minor syntax change to match with ThatPacketAddon and help you to migration 👍


  • Receive Packet
  • Packet update entity (easy way to reveal an hidden entity)
  • Get an entity from his ID
  • Get the NMS biome ID (not guaranted to be up to date)
  • Get the deep clone of a packet
  • Get the shallow clone of a packet
  • Get, Set, Delete or Reset a packet Meta, you can store anything in extra datas of ProtocolLib's packetcontainer !
  • Get the packettype of a packet
  • Adding metrics

Tested with Paper-1.16.5, Skript-2.5.3, ProtocolLib-4.6.0, Java11, skript-reflect-2.1.0

First release

07 Feb 21:03
Choose a tag to compare

Don't forgot to use a ProtocolLib dev build and not 4.5.1.


  • Packet event
  • Get all available packettypes
  • Create a new packettype
  • Get and set a packet field (Auto conversion of number to int/float/long/double/short/byte)
  • Get all fields of a packet
  • Send a packet to players
  • Get all fields's classes of a packet
  • Create an ArrayList from objects
  • Get the id of an entity
  • Get the NMS of an entity/itemstack/world
  • Create a NMS BlockPosition from a location or a vector
  • Get the NMS Pair of an object with an other
  • Convert a number to int/float/long/double/short/byte, can also convert to an Array

Known issue

  • The packet event manager is not clear when you unregister a packet event
  • If you use "on packet event play_client_use_entity:", player can't fully damage entities anymore

Tested with Paper-1.16.4, Skript-2.5.3, ProtocolLib-build-480, Java11, skript-reflect-2.1.0