SharpSK 1.6.2.1
SharpSK 1.6.2.1 (Massive stability update and other stuff):
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.
Timers:
New features:
You can now start a timer in ticks instead of seconds:
Also you can now set intervals for timers
create (-1¦timer|1¦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
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:
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]]
Added towny part 2 support:
//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:
//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:
Effects:
[(coreprotect|cp)] log block [(0¦removal|1¦placement|2¦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