OmegaRobot
OmegaRobot
Member

71 posts
Minecraft: OmegaRobot
Discord: Unknown
By OmegaRobot » over 5 years ago
Denizen is a very high power script engine for Spigot-enabled Minecraft servers.

Features include:
- Full high power yet easily learned scripting language!
- Easy to write scripts in your file folder OR even directly in-game!
- The full power of a Minecraft server exposed, not limited to what standard plugins can access through the API!
- Rapid development for new features and bug fixes!
- Deep powerful interaction with Citizens NPCs ( https://www.spigotmc.org/resources/citizens.13811/ )
- Interact capably with a variety of other plugins through Depenizen ( http://wiki.citizensnpcs.co/Depenizen )
- Make anything, even your own IRC bot through dIRCBot ( https://github.com/DenizenScript/dIRCBot )
- Powerful and capable enough to even replace major plugins like WorldGuard entirely using scripts ( https://www.spigotmc.org/resources/denizen-dregions.26864/ )
- More than 30 quick yet informative tutorial videos explaining everything you could ever need to get your server customized to perfection!
- And so much more!

It also allows us to make custom tasks and rewards using the Quests plugin
It also works well with Citizens and you can customize and make much more with Citizens!


PAGE:
https://www.spigotmc.org/resources/denizen.21039/



Last edited: over 5 years ago
<span style="color:#e74c3c"><span style="font-size:28px"><strong>hi, these are things i like:<br />      - playerservers (fun and good ones)<br />      - terraria<br />      - pickels<br />      - Trove</strong></span><br /> <br /> <strong><span style="font-size:18px"></span></strong></span><strong><span style="font-size:18px"><span style="color:#9b59b6">if you ever need my help, don't contact me.</span><br /> <span style="color:#2ecc71">updated my signature (this place) 1st October 2019<br /> (added trove)</span><span style="color:#9b59b6"></span></span></strong>
OmegaRobot
OmegaRobot
Member

71 posts
Minecraft: OmegaRobot
Discord: Unknown
By OmegaRobot » over 5 years ago
and if you say that Skript does the same thing, remember that it gives us more uses for the Quests and Citizens plugins :)




<span style="color:#e74c3c"><span style="font-size:28px"><strong>hi, these are things i like:<br />      - playerservers (fun and good ones)<br />      - terraria<br />      - pickels<br />      - Trove</strong></span><br /> <br /> <strong><span style="font-size:18px"></span></strong></span><strong><span style="font-size:18px"><span style="color:#9b59b6">if you ever need my help, don't contact me.</span><br /> <span style="color:#2ecc71">updated my signature (this place) 1st October 2019<br /> (added trove)</span><span style="color:#9b59b6"></span></span></strong>
CreepahMC
CreepahMC
Royal

78 posts
Minecraft: CreepahMC
Discord: Unknown
By CreepahMC » over 5 years ago
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:
 
 
Deizen Code
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.



Last edited: over 5 years ago
<span style="font-size:8px"><sup>it appears i am supposed to write something here</sup></span>
OmegaRobot
OmegaRobot
Member

71 posts
Minecraft: OmegaRobot
Discord: Unknown
By OmegaRobot » over 5 years ago
like i said, this plugin allows us to do stuff we can't do with skript, such as coding drops from NPCs and making custom rewards and more with Quests plugin!




<span style="color:#e74c3c"><span style="font-size:28px"><strong>hi, these are things i like:<br />      - playerservers (fun and good ones)<br />      - terraria<br />      - pickels<br />      - Trove</strong></span><br /> <br /> <strong><span style="font-size:18px"></span></strong></span><strong><span style="font-size:18px"><span style="color:#9b59b6">if you ever need my help, don't contact me.</span><br /> <span style="color:#2ecc71">updated my signature (this place) 1st October 2019<br /> (added trove)</span><span style="color:#9b59b6"></span></span></strong>