Sueta

denizen-reflect

2.4.2

Adds direct Java support to Denizen scripts.

·Plugin
  1. 2.4.2latestdenizen-reflect 2.4.2Jul 5, 2026
    fix: resolve critical data loss and race conditions in proxy and section
    330 downloads
  2. 2.4.1denizen-reflect 2.4.1Jun 22, 2026
    fix: resolved class loading issues, allowing .dsc scripts to properly import and invoke custom Java classes.
    82 downloads
  3. 2.4.0denizen-reflect 2.4.0Jun 14, 2026

    denizen-reflect 2.4.0

    Add:
    - `Java Scripts (.java Script Support)`:
    Write and execute native Java classes directly in your plugins/Denizen/scripts/ folder. They compile on-the-fly during "/ex reload" and run with 100% native Java performance.
    ### The // @persistent State Control
    Control the compilation lifecycle by adding a // @persistent comment at the very top of your .java file:
    - Volatile (Default - No comment): Recompiles from scratch on every "/ex reload". Best for active development and quick testing.
    - Persistent (Add // @persistent): Compiles only once and "freezes" in memory, protecting static variables from resetting. Use this when you have completely finished developing the class.
    ### Architecture:
    To prevent memory leaks during reloads, the system uses a strict classloader hierarchy. You must follow these visibility rules:
    - ✅ Volatile scripts CAN see and use Persistent classes.
    - ✅ Persistent classes CAN see and use other Persistent classes.
    - ❌ Persistent classes CANNOT reference Volatile scripts. Doing so will trap the old volatile script in memory and eventually crash the server with an OutOfMemoryError.
    ### Lifecycle Methods:
    You can optionally implement two static methods that the system invokes automatically:
    - public static void init(): Executed immediately after successful compilation.
    - public static void shutdown(): Executed right before the script is reloaded or deleted (used for cleanup).
    For more information, visit the documentation website.
    ![Java scripts](https://cdn.modrinth.com/data/cached_images/3a2e11e924637…
    Fix:
    - `TagCommand`:
    Fixed custom base tags not supporting sub-tags.
    - `CustomCommand`:
    Fixed custom commands ignoring execution determinations.
    57 downloads
  4. 2.3.2denizen-reflect 2.3.2Apr 13, 2026
    fix: resolve non-public class bypass to fix interface and deep discovery
    260 downloads
  5. 2.3.1denizen-reflect 2.3.1Mar 17, 2026
    Proxy handlers are forced to run in the main thread.
    163 downloads
  6. 2.3.0denizen-reflect 2.3.0Mar 6, 2026
    feat: add util.custom_commands tag
    76 downloads
  7. 2.2.9denizen-reflect 2.2.9Mar 5, 2026
    Optimization Debugging disabled in executor:<tag> (PlaceholderCommand)
    27 downloads
  8. 2.2.8denizen-reflect 2.2.8Feb 21, 2026
    feat: support dynamic tag-based executors for tags and placeholders
    95 downloads
  9. 2.2.7denizen-reflect 2.2.7Feb 20, 2026
    fix: resolve encapsulation issues by reflecting via public interfaces
    36 downloads
  10. 2.2.6denizen-reflect 2.2.6Feb 20, 2026
    Add 'executor' argument for custom tags, commands, and placeholders. Add libload command for dynamic Java library injection. Fixed bStats not logging the Denizen version.
    25 downloads
  11. 2.2.5denizen-reflect 2.2.5Jan 21, 2026
    fix: register denizen-reflect commands, events, and other features early so they work in all events.
    189 downloads
  12. 2.2.4denizen-reflect 2.2.4Jan 16, 2026
    # Improved Overhauled 'command' system: switched to MapTag config, added boolean args/tooltips, and implemented high-performance strict parsing.
    43 downloads
  13. 2.2.3denizen-reflect 2.2.3Jan 1, 2026
    New tag: <chain[]>
    Fix wildcards in ProxyCommand and other fixes.
    70 downloads
  14. 2.2.2denizen-reflect 2.2.2Dec 29, 2025

    Changes:

    - ProxyCommand fix for Windows
    32 downloads
  15. 2.2.1denizen-reflect 2.2.1Dec 24, 2025
    refactor: update static argument syntax for TagCommand

    Added:

    Cast support.
    crafter:
        type: task
        definitions: location
        script:
        - define state <invoke[(Crafter) loc.getBlock().getState()]>
        - invoke 'state.setSlotDisabled(0, true)'
        - invoke state.update()

    Fix:

    Invoke command not working in /ex Fix ScriptGeneratesErrorScriptEvent Other minor fixes
    41 downloads
  16. 2.2denizen-reflect 2.2Dec 13, 2025

    Added

    - Support for local variables in lambda.
    import:
        java.lang.String
        
    players:
        type: task
        script:
        - define players <server.online_players>
        - define uuid <util.random_uuid>
        - invoke 'players.forEach(p - 
          	     str = new String("Local variable")
                    p.sendMessage(str)
        	  )'
    - Strong optimization - Support for wildcard imports.
    import:
        java.util.*
    
    task:
        type: task
        script:
        - narrate <invoke[List]>
        - narrate <invoke[Map]>

    Fixed

    - Definitions in sections
    69 downloads
  17. 2.1denizen-reflect 2.1Dec 4, 2025

    Added

    - Lambda expression support `[email protected]().forEach(p - player.sendMessage(p.getName()))`

    Fixed

    - Windows compatibility - Other minor fixes
    86 downloads
  18. 2.0denizen-reflect 2.0Dec 2, 2025
    The entire code has been completely rewritten from scratch. A stable proxy system, improved performance, and many new features.
    import:
        java.lang.System as alias
        java.lang.String
    
    task:
        type: task
        script:
        - invoke player.kick()
        - invoke System.out.println("test")
        - define name <invoke[player.getName()]>
    Current features: - Importing classes - Executing Java code, methods, fields, constructors. - Creating your own placeholders (PlaceholderAPI) - Creating your own denizen commands. - Creating your own denizen tags. - Renaming denizen events. - Creating proxies. - And other.
    40 downloads
  19. 1.0.186denizen-reflect 1.0.186: Proxy & SectionsOct 4, 2025
    137 downloads
  20. 1.0_Build107_29092025denizen-reflect 1.0 build 107Sep 29, 2025
    - Small fix invoke - Import - The as argument is now optional; if omitted, the original class name will be used. - New tag <util.import[]>: Added by analogy with the import command. <util.import[java.lang.String(Hello)]>
    52 downloads
  21. 1.0.83External Libraries - denizen-reflect 1.0 build 83Sep 25, 2025
    - Added support for external Java libraries in denizen-reflect (plugins/denizen-reflect/libs/).
    36 downloads
  22. 1.0denizen-reflect 1.0Sep 23, 2025
    First Release!
    Tested on Denizen 1.3.1 build 7144
    42 downloads

Similar projects

Plugin →