Last active
March 10, 2019 10:55
-
-
Save Blueyescat/55955fc13f3115438e6da60418c6ad63 to your computer and use it in GitHub Desktop.
++ and -- operators in Skript (with skript-mirror)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import: | |
ch.njol.skript.Skript | |
ch.njol.skript.classes.Changer$ChangeMode | |
ch.njol.skript.classes.Changer$ChangerUtils | |
ch.njol.skript.lang.Variable | |
function checkChangeability(expr: object, add: boolean) :: boolean: | |
if ChangerUtils.acceptsChange({_expr}, (ChangeMode.ADD if {_add} is true, else ChangeMode.REMOVE), number) is false: | |
Skript.error("%{_expr}% can't be %(""increased"") if {_add} is true, else ""decreased""%") | |
return false | |
return true | |
expression: | |
patterns: | |
++[ ]%number% | |
%number%[ ]++ | |
--[ ]%number% | |
%number%[ ]-- | |
return type: number | |
parse: | |
continue if checkChangeability(expression-1, (true if matched pattern is 0 or 1, else false)) | |
get: | |
if matched pattern is 1 or 2: | |
set {_add} to true | |
(raw expression-1).change(event, [1], (ChangeMode.ADD if {_add} is true, else ChangeMode.REMOVE)) | |
if {_add} is true: | |
return (expression-1) + (1 if matched pattern is 1, else 0) | |
else: | |
return (expression-1) - (1 if matched pattern is 3, else 0) | |
effect: | |
patterns: | |
%number%[ ]++ | |
%number%[ ]-- | |
parse: | |
continue if checkChangeability(expression-1, (true if matched pattern is 1, else false)) | |
trigger: | |
(raw expression-1).change(event, [1], (ChangeMode.ADD if matched pattern is 1, else ChangeMode.REMOVE)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment