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

General:
Fixed incompatibility with some plugins causing sharpsk to be non-functional.
More minor bugfixes


WorldEdit:

Fixed nullpointer in schematic pasting syntax
Added:
Code:
Effects:
[sharpsk] [worldedit] save clipboard of %player% (to|as) [schem[atic]] %string%
[sharpsk] [worldedit] save [selection] p[oint][ ]1 %location% p[oint][ ]2 %location% [with origin %-location%] to clip[board] of [player] %player%

mcMMO:
Added offlineplayer support for almost all syntaxes involving player requirements:
Code:
Expressions:
[sharpsk] [mcmmo] %skilltype% level of %offlineplayer%
[sharpsk] [mcmmo] remaining %skilltype% [e]xp[erience] of %offlineplayer%
[sharpsk] [mcmmo] %skilltype% [e]xp[erience] of %offlineplayer%
[mcmmo] power[ ]level of %offlineplayer%

Conditions:
[mcmmo] %offlineplayer%['s] %abilitytype% is enabled
[mcmmo] %offlineplayer%['s] %abilitytype% is not enabled
You can now parse strings as Skilltypes/Abilitytypes:

WorldGuard:
Added:
Code:
Expressions:
[sharpsk] [worldguard] [all] members of region %string% in [world] %world%
[sharpsk] [worldguard] [all] owners of region %string% in [world] %world%
[sharpsk] [worldguard] [all] flags of region %string% in [world] %world%
[sharpsk] value of flag %string% of [worldguard] region %string% in [world] %world% (Settable
)

Added Luckperms Support (WIP):
Code:
Effects:
[sharpsk] (luckperms|lp) set [transient] perm[ission] %string% to %boolean% for [player] %offlineplayer%

[sharpsk] (luckperms|lp) unset [transient] perm[ission] %string% for [player] %offlineplayer%

[sharpsk] (luckperms|lp) create group %string% [with permissions %-strings%]

[sharpsk] (luckperms|lp) (delete|remove) group %string%

Expressions:
[sharpsk] (luckperms|lp) [(all|the)] [transient] perm[ission]s of %player%

[sharpsk] (luckperms|lp) [(all|the)] groups

[sharpsk] (luckperms|lp) [(all|the)] groups of %player%

Added GroupManager Support (WIP):
Code:
Effects:
[sharpsk] (gman|group[ ]manager) add perm[ission] %string% to [player] %offlineplayer% [in [world] %-world%]

[sharpsk] (gman|group[ ]manager) (remove|delete) perm[ission] %string% from [player] %offlineplayer% [in [world] %-world%]

[sharpsk] (gman|group[ ]manager) set [main] group of [player] %offlineplayer% to %string% [in [world] %-world%]

[sharpsk] (gman|group[ ]manager) add [sub] group %string% to %offlineplayer% [in [world] %-world%]

Added FastAsyncWorldedit Support (WIP):
Code:
[sharpsk] (fawe|fastasyncworldedit) paste schematic %string% at %location% [exclude air %-boolean%]

Added Slimefun Support (WIP):
Code:
Events:
on [(slimefun|sf)] research [unlock]:
 event-research
 event-player

Expressions:
[sharpsk] [(slimefun|sf)] all [(of|the)] researches

Effects:
[sharpsk] [(slimefun|sf)] unlock research %string% for %player%
  • Like
Reactions: bertek41 and Acenox
SharpSK 1.6.2.2 (Minor update):
You can now get event-timespan from a timer tick event
code_language.skript:
[/B]
on timer tick:
       event-timespan // returns the timespan works for both tick and normal timers
[B]
Added a new event:
code_language.skript:
on (remote|rcon) (server|console) command:
     event-string: the command


PermissionsEx:

Updated some PermissionsEx syntaxes to have offlineplayer support

New changed PEX effects:
code_language.skript:
pex (remove|delete) perm[ission] %string% from %offlineplayers%
pex add timed perm[ission] %string% to %offlineplayers% (duration|for) %timespan%
pex add perm[ission] %string% to %offlineplayers%
pex add group %string% to %offlineplayers%
pex (remove|delete) group %string% from %offlineplayers%

Worldedit:
Fixed the following syntax not working with piratesk installed:
code_language.skript:
sharpsk paste schematic %string% at %location% [exclude air %-boolean%] [rotate [by] %-number% [degrees]]
  • Like
Reactions: bertek41
The wait is finally over and this update has been finally released. Enjoy!

Added 1.12 compatibility support
Tons and tons of bugfixes:

Fixed critical timer thread errors when running async. They should be working fine now.
Fixed On Transfer event Throwing error when calling Event-block for Minecraft hopper minecart (Use event-entity for that instead)
Fixed InventoryTransferEvent throwing errors on minecarts. You can now get them with event-entity
FIxed mcMMO powerlevel expression throwing nullpointerexceptions on command execution
Fixed some more timer bugs
Fixed mythicmobs compatibility
Fixed jobsreborn compatibility
Fixed event-item from a On Extract event returning the wrong item
SharpSK can now load with Massivecore and Factions installed.
Player skulls are now recognized as helmets in a Armor equip/unequip event
More minor bugfixes.
and much more bugfixes that I am too lazy to list all here.

Removed some old remaining debug messages
Moved over from MCStats to bstats

Changed the error messages to make more sense when sharpsk fails to hook into one of the plugins

Sentinel Support has been fully scrapped. Because lack of API.


WorldGuard/WorldEdit:
Doubled schematic pasting block limit from 200000 to 400000 blocks!
All syntaxes have been changed up abit so here's the new one for both plugins:
code_language.skript:
Worldguard:

Effects:
[sharpsk] [worldguard] create region %string% between %location% and %location% in [world] %world%
[sharpsk] [worldguard] (delete|remove) region %string% (in|from) [world] %world%
[sharpsk] [worldguard] add owner[s] %players/offlineplayers/strings% [(by name|by uuid)] to region %string% in [world]
[sharpsk] [worldguard] remove owner %players/offlineplayers/strings% [(by name|by uuid)] from region %string% in [world] %world%
[sharpsk] [worldguard] add member[s] %players/offlineplayers/strings% [(-by name|by uuid)] to region %string% in [world] %world%
[sharpsk] [worldguard] remove member[s] %players/offlineplayers/strings% [(by name|by uuid)] from region %string% in [world] %world%

Expressions:
[sharpsk] [(worldguard)] (point|pos[ition])[ ] 1 of region %string% in [world] %world%
[sharpsk] [worldguard] (point|pos[ition])[ ] 2 of region %string% in [world] %world%
sharpsk [worldguard] region at %location%
[sharpsk] [all] [worldguard] regions in %world%
[sharpsk] [worldguard] (set [all] blocks in|fill) region %string% in [world] %world% (to|with) %itemstack%
[sharpsk] [worldguard] [all] members of region %string% in [world] %world%
[sharpsk] [worldguard] [all] owners of region %string% in [world] %world%
[sharpsk] [worldguard] [all] flags of region %string% in [world] %world%
[sharpsk] value of flag %string% of [worldguard] region %string% in [world] %world%

Events:
On [sharpsk] [worldguard] pvp disallow[ed]:

WorldEdit:
Added possibility to rotate your schematics
If piratesk is found:
sharpsk paste schematic %string% at %location% [exclude air %-boolean%] [rotate [by] %-number% [degrees]]
If not:
[sharpsk] paste schematic %string% at %location% [exclude air %-boolean%] [rotate [by] %-number% [degrees]]
Timers:
code_language.skript:
    New features:
        You can now start a timer in ticks instead of seconds:
        Also you can now set intervals for timers

        create (timer|timer in ticks) %string% for %timespan% [keep active %-boolean%] [[with] (interval|delay) %-timespan% [between ticks]]

        With intervals timers won't be triggering the "timer tick event" on every second passed. You can specify on which interval the event should trigger.
        For example with a 5 second interval the timer tick event will trigger when 5 seconds pass on a timer.

    You can now pause/resume timers:
        pause timer %string%
        resume timer %string%
    Usefull if you need to temporarily delay a timer or other stuff.

    Changes:
        On timer tick: event-number changed to event-time



Added towny part 2 support:
code_language.skript:
Recap of all Existing Events/new ones:
    On [towny] mob remov([al]|ed]): //Called when a mob is removed from a town Returns event-entity: The entity
    On [towny] nation create[d]: //Called when a nation has been created. Returns event-nation: Nation Name
    On [towny] nation delete[d]: //Called when a nation has been deleted. Returns event-nation: Nation Name
    On [towny] nation town add[ed]: //Called when a town has been added.
    On [towny] nation rename[d]: //Called when a nation has been renamed.  Returns event-string: Old nation name.  Returns event-nation: New Nation Name
    On [towny] nation town remove[d]: //Called when a town has been deleted.
    On [towny] town delete[d]: //Called when a town has been deleted. Returns event-town: Town Name
    On [towny] town create[d]: //Called when a town is created.    Returns event-town: Town Name
    On [towny] town rename[d]: //Called when a town has been renamed.  Returns event-string: Old town name.  Returns event-town: New Town Name
    On [towny] town claim[ed]: //Called when a town has been claimed.   Returns event-town: Town  Name
    On [towny] town unclaime[d]: //Called when a town has been unclaimed.  Returns event-town: Town  Name
    On [towny] resident rename[d]: //Called when a resident is renamed. Returns event-string: Resident Old Name
    On [towny] resident add[ed]:  //Called when a resident has been added. Returns event-town: Town  Name
    On [towny] resident remove[d]:  //Called when a resident has been removed. Returns event-town: Town  Name
    On [towny] plot clear[ed]:  //Called when a town plot has been cleared.
    On [towny] plot change[d]:  //Called when a town plot has been changed.
    On [towny] pvp disallow[ed]: //Called when a player tried to pvp while disallowed.
    On [towny] town block settings chang(e|ed): //Called when a town block settings changed.

 
Types:
    Townblocktype: RESIDENTAL, COMMERCIAL, ARENA, EMBASSY, WILDS, SPLEEF ,INN, JAIL, FARM
 

Expressions:
    [sharpsk] [towny] all [of|the] town[ ]blocktypes
    [sharpsk] [towny] (all|the) nations //returns a list of all nations
    [sharpsk] [towny] (all|the) towns    //returns a list of all towns
    [sharpsk] [towny] town at %location%  //returns town at a location
    [sharpsk] [towny] [bank] balance of nation %string%  //returns balance of nation (Settable)
    [sharpsk] [towny] [bank] balance of town %string%  //returns balance of a town (Settable)
    [sharpsk] [towny] town of %offlineplayer%  //returns a town of a player
    [sharpsk] [towny] nation of %offlineplayer%  //returns nation of a player
    [sharpsk] [towny] [town] (block|plot)type at %location%  //gets the town-blocktype at location  (Settable)
    [sharpsk] [towny] mayor of town %string% //gets the mayor of a town (Settable)

Effects:
    [sharpsk] [towny] create town %string% at %location% [with [bank] balance %-number%] [[and] with mayor %-offlineplayer%] [and residents %-offlineplayers%] //Creates a town
    [sharpsk] [towny] delete town %string% //Deletes a town
    [sharpsk] [towny] rename town %string% to %string% //Renames a town
    [sharpsk] [towny] kick %offlineplayer% from town %string% //Kicks a player from a town
    [sharpsk] [towny] add %offlineplayer% to [town] %string% //Adds player to a town
    [sharpsk] [towny] create nation %string% (of|in) town %string% [with [bank] balance %-number%] //Creates a nation in a town
    [sharpsk] [towny] kick %offlineplayer% from nation %string%  //Kick player from nation
    [towny] add %offlineplayer% to nation %string% //Adds a player to a nation
Added complete kingdoms(Free)/kingdoms+(Paid) part 2 support:
code_language.skript:
Recap of all Existing Events/new ones
    On [kingdoms] kingdom create[d]:    //Called on kingdom creation. Retuns event-string: Kingdom Name
    On [kingdoms] kingdom delete[d]:   //Called on kingdom deletion. Retuns event-string: Kingdom Name
    On [kingdoms] kingdom member join[ed]:   //Called on when player joins kingdom. Retuns event-string: Kingdom. event-player: The player
    On [kingdoms] kingdom member leave[d]:  //Called on when player leaves kingdom. Retuns event-string: Kingdom. event-player: The player
    On [kingdoms] champion [player] (lose|defeat):  //Called on when a kingdom loses from a challenger Retuns event-string: Kingdom. event-player: The challenger
    On [kingdoms] champion [player] (win|victory):  //Called on when a kingdom wins from a challenger  Retuns event-string: Kingdom. event-player: The challenger
    On [kingdoms] [resource] point[s] change[d]:  //Called on when resourcepoints of kingdom increases/decreases Retuns event-string: Kingdom. event-number: RP Amount


Kingdoms Expressions:
    [sharpsk] [kingdoms] [kingdom] of %offlineplayer% //Gets the kingdom of a player
    [sharpsk] [kingdoms] king of [kingdom] %string% //Gets the king of a kingdom
    [sharpsk] [kingdoms] members (of|in) kingdom %string% //Gets a list of members of a kingdom
    [sharpsk] [kingdoms] enemies of kingdom %string% //Gets a list of enemy kingdoms of a kingdom
    [sharpsk] [kingdoms] allies of kingdom %string%  //Gets a list of allied kingdoms of a kingdom
    [sharpsk] [kingdoms] (max[imum]|amount of) members (allowed in|limit of) kingdom %string% //Gets the amount of max members allowed in a kingdom (Settable)
    [sharpsk] [kingdoms] (RP|resource[ ]points) of [kingdom] %string% //Gets the resourcepoints of a kingdom (Addable/Removable/Settable)
    [sharpsk] [kingdoms] might of [kingdom] %string% //Gets the might of a kingdom (Addable/Removable/Settable)
    [sharpsk] [kingdoms] (all|the) kingdoms //Gets all the kingdoms
    [sharpsk] [kingdoms] lore of kingdom %string% //Gets the lore of a kingdom (Settable)
    [sharpsk] [kingdoms] nexus loc[ation] of kingdom %string% //Gets the nexus location of a kingdom (Settable)
    [sharpsk] [kingdoms] home loc[ation] of kingdom %string% //Gets the home location of a kingdom (Settable)

Kingdoms Effects:
    [sharpsk] [kingdoms] create kingdom %string% [with] king %player%  //Creates a kingdom
    [sharpsk] [kingdoms] remove kingdom %string%  //Removes a kingdom
    [sharpsk] [kingdoms] make kingdom %string% enemy of kingdom %string%  //Makes kingdom a enemy of another kingdom
    [sharpsk] [kingdoms] make kingdom %string% ally of kingdom %string%  //Makes kingdom a ally of another kingdom
    [sharpsk] [kingdoms] add member %offlineplayer% to kingdom %string%  //Adds a member to a kingdom
    [sharpsk] [kingdoms] give [a] shield to kingdom %string% //Gives a kingdom a shield
    [sharpsk] [kingdoms] remove shield from kingdom %string%

Kingdoms Conditions:
    [sharpsk] [kingdoms] kingdom %string% is [not] online //Checks if a kingdom is online
    [sharpsk] [kingdoms] kingdom %string% [[doesn[']t] have]  [has] [a] shield //Checks if a kingdom has a shield


CoreProtect:
You can now log block data and get lookup data

code_language.skript:
    Effects:
        [(coreprotect|cp)] log block [(removal|placement|interaction)] at %location% (for|by) %offlineplayer%  //Logs a specific block action made by a player
    Expressions:
        [(coreprotect|cp)] [(0¦removal|1¦placement|2¦interaction)] lookup data [from by %-offlineplayers%] from %location% in radius %number% from %timespan% ago [excluding %-itemstacks%]   //Returns a list of itemstacks from the lookup data retrieved
This update has been split into 2 parts since this big update introduces support for 3 new plugins that are going to be fully implemented in the next update, probably in 1.6.2.1 which is going to be part 2 with the support for the 3 plugins fully complete.

General:

Fixed silly syntax names in worldguard syntaxes (Will adjust all changed affected syntaxes in the docs later)
Fixed more broken PirateSK stuff.

WorldEdit:
Added feature to exlude air for pasting schems:
code_language.skript:
paste schematic %string% at %location%
Changed to:
code_language.skript:
[sharpsk] paste schematic %string% at %location% [exclude air %-boolean%]


LightAPI:
Fixed broken syntax for creating a Light
Changed syntax to create a light to:
code_language.skript:
[(sharpsk|lightapi)] (create|make) [a] [fake] light [source] at [the] %location% [with] [light[ ]level] %integer% [using] [async] %boolean%

Added Towny Support (W.I.P):
Events:
code_language.skript:
[On] [towny] nation create[d]:
   event-string: the nation
[On] [towny] nation delete[d]:
   event-string: the nation
[On] [towny] town delete[d]:
   event-string: the town
[On] [towny] nation town add[ed]:
   event-string: the nation
[On] [towny] nation town remove[d]:
   event-string: the nation
[On] [towny] town create[d]:
[On] [towny] nation rename[d]:
   event-string: the nation
[On] [towny] town rename[d]:
   event-string: the town
[On] [towny] town claim[ed]:
   event-string: the town
[On] [towny] town unclaime[d]:
   event-string: the town
[On] [towny] resident add[ed]:
   event-string: the town
[On] [towny] resident remove[d]:
   event-string: the town
[On] [towny] mob remov([al]|ed]):
   event-entity: the entity that has been removed
Expressions:
code_language.skript:
[towny] (all|the) towns
[towny] (all|the) nations
Added Kingdoms Support (W.I.P).
Events:
code_language.skript:
[On] [kingdoms] kingdom create[d]:
   event-string: the name of the kingdom
[On] [kingdoms] kingdom delete[d]:
   event-string: the name of the kingdom
[On] [kingdoms] kingdom member join[ed]:
   event-string: the name of the kingdom
   event-player: the player that joined it
[On] [kingdoms] kingdom member leave[d]:
   event-string: the name of the kingdom
   event-player: the player that left it
[On] [kingdoms] champion [player] (lose|defeat):
   event-string: the name of the kingdom
[On] [kingdoms] champion [player] (win|victory):
   event-string: the name of the kingdom
[On] [kingdoms] [resource] point[s] change[d]:
   event-string: the name of the kingdom
Expressions:

code_language.skript:
[kingdoms] king of [kingdom] %string%
[kingdoms] (RP|resource[ ]points) of [kingdom] %string%
[kingdoms] (all|the) kingdoms
Added Sentinal Support (W.I.P).
Events:
code_language.skript:
On [sentinel] target [event]:
   event-entity the targeted entity
   event-string name of the NPC
WorldGuard:
Added support to add members/owners by uuid:
Changed all the remove/add member/owners syntaxes
code_language.skript:
[sharpsk] [(wg|worldguard)] add owner[s] %players/offlineplayers/strings% [(by name|by uuid)] to wg region %string% in [world] %world%
[sharpsk] [(wg|worldguard)] remove owner %players/offlineplayers/strings% [(by name|by uuid)] from wg region %string% in [world] %world%
[sharpsk] [(wg|worldguard)] add member[s] %players/offlineplayers/strings% [(by name|by uuid)] to wg region %string% in [world] %world%
[sharpsk] [(wg|worldguard)] remove member[s] %players/offlineplayers/strings% [(by name|by uuid)] from wg region %string% in [world] %world%
Added new Event:
code_language.skript:
On [sharpsk] [wg] pvp disallow[ed]:
   event-player = the player that tried to pvp
   event-location = Where it happend
SharpSK 1.6.1.5:

General:
Minor bugfixes

Timers:
Fixed a NPE when not specifying if a timer is active or not.

AuthmeReloaded:
Added some player checks for player is authencicated.

Worldguard:
Fixed all PirateSK worldguard syntaxes beign completely broken.

PirateSK's
code_language.skript:
 [(wg|worldguard)] [all] wg regions in %world%
is no longer a single value and will be recognized as a list of regions.


Added LogBlock support (Thanks to @Mr_Simba for testing):
Effects:

code_language.skript:
Logblock queue block (break|place|replace) from %player% at %location% [with previous block %-itemstack% and new block %-itemstack%]
MythicMobs:
Mythicmobs 4.x.x Support

Added On MM Skill [cast]: for old 2.x.x versions.
The event cannot be used in 4.x.x versions since the author removed it from the api.

Authmereloaded:
Removed old 5.0 support
Added support for 5.3 snapshot builds
Added %player% is authenticated

JobsReborn:
Fixed old broken 2.x.x compatibility.

Timers:
You can no longer create a timer when there is already one running with the same name. This is to avoid conflicts.

Fixed active timers not getting saved when the server crashes or the operator closes the server window without stopping the server first.

General:
Fixed some big problems related to version checking resulting in syntaxes getting wrongly registerd or not registerd at all affecting some of the hooks like Mythicmobs and jobsReborn with old version compatibility checks
General:

Changed:
code_language.skript:
create timer %string% for %timespan%
to:
code_language.skript:
create timer %string% for %timespan% [keep active %-boolean%]

When keep active is true then the timer will be paused and temporarily saved when the server stops and resumed after the server restarts.

Fixed a syntax error with the All Timers expression
MythicMobs:

Added event-string to mythicmob spawn event so you can get the mythicmob's internal name

General:
Added new command /sharpsk timers so you get the amount of active timers that are running

Merged PirateSK into SharpSK
All the syntaxes will stay the same. So you can use PirateSK things in SharpSK

Credits:
Piratejsk for making the original piratesk addon
@Blade for updating it and giving me his source code.:emoji_thumbsup:

Added new timer features:

Effects:
stop timer %string%

Expressions:
time of timer %string%:
Can be Set,added,removed

(all [of]|the) [running] timers


Conditions:
timer %string% is [not] active
Fixed a bug with the armor equip event throwing errors with 1.7-1.8.8 versions

Mythicmobs:

Added event-entity to On Mythicmob spawn.


mcMMO:

Added:
[sharpsk] [mcmmo] remaining %skilltype% [e]xp[erience] of %player%
[mcmmo] power[]level cap[acity]


JobsReborn:
Added Support for 3.8.X+

Fixed a bug where the "jobs of %offlineplayer%" expression if used repeatly in a broadcast effect it would keep duplicating the message.

Added "[the] level of job %job% of %offlineplayer%"
You can now get event-job from any jobsreborn event.

CoreProtect:
Removed debug messages.

Added Experimental Timers:

Timer Effect:
create timer %string% for %timespan%

Timer Events:
On Timer Tick:
event-string
event-number

On Timer Complete:
event-string

Check out the docs to see how timers work:
http://skunity.com/search?search=timer#