Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

The "Asynchronous" Update

Changelog

Hello there! Long time no see since the last update ;) This one brings a lot of content here and there, so please read the whole message below to be sure to miss nothing.

Async Rework

Most DiSky effects, because of HTTP requests, require asynchronous execution to avoid lag spikes (especially when retrieving a value for instance). Although I made my own "waiter effect" to handle those timings, it was not built-in Skript and thus weird synchronization bugs appeared, especially when dealing with local variables.

All retrieve effects, and most asynchronous effects are now using a completely new method, where the code is completed in another thread (thus it'll make that other thread lag, but since Minecraft is mainly single-threaded, it does not matter at all).

:bookmark_tabs: To put it simply, most effects in DiSky are now faster and can be handled much easier by Skript, e.g. when using those effects in loops or functions

Embed section optimization (#155)

Previously, to create an embed, you had to go through make new embed and use the expression last embed, which sometimes caused conflicts when creating several embeds simultaneously. Moreover, the sole last embed expression slowed down the Skript's parser as it was overcomplicated with too many patterns.

:bookmark_tabs: While the previous embed section is still available, it has been reworked so you can provide a variable at the end of the section that'll handle your embed at the end (basically like the message builder & components row builder).

For instance:

make new embed and store it in {_embed}:
    set title of embed to "Hello there" 
    set embed color of embed to red
reply with {_embed} # 'embed' is not accessible outside the section anymore, releasing a lot of work for Skript's parsing

:bar_chart: Polls!

While they are waiting to be approved on Discord's docs, poll syntaxes are already in DiSky!

:bookmark_tabs: __You can already use the syntax, but no polls will be sent over Discord yet. Take a look at the wiki page about polls for more information: https://disky.me/docs/basic-stuff/polls/__

Syntax Changes

As I reworked some parts of DiSky, I ended up optimizing/adding existing syntax, so here they are:

  • You can now use both strings and tags when adding/removing them from forum channels
  • Added retrieve start/original message from %threadchannel% effect
  • Added type checking for the updating commands effect (e.g. giving guild when updating globally, and vice-versa)
  • Added event-long in reaction add event to get the message author's ID
  • Fixed mention tag with emotes, for custom and animated emojis

:warning: JAR & Version Support

  • Only Skript 2.8+ is supported, going forward.
  • shadowJar minimizer is now used on DiSky's final JAR, reducing its size from ~20MB to ~15MB
  • The minimal required version of Java will soon (v4.15 or v4.16, no ETA yet) become Java 11

Whoa, I've never had an update this big, apart from the reworks! I hope you have fun, and I'll be on the lookout if you have any new ideas or optimizations to suggest

Files

DiSky 4.14.0.jar(14.11 MiB) Primary Download

External resources



Project members

Sky

Owner


Technical information

License
ARR
Project ID