Skellett - The beast addon!

Addon Skellett - The beast addon! 2.0.10

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

- Added block saves more below.
Code:
block save[s] of %blocks

%blocks%'[s] block save
- Added automatic github actions, so you can now grab nightly builds at https://github.com/TheLimeGlass/Skellett/actions
- Fixed collidable condition not being proper grammar.
- Removed item frame syntaxes, they're going to be going into Khoryl.
- Removed spawner synatxes, they're going to be going into Khoryl.
- Removed Jukebox syntaxes, they're going to be going into Khoryl.
- Removed LLama syntaxes, they're going to be going into Khoryl.
- Removed Repeater syntaxes, they're going to be going into Khoryl.
- Removed slime size syntaxes, they're going to be going into Khoryl.

For those of you that wish to use the Java 11 version of 2.0.1, you can grab it from here by clicking on any latest build and downloading the nightly jar https://github.com/TheLimeGlass/Skellett/actions

Finally a better way of handling blocks and their types/data! Skellett has a utility expression called block saves, what this does is the return type will be a custom object, that's also serializable yay! That can be saved to a variable. So you can save a block save to a variable and set the block to the exact block save later, example script used to save and load areas:

code_language.skript:
command /pos1:
   trigger:
       if target block is set:
           set {pos::%player%::1} to location of target block
       else:
           set {pos::%player%::1} to location of player
       message "pos1 set to %{pos::%player%::1}%"

command /pos2:
   trigger:
       if target block is set:
           set {pos::%player%::2} to location of target block
       else:
           set {pos::%player%::2} to location of player
       message "pos2 set to %{pos::%player%::2}%"

command /save <string>:
   trigger:
       {pos::%player%::2} is set
       {pos::%player%::1} is set
       set {saves::%player%::%argument%::*} to block saves of blocks within {pos::%player%::2} to {pos::%player%::1}
       clear {pos::%player%::1} and {pos::%player%::2}
       message "Saved blocks to save %argument%"

command /load <string>:
   trigger:
       {saves::%player%::%argument%::*} is set
       loop {saves::%player%::%argument%::*}:
           set block at loop-value to loop-value
       message "Loaded blocks from save %argument%"

command /delete [<string>]:
   trigger:
       if argument is set:
           delete {saves::%player%::%argument%::*}
           message "Deleted save %argument%"
           stop
       delete {saves::%player%::*}
       message "Deleted all saves"

command /listSaves:
   trigger:
       message indexes of {saves::%player%::*}

on quit:
   delete {pos::%player%::*}

on script unload:
   delete {pos::*}
Here we are, 2 years later when Skellett rain vain.
This update isn't an addition update unfortunately. This update removes everything that is already added in Skript. Since the SkriptLang team has expanded and became more active, it really deprecates the usage of Skellett. Skellett became so popular because it had so many syntaxes that Skript didn't have yet. So today's update is the start of that change, lets get Skellett back to being useful, I plan on updating Skellett with more modern syntaxes that Skript has yet to add, or features that don't suit Skript.
15% of Skellett has been recoded in this update, and more to come. Thanks for choosing Skellett after all these years, and lets go for another couple more years.

Requirements: Skript 2.6+

Changelog:


Updated:
Code:
- Updated to Java 16
- Updated to Skript 2.6
- Updated to Spigot 1.17
- Updated to Gradle 7.1.1
- Updated Citizens to 2.0.27
- 35% smaller jar size
- Changed the collidable state to a condition %livingentities% is|are collidable
- Updated the open book effect to use Spigot method and not reflection now.

Removed:
Code:
because they're in Skript 2.6+ now (I added majority of these to Skript myself):
- Removed event cancel event.
- Removed condition to check if redstone is powered.
- Removed condition to check if item is unbreakable.
- Removed condition to check if player is whitelisted.
- Removed the effect to teleport a player to a world spawn (You can get the spawn of a world now)
- Removed active potion effects expression (This is just a string and not properly implemented and Skript will soon)
- Removed expression for getting drops of a block.
- Removed powered block value (Redstone).
- Removed block hardness expression.
- Removed block xp expression.
- Removed clicked action expression it's now inventory action in Skript.
- Removed clicked inventory expression.
- Removed clicked slot expression use index of clicked slot.
- Removed clicked type expression.
- Removed clicked hotbar type expression.
- Removed client side weather syntaxes.
- Removed custom syntaxes shit.
- Removed custom name of entities expression.
- Removed enchantment level expression.
- Removed custom name visible expression.
- Removed player exhaustion expression.
- Removed fall distance expression.
- Removed fishing syntaxes (Use RandomSk until it's added in Skript, Skellett had poor implementation)
- Removed hotbar switch expressions.
- Removed inventory type expression.
- Removed invulnerable state expression.
- Removed projectile bounce expression and condition.
- Removed silent state of entities expression.
- Removed spectate target expression.
- Removed whitelist syntaxes.
- Removed world change event value expression. Use former|future event-location in Skript.
- Removed stuck arrows expression.
- Removed title expression.
- Removed fireworks.
- Removed item despawn event.
- Removed entity teleport event (but kept the event values as Skript doesn't for some reason)
- Removed resurrect event.
- Removed particles (Bad implementation)
- Removed sound syntaxes.

Removed because un-used or un-needed:
- REMOVED ALL DISGUISE SYNTAXES (Unreleased addon for Disguises coming soon)
- Removed the effects relating to files (Use Skent or SkQuery)
- Removed condition to check if a player is viewing the credits. (It used reflection and isn't really a good addition)
- Removed file existence condition (It's in Skent or SkQuery or SkUtils)
- Removed the effect that opens a chest to players (It's in Khoryl now)
- Removed the reload whitelist effect (This isn't required anymore)
- Removed the effect that saved the player list (This isn't required anymore)
- Removed the serialize effect (Skript serializing should not be accessible for Skript users)
- Removed the expression getting size of variables (Inefficient, not needed and shouldn't be accessible for Skript users)
- Removed hitbox syntaxes (This used reflection and was bad, It's now called BoundingBox in Spigot and will be added sometime to Skellett maybe)
- Removed java version expression. (Skript users don't need this)
- Removed long date expression (Skript users don't need this)
- Removed item type to material string expression (Skript users don't need this)
- Removed NBT syntaxes (These are just item flags and should be implemented properly)
- Removed world folder expression (Skript users don't need this and it's not needed for other parts of Skellett)
- Removed Yaml (There are lots of other alternatives now). I'm over the yaml hype train. Don't use YAML as a database, it's for configurations, but Skript has variables and options at the top of a script so.

Bug fixes:
Code:
- Fixed adding text components to books (Used to use reflection and it broke in newer Spigot)
- Updated the %players% is in water condition to 1.17 methods.
  • Like
Reactions: L0v0lup
Fixed some addon's conflict with scoreboard teams.
  • Removed Client Border syntaxes.
  • Fixed #98 in which there was a casting issue with Item frame Hanging events.
  • Fixed #92 in which Skellett conflicted with another unknown addon?
  • Removed lots of things that are in vanilla Skript.
  • Removed Holograms (You can use dedicated hologram addon)
  • Removed PlayerPoints syntaxes
  • Re-added the new written book syntax for json books due to high demand. Skript's aliases broken.
  • Fixed a few null pointers.
  • Fixed some syntax not working, main one being the item cooldown.
  • Fixed lots of bugs.
  • Updated to 1.16
Changes at https://github.com/TheLimeGlass/Skellett/commit/21433c828916ab067613000b42bd73ba69b6ed3e
Fixed:
  • Fixed a NullPointerException in player teleport to world spawn syntax when attempting to get a world that doesn't exist.
  • Fixed SpawnerSpawnEvent registering on 1.8 servers when it doesn't exist on 1.8 servers.
  • Fixed a NullPointerException when adding null text components to books.
  • Fixed set collidable being registered on 1.8 when it doesn't exist on 1.8.
Removed:
  • Removed g6round state, it's in Vanilla Skript now as a condition. `if %player% is on the ground`
  • Removed gravity state, it's in Vanilla Skript now.
  • Remove glide state, it's in Vanilla Skript now.
  • Removed indices of variables, it's in Vanilla Skript now.
  • Removed inventory viewers, it's in Vanilla Skript now.
  • Removed offline players, it's in Skript now :emoji_wink: lol.
  • Removed sounds, I manually added it to Vanilla Skript now.
  • Removed entities in radius, it's in Vanilla Skript now.
  • Removed ping of player, it's in Vanilla Skript now.
  • Removed unbreakable, it's in Vanilla Skript now.
  • Removed teleport cause, it's in Vanilla Skript now.
  • Removed spawn reason, it's in Vanilla Skript now.
  • Removed the syntax that overrid Skript's slot system to allow for multiple slots. I manually added it to Vanilla Skript now.
  • Removed scoreboard tags, it's in Vanilla Skript now.
  • Removed break block naturally, it's in Vanilla Skript now.
  • Removed hiding players from other players, it's in Vanilla Skript now.
  • Removed particles, Skript has fixed it a bit, it's still trash because of the Spigot API.
Removed:
  • Removed RPGPlayerLeveling syntax (Was a bad plugin API from the start)
  • Removed SkellettProxy (Use Skungee now)
  • Removed regenerators
  • Removed the DataTypeWatcher packet (Can't be asked to do research and update it's reflection)
  • Removed ProtocolSupport (Their API has drastically changed)
  • Removed One In The Battle Support
  • Removed MySQL syntax, use SkQuery or that other MySQL addon
  • Removed Feudal support (Plugin was abandoned)
  • Removed Eggwars support
  • Removed Book support (It's in vanilla Skript now)
  • Removed SquidHQ (They moved on to managing a minecraft server list site)
  • Removed fireworks (I added them in vanilla Skript)
  • Removed Async World load effect (FAWE has been abandoned at the moment)
  • Removed Packets
  • Removed Dyed Armour (It's in vanilla Skript now)
  • Removed Crop State (The Spigot API for crops has changed completely)
Changed:
  • In the latest CorpseReborn, you can't set/get the player instance of the corpse, so now new syntax name of corpse %corpse% will just return the name of the corpse.
Fixed:
  • Fixed opening books to players for 1.14.4 servers, Also made the syntax multiple players open book %itemstack% to %players%

    Donations help influence the plugin if you want to help there is a donation button on the main thread, donations are not required, but appreciated.
Added a syntax to get all the function names of current functions.

Syntax:
code_language.skript:
[(the|all)] [of] [the] [loaded] functions

Example:
code_language.skript:
function broadcastExample(message: string):
    broadcast {_message}
on script load:
    set {_functions::*} to all functions where [string input contains "broadcastExample"]
    evaluate "%{_functions::1}%(""Hello world!"")"

I'm making a neat Skript API for my next public script i'm going to release and I needed to be able to load external Functions :emoji_wink:

Enjoy
In this update I added the ability to configure the MySQL properties. You can read up about these at https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html

The MySQL.yml will have to be deleted then restart your server for these newer properties. The default properties allow for reconnection which helps you in the long term without reloading often.

The newer MySQL.yml is docmented so you can read up on that stuff.
Fixed:
- Strange bossbar bugs
- Bossbar crashing
- Bossbar last created version dependant
- Debug option crash
- Fixed wrong version crash issue
- Fixed debug colours not working
- Changed some register features
- Fixed some register bugs
- Cleaned some code up.
- Citizen type not registering on some events (event-citizen)

Added:
- NametagEdit support
- Paste schematic (more WorldEdit coming soon)

Changed:
- Removed the old Nametag system (It was only for user in the same scoreboard)
#Info: You can still make a nametag system using Full scoreboards, which simulate the exact same thing.
http://skunity.com/search?search=Full+scoreboards#

Worldedit:
code_language.skript:
   #effects:
       (place|paste) schematic %string% at %locations% [[(with|at)] angle %-number%] [with limit %-number%] [[and] (without|exclud(e|ing)) air %-boolean%]


Examples:
code_language.skript:
paste schematic "test" at player with angle 90 and without air true

Syntax:
code_language.skript:
#Expressions:
  
   #Can only be reset or cleared (Reset reloads the nametag)
   [nametag edit] [name[ ]]tag of %player/string%
   %player/string%'s [nametag edit] [name[ ]]tag
  
   #Set/Get the prefix of a nametag
   [nametag edit] [name[ ]]tag prefix of %player/string%
   %player/string%'s [nametag edit] [name[ ]]tag prefix
  
   #Set/Get the suffix of a nametag
   [nametag edit] [name[ ]]tag suffix of %player/string%
   %player/string%'s [nametag edit] [name[ ]]tag suffix