Skript does the same thing!
EDIT:
After looking at Deizen syntax, Skript does a much better job...
This is PlayerVaults in Deizen, just look at the disguisting YAML + weird condition syntax:
PlayerVault_Events:
type: world
events:
on server start:
- inject PlayerVault_Load_Config_Task
on reload scripts:
- inject PlayerVault_Load_Config_Task
on player closes inventory:
- if <context.inventory.replace>].starts_with[in@pvault].not||true> {
- queue clear
}
- define vault_id <context.inventory.after>
- define dvlist <context.inventory.list_contents>
- yaml set id:pvaultkey "<player.uuid>.<def>:<def>"
- yaml "savefile:data/pvault/pvaultkey.yml" "id:pvaultkey"
- define id "<player.uuid>pvault_<def>"
- note remove as:<def>
PlayerVault_Load_Config_Task:
type: task
script:
- if <server.has_file> {
- yaml create "id:pvaultkey"
- yaml "savefile:data/pvault/pvaultkey.yml" "id:pvaultkey"
}
else {
- yaml "load:data/pvault/pvaultkey.yml" "id:pvaultkey"
}
PlayerVault_Command:
type: command
name: playervault
aliases:
- vc
- pv
- pvs
- playervaults
script:
- if <context.args.size> > 0 {
- define vault_id <context.args.get>
}
else {
- define vault_id 1
}
- if <player.has_permission>].global.not> {
- narrate "<&c>Sorry, no access to PV <def>"
- queue clear
}
- define lines 6
- define pvault <player.uuid>pvault_<def>
- define title "<&3>PV <&co> <def>"
- note "in@generic[title=<def>;size=<def>]" as:<def>
- define items <yaml>.<def>]||null>
- if <def> != null {
- inventory set d:in@<def> o:<def>
}
- inventory open d:in@<def> </def></def></def></def></def></yaml></def></def></def></def></def></player.uuid></def></player.has_permission></context.args.get></context.args.size></server.has_file></def></def></player.uuid></def></def></player.uuid></context.inventory.list_contents></context.inventory.after></context.inventory.replace>
Let's take a look at a simpler example, join and leave messages.
Deizen Join/Leave Messages
DarkJoinMessages:
type: world
events:
on player joins:
- if <pl.has_played_before> {
- determine "<&7>+<&8><player.name>"
} else {
- determine "<&7>+<&8>new: <player.name>"
}
on player quit:
- determine "<&7>-<&8><player.name>"</player.name></player.name></player.name></pl.has_played_before>
Skript Join/Leave Messages
on first join:
set join message to "&7+ &8new: %player%"
on join:
set join message to "&7+&8%player%"
on quit:
broadcast "&7-&8%player%"
Skript syntax is much more easier to understand and has a shorter learning curve. While I can't confirm if Skript or Deizen is better to use aside from syntax, I can tell that very less players on cubed know Skript, and even lesser are very good at it. Even if this plugin is added, only 0 or maybe 1 to 2 players would use it efficiently as Skript is already somehow
difficult for players on cubed to learn.
<span style="font-size:8px"><sup>it appears i am supposed to write something here</sup></span>