Skip to content
This repository has been archived by the owner on Jan 13, 2023. It is now read-only.

LifeSkript v2.2.17 - Bugfix Release

Compare
Choose a tag to compare
@TheDGOfficial TheDGOfficial released this 18 Sep 00:56
· 404 commits to master since this release

Bugfix Release

This version (2.2.17) is a bug-fix and improvement release over 2.2.16. The 2.2.16 update is big and contains so much things, we tested, pushed pre-releases, etc. but we can't fix all bugs without testing on production.

We've now fixed all bugs found in the 2.2.16 release, including performance and memory bugs, and improved over-all code quality and performance. We recommend upgrading to all users running 2.2.16.

Also make sure you have -ea argument before -jar option in your launch script if you want to test and find errors, bugs, issues etc.

Custom Tab Completers

Though this planned as a bugfix release, we also added and improved many things. Here is the custom tab completers for your own very special script commands.

Example showcase of the feature:

function onTabComplete(sender: command sender, command: string, alias: string, args: strings) :: strings:
	if {_command} is "testTabComplete":
		if size of {_args::*} is 1:
			return "true" and "false" # Skript automatically sorts the completions for the argument, for example if you do /testTabComplete fa and then press tab, then the list will become "false" and "true"
		else if size of {_args::*} is 2:
			return "1", "2" and "3"
		else if size of {_args::*} is 3:
			return empty list of the type strings # Returning an empty list means no tab completion
	return none value of the type strings # Will fallback to default tab completion (player names?)
command /testTabComplete <boolean> <number> <player>:
	tab completer: onTabComplete
	trigger:
		send "&eYou entered&f: &9%arg-1% %arg-2% %arg-3%"

In this example, you can do /testTabComplete fa and then press tab, which results in /testTabComplete false.

For the second parameter, you can do /testTabComplete false and then press tab, which results in 1.

And then you can also do /testTabComplete false 1 and press tab, but this time since we returned an empty list, no completion will be available.

Full Compare View

You can view full differences at 2.2.16...2.2.17

Full Commit Notes

  • Changes from commit 470dc41, 63df494, 4a625e8 and bcc8950:

    • Updated Kotlin version from 1.3.40 to 1.3.50
  • Changes from commit 2a52bb0:

    • Added run configurations to Git
  • Changes from commit 928c40d:

    • Fixed move events not triggering on high player counts
  • Changes from commit b7bee1a:

    • Fixed inventory bug with contains condition
  • Changes from commit 3f10a68:

    • Allow ops to bypass permission checks (configurable)
  • Changes from commit 56ccf73:

    • Added/allowed minecraft style alias names - e.g: mossy_cobblestone instead of mossy cobblestone
  • Changes from commit 9b304c1:

    • [Critical] Fixed thread priority performance issue
  • Changes from commit 6dca9b3:

    • Fixed errors not being written (in some cases), also fixed a potential error
  • Changes from commit 53f751a:

    • Improved minecraft style alias compatibility - e.g: minecraft:mossy_cobblestone
  • Changes from commit 78d393a:

    • Maked netty optimizer async, speeded up player logins
    • Fixed spike detector not working in some cases
  • Changes from commit d98299d:

    • Also allowed command permission bypass for ops
  • Changes from commit 9680b39:

    • Fixed projectile comparision not working at all
  • Changes from commit dd6ccea:

    • Fixed teleport effect sometimes teleport underground and make player bugged
    • Fixed teleport effect causes fall damage if player is falling when teleporting
  • Changes from commit ecf329f:

    • Fixed color based load times not working
  • Changes from commit 0736dd0:

    • Small improvement, used shortcut method from standard library
  • Changes from commit ea3584e:

    • Fixed updater system always reporting custom version even when using an official one
    • Fixed some system properties not working due to a simple mistake
  • Changes from commit 178d771:

    • Various small changes for the release, making everything better
  • Changes from commit b56b4c8:

    • Make some things configurable by specifying system properties
    • Fixed spike detector not always working in some specific cases
  • Changes from commit ec269fd:

    • Reduce method call chaining on equipment slot, fix code duplication
  • Changes from commit 1c91e17:

    • [Critical] Fixed another memory leak with functions existing in all forks
    • Added a raw type of expression to get raw type of something
    • Exposed parameter's single information via a getSingle method
  • Changes from commit dd76e92:

    • Maked functions execute even with null values by default
    • Deprecated the agents system, will be removed in future due to maintainability issues
  • Changes from commit cfc9a2c:

    • Fixed none expression not working correctly and also giving errors when used as function arguments.
  • Changes from commit 34c8dd6:

    • Fixed comparisions always returning false when using as not, e.g if true is not false returns true now
  • Changes from commit ca4e0da:

    • Reduced casting and memory usage of the inventory changer
  • Changes from commit 5a1a66a:

    • More fixes into spike detector, allowing for truer and stricter detections
  • Changes from commit 4582b08:

    • [Critical] Actually fixed the memory leak, the other one is just clears return value before executing the function, but this one clears after executing the function.
  • Changes from commit 1a2a849:

    • Synchronize on a constant serializable object array instead of the raw object
  • Changes from commit d235160:

    • Added a warning for unqouted whitespace strings in function parameters
  • Changes from commit 10bc4b5:

    • Show exception stack traces also on speed builds for debugging purposes
  • Changes from commit 5761155:

    • Fixed sonar lint issues and speeded up the server shutdown performance
  • Changes from commit 955993e:

    • Tried to fix build failing, fixed move event not triggering/triggering rarely
  • Changes from commit ee90192:

    • Added an utility method for sneaky throwing the exceptions
  • Changes from commit 00944ea:

    • Fixed build failing, added cache for spigot config fields for performance
    • Added and used sneaky throws in various places to not lose original error
  • Changes from commit 9baa2f4:

    • Fixed development builds showing as latest version in the /skript version command
  • Changes from commit d1eb3cb:

    • Fixed and improved various things in the main Skript command
  • Changes from commit eeb03eb:

    • [Medium Priority] Optimized aliases memory usage to lower memory footprint
  • Changes from commit f9a0108:

    • [High Priority] Fixed console freezes due to thread priority system
  • Changes from commit e8f36bb:

    • Fixed almost all issues with Skript field cleaner for safer and cleaner shutdowns
  • Changes from commit 528298a:

    • Added is ground condition for anti cheats etc., optimized some other things
  • Changes from commit cde2c04:

    • Removed /skript update command from help for now, will be added later
      (you can use /skript version for now to show version and check updates)
  • Changes from commit 7da1f8c:

    • Removed the correct usage prefix in the usage message, it's useless
  • Changes from commit b145685:

    • Added an example to proguard config for compiling with newer Java versions
  • Changes from commit a1286ea:

    • Improved the variable save performance in the shutdown for fast shutdown
  • Changes from commit bbf92a1:

    • Also added encoding option to kotlin compiler for guaranteening Unicode
  • Changes from commit bf76b96:

    • Added an empty expression, works like none expression, returns an empty array/list
  • Changes from commit 74b18e5:

    • Removed the correct usage field also from the commands class, it's unrequired
  • Changes from commit 34de477:

    • Maked command map store commands with lowercase keys, avoids some bugs
  • Changes from commit 11761b7:

    • Backup files before modifying them in case of failure, or user just wants to rollback
  • Changes from commit f6f0394:

    • Use operating sytems temp folder for temporary folders, fix server jar patcher
  • Changes from commit d3bb8ac:

    • Removed update also from tab completions, added version instead
  • Changes from commit f8a9966:

    • Fixed almost all wrong tab completions in the main Skript command
  • Changes from commit ba8ca4c:

    • Updated intellij configuration to match new compiler changes
  • Changes from commit e918bfe:

    • Edited intellij configuration for new refactorings and inspections
  • Changes from commit a2429dc:

    • [High Priority] Fixed duplicate aliases when tab completing
    • Improve function parameter quote check and fix warning
  • Changes from commit 3061503:

    • Bunch of intellij refactorings, code style improvements etc., part one
  • Changes from commit c287771:

    • Bunch of intellij refactorings, code style improvements etc., part two
  • Changes from commit 6ee390e:

    • Various other small changes, more refactorings and small adjustments
  • Changes from commit cfdb44f:

    • Also tab complete disabled scripts in the /skript enable <script> command
  • Changes from commit 82c9f85:

    • Fixed spike detector not working when always enabled is disabled
  • Changes from commit 77da2b9:

    • Fixed a small, simple compiler warning just by suppressing it, it's needed
  • Changes from commit 5536349:

    • Fixed spike detector spamming console when always enabled is true
    • Added an assert effect which you can use for assertions, like Java's assert
  • Changes from commit 73f14b6:

    • Fixed empty expression not working correctly on functions via a workaround
  • Changes from commit e37ef33:

    • More refactorings and inspections for the new release
  • Changes from commit bfa9d28:

    • Added zombie horse alias
  • Changes from commit 6868610:

    • Fixed the loaded x scripts so far message - it will now show message correctly if loading scripts takes too long
  • Changes from commit e9a4238:

    • Improved hash expression, added sha-256 hash algorithm
  • Changes from commit 208b8cc:

    • Fixed plugin repositories and lifecycle plugin
  • Changes from commit 5f17b89:

    • Fixed various bugs in the contains condition
  • Changes from commit 926efb3:

    • Added GitHub actions workflow to repository, GitHub's new feature
  • Changes from commit 3bc3e2c:

    • Upgraded junit version to 4.13-SNAPSHOT
  • Changes from commit c7623ff:

    • Use Spigot's plexus eclipse compiler as it fixes various bugs
  • Changes from commit 63e8cc3:

    • Optimized enum parser/serializer and matcher objects created in loops
  • Changes from commit dcf7ed0:

    • Use Apache's FastDateFormat for backup date formatting
  • Changes from commit f43d9df:

    • Added pattern cache for caching frequently used patterns in hotspots
  • Changes from commit db8b17c:

    • Fixed and improved the agent effect
  • Changes from commit 4821df5:

    • [Medium Priority] Fixed load after script count bug
  • Changes from commit 83fdf12:

    • Fixed NoSuchFieldException when ran in Java 12 or above
  • Changes from commit 8b5afc3:

    • Fixed SharpSK updater error on rare cases
  • Changes from commit c745dbd:

    • Upgraded maven enforcer to 3.0.0-SNAPSHOT
  • Changes from commit 76a4af3:

    • Upgraded maven install plugin to 3.0.0-SNAPSHOT
  • Changes from commit 98e6892:

    • Added GitHub's new package deploying feature
  • Changes from commit 5f28cc1:

    • Skript now automatically adjusts your netty thread count regarding to your cpu cores for preventing overhead
  • Changes from commit f9a64c8:

    • Upgraded maven surefire plugin to 3.0.0-SNAPSHOT
  • Changes from commit abb172e:

    • Upgraded maven deploy plugin to 3.0.0-SNAPSHOT
  • Changes from commit 6821060:

    • Upgraded spotbugs version to 4.0.0-SNAPSHOT
  • Changes from commit a5fc396:

    • Added custom tab completions - now you can add tab completions to your script commands!
    • Yay, finally fixed the infinite tab complete problem for script commands - you can now only tab complete player/offlineplayer arguments, and can only tab complete when the argument is in bounds

It is highly recommended to update to the latest Skript version.

                          What to download?
  • Skript.jar = Download this if you just want the plugin
  • Skript-optimized.EXPERIMENTAL.jar = Download this if you want powerful performance

The optimized version is still in a experimental state and might cause issues and/or data loss, please use it only if you have performance problems or you know what you're doing.

Note: The optimized version is actually same as the normal one, both of them has version 2.2.17 and compiled from this repo with same source codes, but the optimized one is optimized by ProGuard automatically.