• 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!

WARNING:
In a future release of SkBee, NBT related syntax that uses strings will be removed, and SkBee will focus on the use of NBT compounds.
This is mainly due to the mess of code I have had to write for string related NBT, and I want to work on cleaning this all up.

Example of what will be removed:
Code:
set nbt-block at player to furnace with nbt "{someNBT:1}"
give player a diamond sword with nbt "{myCustomNBT:1}"
Don't worry though, cause these simply can be replaced with the nbt compound from string expression:
Code:
set {_n} to nbt compound from "{someNBT:1}"
set nbt-block at player to furnace with nbt {_n}

set {_nbt} to nbt compound from "{myCustomNBT:1}"
give player a diamond sword with nbt {_nbt}
I'm not totally sure WHICH version of SkBee this change will happen, I just wanted to give everyone plenty of time to switch over to using NBT compounds.

Release News:
FIXED
:
- fixed an error when trying to get block states from an empty structure object
- fixed an error with getting the player in an anvil prepare event
  • Like
Reactions: Jake
This is a fairly large update which includes a new BossBar system as well as a completely new Scoreboard system.

CHANGED:
- SkBee now only supports Minecraft 1.17.1+ and requires Java 17+
- New scoreboard system using packet based scoreboards. The old scoreboard system used team based scoreboards, which ended up screwing up vanilla team stuff. This new system sends scoreboard packets directly to the player, leaving all vanilla team stuff alone.
The syntaxes for this scoreboard system are the same, so if you are currently using SkBee boards, you won't have to change any of your code.
- Updated Team system. Since SkBee is no longer using team based scoreboards, this system has been re-written to use vanilla MC teams. And hopefully this fixes any issues that we had before, whether they be timing/loading issues, or issues with other plugins. Syntax is the same so no need to change your code.
- Updated NBT-API to support MC 1.19 NBT

ADDED:
- Added expressions to get the level/enchantment of an `enchantment type`
- Added the ability to send text components in action bars
- Added the ability to get/set font for text components
- Added the ability to send normal strings in `send component` effect
- Added a condition to check if a location is within 2 other locations
- Added ability to broadcast with components `broadcast component %component%`
- Added BossBar elements

FIXED:
- Fixed an issue with knockback victim/attacker expression where victim and attacker were backwards

REMOVED:
- Removed old structure elements
- Removed old particle effect patterns
FIXED:
- Fixed a bug when loading text components on Spigot due to a previous change that supported something on paper
- Fixed a bug with the "using" part of translate components
- Fixed an error for a null line when setting scoreboard lines
FIXED:
- Fixed an issue when trying to add to tab completions
- Fixed incorrect doc in Bound ID
- Fixed some bugs in the block data item expression
- Fixed some bugs with some types in the board expressions
- Fixed a bug with NBT throwing an error when not available
- Fixed an issue with translate components of a slot
- Fixed a bug with comparing a team color to color

ADDED:
- Added entity types to available materials expression
- Added an option to unregister a team
- Added an option to get a list of all registered teams
- Added fish event state type and expression
- Added fish event caught/hook expression
- Added a key bind component
ADDED:
- Added NBT support for MC 1.18.2
ADDED:
- Added a slew of team related syntaxes. One thing to note, these syntaxes will only work if SkBee's scoreboard system is enabled. These were mainly added to circumvent the issue that SkBee's boards break vanilla teams. If you aren't using SkBee's board system, I highly recommend not using these team syntaxes. Maybe in the future I will make these work whether or not using SkBee's boards, but as of right now, they won't serve a purpose.
- Added an expression to get the exact target block. The main difference between this and Skript's target block expression, is this one will account for the hitbox of a block. Example is a torch. Skript's expression will see a torch as a FULL block, so if you aren't actually looking directly at the torch, it would still count it as the target block. SkBee's expression will only count the torch if the hitbox of the torch is being looked at. Also SkBee's expression will ignore fluids as target blocks.
- Added an expression to get a list of available materials/item-types/block-types/block-data.
- Added an effect to parse a string/text as Skript code. This works similarly to how Skript's effect commands work in chat/console, but you can use it anywhere in your code. While this is often considered useless, Ive heard a few people request it, so I figured it could be a good idea to add it.
- Added an expression to get/set the owners/members of a bound. These values will be saved as UUIDs in the bound config.
- Added an expression to get the id of a bound.
- Added an expression to get a list of entities within a bound. This expression can be hard on a server, so I do not recommend running it often.
- Added an expression to get a list of all bounds
- Added more options for translation components. As of Paper 1.17.1, several more objects can translate including GameRules, PotionEffectTypes, Attributes, Difficulty, Enchantments, FireworkEffectTypes, Entities and Blocks.

FIXED:
- Fixed an issue with `hover event showing %itemtype%`, syntax had to change a bit, see docs for update
- Fixed an issue when text components are disabled in config, throwing an error to text components being used in scoreboards
FIXED:
- Fixed an issue with loading bounds when a world is null

ADDED:
- Added an all tags of NBT compound expression to get all available tags from a compound

CHANGED:
- Add a proper parser for Bounds.
FIXED:
- Fixed an issue with the spawn entity with NBT effect in future Skript versions
- Fixed an issue with full bounds not going below 0 in MC 1.18 worlds (also added an updater for previously created full bounds)

CHANGED:
- Changed minecraft tag expression to accept custom tags (can be used in data packs)
- Added support for multiple players in open sign effect
ADDED:
- Added game event syntaxes (Minecraft's internal system thus far only used to activate Sculk sensors)
- Added support for saving NBT Files

CHANGED:
- Changed syntax a bit more for particles, to heavily increase speed of use

REMOVED:
- Removed piston shifting for custom NBT blocks (this system didn't work properly)
FIXED:
- Fixed some errors when NBT is invalid
- Fixed some issues with no clip expression

CHANGED:
- Changed the prefix of the syntax for spawning particles. New prefix `(spawn|play|lerp|draw|make)`. (`(spawn|play)` are now deprecated and will throw a warning when using. These 2 for some reason are INSANELY slow at parsing (on average 2 seconds per line), and the new ones `(lerp|draw|make)` are MUCH faster (on average 0.05 seconds))
- Added support for Spigot in the open sign effect. This was added to Spigot in MC 1.18.

ADDED:
- Added the ability to add 2 NBT compounds together.
ex:
Code:
set {_n1} to nbt compound from "{test:1}"
set {_n2} to nbt compound from "{blah:2}"
add {_n2} to {_n1}
output = `{test:1,blah:2}`
This will merge the 2 compounds together. From my understanding, if you merge 2 compounds that have the same key, the latter will overwrite the former.
- Added a new expression for getting the NBT type of a tag
ex:
Code:
set {_t} to tag type of tag "blah" of {_n}
- Added support to delete a saved structure file.