LibsDisguise, CorpesReborn, Citizens events, Regenerators, Ping of player, Dyed armour and more!
Added:
- Remade LibsDisguise support
- Added an update checker
- Added an option to use MySQL AutoReconnect
If the value "AutoReconnect" doesn't exist in your MySQL.yml remove the MySQL.yml and restart
or add the value "AutoReconnect: true" if you want to use this feature and it's not there.
- Citizens events
- Regenerators (Fast way to save and rebuild blocks)
- Potion effect without particles
- Player ping (With reflection built in)
- Piston toggle state
- Repeater delay
- More blockstate stuff
- CorpseReborn support
Fixed:
- Fixed a null pointer in custom name
- Fixed a null pointer in Fall distance
- Fixed two syntax errors
- changed this syntax added [player]
Code (Text):
[the] (skellett[ ][(cord|proxy)]|bungee[ ][cord]) [player] (uuid|unique[ ]id) of [player] %player%
(skellett[ ][(cord|proxy)]|bungee[ ][cord]) %player%['s] (uuid|unique[ ]id)
New Syntax:
Code (Text):
#Effects:
[skellett] apply [potion[s]] [of] %potioneffecttype% [potion] [[[of] tier] %-number%] to %livingentities% [for %-timespan%] [[and] ambient %-boolean% [hide [particle [effects] %-boolean% [colo[u]r %-color%]]]
#Expressions:
[skellett] [dye[d]] [colo[u]r] [of] %itemstack% [to] (colo[u]r[ed]|dyed) %color%
[skellett] ping of [player] %player%
[skellett] %player%'s ping
#Changers: set (Boolean)
[skellett] piston[s] (power|toggle) [state] of %block%
%block%'s piston (power|toggle) [state]
#Changers: set (Integer)
#Info: This is the repeater tick delay
[skellett] [redstone] repeater[s] [(redstone|power)] delay of %block%
[redstone] repeater %block%'s [(redstone|power)] delay
#Conditons:
[piston] %block% (1¦is|2¦is(n't| not)) [a] sticky [piston]
#Regenerators:
#Expressions:
#Changers: set (Location)
#Info: Once changed the regenerator will rebuild itself then reconfigure itself
pos[ition][ ]1 of [skellett] regenerator [[with] id] %string%
#Changers: set (Location)
#Info: Once changed the regenerator will rebuild itself then reconfigure itself
pos[ition][ ]2 of [skellett] regenerator [[with] id] %string%
#Loopable
[(the|all)] [of] [the] [skellett] regenerator [ids]
#Effects:
create a regenerator with ID "test" from player's location to location of target block
(create|make) [a] [new] [skellett] regenerator with ID %string% (from|within) [location[s]] %location% (to|and) %location%
#Info if te rebuild is not defined it will default to true
(delete|remove) [the] [skellett] regenerator with ID %string% [re[ ]build %-boolean]
re[ ]configure [the] [skellett] regenerator with ID %string%
re(generate|[ ]build) [the] [skellett] regenerator with ID %string%
#Conditions:
[skellett] regenerator with id %string% (1¦does|2¦does(n't| not)) exist
#Citizen stuff:
#Events:
[on] (npc|citizen) damage (by|from) [a[n]] entity
#Get the attacker
event-entity
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get damage cause in String
event-string
#Get or set the damage (Number)
[the] (citizen|npc) damage
[on] (npc|citizen) damage (by|from) [a] block
#Get the block
event-block
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get or set the damage (Number)
[the] (citizen|npc) damage
#This is called when a citizen attacks
[on] (npc|citizen) entity damage
#Get the victim
event-entity
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get or set the damage (Number)
[the] (citizen|npc) damage
[on] entity target (npc|citizen)
#Get the entity that targeted this npc
event-entity
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get the target reason
[the] target reason
[on] (npc|citizen) [(right|left)] click
#Get the player that clicked the NPC
[the] (citizen|npc) [event[(-| )]](player|clicker)
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) [entity] colli(sion|de)
#Get the entity that was collided with
event-entity
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) (combust[ion]|ignition) (by|from) [a] block
#Get the block
event-block
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get or set the combustion time (Number)
[the] (citizen|npc) [event[(-| )]](combust[ion]|ignition) time
[on] (npc|citizen) (combust[ion]|ignition) (by|from) [a[n]] entity
#Get the entity
event-entity
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get or set the combustion time (Number)
[the] (citizen|npc) [event[(-| )]](combust[ion]|ignition) time
[on] (npc|citizen) create
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) despawn
#Get the NPC
[the] [event(-| )](citizen|npc)
#Get despawn reason
[the] [(npc|citizen)] despawn reason
[on] (npc|citizen) ender[[ ]pearl] [teleport]
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) (push|(vector|velocity) change)
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) remove
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) sel[ect[ed]]
[the] (citizen|npc) [player] selector
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) spawn
#Get the location
event-location
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] (npc|citizen) teleport
#Get the future location.
event-location
#Get the NPC
[the] [event(-| )](citizen|npc)
[on] player create (npc|citizen)
#Get the creator
event-player
#Get the NPC
[the] [event(-| )](citizen|npc)
#Condtions:
[entity] %entity% (1¦is|2¦is(n't| not)) [a[n]] (npc|citizen)
#Effects:
(delete|unregister) (npc|citizen) %npc%
(delete|unregister|remove) [(the|all)] [of] [the] (npcs|citizens)
#CorpseReborn stuff:
#Effects:
(spawn|create) [a] corpse [with] [player [data]] %player% at %location% [with] id %string% [[with] inventory %-itemstacks%] [[with] helmet %-itemstack%[(,| and)] chestplate %-itemstack%[(,| and)] leg[ging][s] %-itemstack%[(,| and)] boot[s] %-itemstack%] [holding [item] %-itemstack%] [[and] offhand [item] %-itemstack%]]
(delete|unregister|remove) (the|all) [of] [the] corpse[s]
(delete|remove|unregister) corpse %corpse%
#Expressions:
#Loopable
[(the|all)] [of] [the] corpse[s]
[the] corpse with ID %string%
#Changers: set (Player)
[the] player of corpse %corpse%
corpse %corpse%'s player
#LibsDisguises stuff:
#Expressions:
[a] [new] disguise [with] type %disguisetype% [with block [id] %-integer%] [(and|with) data [id] %-integer%] [with [user[ ]]name %-string%] [(and|with) baby [state] %-boolean%]
disguise type of %entities%[[']s]
%entities%'s disguise type
#Changers: set (Disguise)
#Info: if the player option is set this will make the entities disguise client side to that player
disguise [of] %entities%[[']s] [(to|from) player %player%]
%entities%'s disguise [(to|from) player %player%]
#Info: This gets all possible disguises that different players can see of this entity
[(the|all)] [of] [the] client [viewed] disguise[[']s] [of] %entity%
#Changers: set (Boolean)
self view[ing] disguise [state] of %entities%[[']s]
%entities%'s self view[ing] disguise [state]
#Changers: set (Entity)
[the] entity of disguise %disguise%
%disguise%'s disgusie entity
[(the|all)] [of] [the] armo[u]r of disguise %disguise%
%disguise%'s armo[u]r
#Changers: set (ItemStack)
[held] item of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s [held] item
#Changers: set (ItemStack)
[held] offhand item of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s [held] offhand item
#Changers: set (ItemStack)
[the] (item|equipment) [in] slot %equipmentslot% (of|in) disguise %disguise%
[skellett] [[Libs]Disguises] slot %equipmentslot% (of|in) disguise %disguise%
#Changers: set (Boolean)
[skellett] [[Libs]Disguises] (burning|ignited|lit) [state] of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s (burning|ignited|lit) [state]
#Changers: set (Boolean)
[skellett] [[Libs]Disguises] (vanish[ed]|invisible) [state] of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s (vanish[ed]|invisible) [state]
#Changers: set (Boolean)
[skellett] [[Libs]Disguises] (sprint[ing]|run[ning]) [state] of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s (sprint[ing]|run[ning]) [state]
#Changers: set (Boolean)
[skellett] [[Libs]Disguises] (sneak[ing]|crouch[ing]) [state] of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s (sneak[ing]|crouch[ing]) [state]
#Changers: set (Boolean)
[skellett] [[Libs]Disguises] (block[ing]|right[(-| )]click[ing]) [state] of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s (block[ing]|right[(-| )]click[ing]) [state]
#Changers: set (Boolean)
[skellett] [[Libs]Disguises] name visib(le|ility) [state] of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s name visib(le|ility) [state]
#Changers: set (String)
[skellett] [[Libs]Disguises] [custom] name of disguise %disguise%
[skellett] [[Libs]Disguises] %disguise%'s [custom] name
#Effects:
un[( |-)]disguise %entity%
#Condition:
[(entity|player)] %entity% (1¦(is|[does] (ha(s|ve)))|2¦(do[es](n't| not) have|is(n't| not))) [a] disguise[d]
[(entity|player)] %entity% is disguised
[(entity|player)] %entity% is(n't| not) disguised
[(entity|player)] %entity% [does] (ha(s|ve)) [a] disguise
[(entity|player)] %entity% do[es](n't| not) have [a] disguise
disguise %disguise% (1¦(is|[does] (ha(s|ve)))|2¦(do[es](n't| not) have|is(n't| not))) [a] [custom] name
Test script:
Code (Text):
command /example:
trigger:
spawn a corpse with player data player at location of player with id "Test" with inventory air with helmet diamond helmet, chestplate diamond chestplate, legs diamond leggings, boots diamond boots holding diamond sword
command /exampledel:
trigger:
set {_corpse} to corpse with ID "Test"
unregister corpse {_corpse}
command /test1:
trigger:
if target block is a piston:
broadcast "%piston power of target block%"
set piston power of target block to true
broadcast "%piston power of target block%"
if target block is not a sticky piston:
broadcast "test"
else:
broadcast "test1"
else if target block is a repeater:
broadcast "%redstone repeater delay of target block%"
set redstone repeater delay of target block to 2
broadcast "%redstone repeater delay of target block%"
command /ping:
trigger:
broadcast "Your ping: %ping of player%"
command /regen:
trigger:
if regenerator with id "test" does exist:
regenerate regenerator with ID "test"
message "done"
else:
message "hello?"
command /testd:
trigger:
if player is not disguised:
set {_d} to a new disguise with type PLAYER with username "%player%"
set disguise of player to {_d}
set self viewing disguise state of player to true
broadcast "%self viewing disguise state of player%"
set {_e} to the entity of disguise {_d}
broadcast "&e%{_e}%"
broadcast "&b%armour of disguise {_d}%"
set item slot HEAD of disguise {_d} to diamond helmet
set item slot CHEST of disguise {_d} to diamond chestplate
set item slot LEGS of disguise {_d} to diamond leggings
set item slot FEET of disguise {_d} to diamond boots
broadcast "&b%armour of disguise {_d}%"
set held item of disguise {_d} to stone sword
set held offhand item of disguise {_d} to stone pickaxe
broadcast "%item in slot HAND of disguise {_d}%"
set burning state of disguise {_d} to true
broadcast "%vanished state of disguise {_d}%"
set sprinting state of disguise {_d} to true
set sneaking state of disguise {_d} to true
set blocking state of disguise {_d} to true
set name visibility of disguise {_d} to true
set custom name of disguise {_d} to "&6&l%player%"
broadcast "%disguise type of player%"
Info:
For the %equipmentslot% type. Here are the types for it
CHEST
FEET
HAND
HEAD
LEGS
OFF_HAND
The regenerators are basically a quick way to save blocks within two locations and then that data can be regenerated anytime. This is good for minigames that need to restore alot of blocks after a game has just been played. I added this because I noticed that Skript is very slow at writing block types to the variable database. So I made a quick and simple way to do the same thing that variables do but way way way faster.
If you have any questions or need help with anything, feel free to use the discussion page and I will help you as soon as I can.