1.13 needs a player event listeners and reactions based sandbox. Working 1.10-1.12 example provided.

Discussion in 'Plugin Requests' started by Jabberwockie, Jan 11, 2019.

?

Why did the chicken cross the road?

Poll closed Jan 18, 2019.
  1. Because it was afraid of Mojang's ever changing API.

    4 vote(s)
    80.0%
  2. Because it crossed to develop Android apps instead.

    1 vote(s)
    20.0%
  3. Because new syntax for stuff in Minecraft was too fattening.

    1 vote(s)
    20.0%
  4. Because Json is not YAML.

    2 vote(s)
    40.0%
  5. Because 1.8 seeds FTW.

    1 vote(s)
    20.0%
Multiple votes are allowed.
Thread Status:
Not open for further replies.
  1. Offline

    Jabberwockie

    Hello!
    A plugin called MagicSpells has a gigantic list of variables, modifiers, triggers and event reactions.
    It's the most powerful MC sandbox I ever used. It can do anything. Sadly it cannot
    do anything in 1.13+ except retire
    . So sad. *lays flowers* RiP. Now, the old reference and download
    links are gone. I had to dig up a ghost on webarchives. It's dead! In 1.13+ that is.
    Works 100% from 1.8 ish to 1.10. Some ProtocolLib things such as block/mob/item disguises failed post 1.10.
    If you could put something together that did the same then your plugin could practically and actually
    do anything in Minecraft. Frankly, Skript was put to shame by this magical plugin and yours could
    too, just using just the concept of the plugin's side trick that handled those triggers, modifiers and reactions.
    So no need to make any spells, just output a command that the temp OP player does and your plugin
    would be pure magic.

    Besides a deep Pandora's box of magic based tricks it also has a very useable side trick.
    Passive triggers that cause other things to happen if certain conditions met. So useable!
    If player knows ability or automatically granted via permission or always-granted: true.
    The admin of your plugin, should you accept this mad scary mission, would create sets
    of events like the example below using the plugin's list of triggers and event handlers.

    Replicate vote crates as an example.
    If player has tripwire hook item with special name and lore (key) and clicks an admin locked
    chest at X Y Z location, (warp crates) take key and give items from a list of items with % chance
    to drop. The key is gained instantly any time GAListener rewards a vote, for example.

    Respond to chats as a trigger.
    "I really like Marmite!" = Before posting the chat, cancel & player instantly warns
    and mutes themself for 5 min.
    "How do I claim land?" = Player tells themself, 10 seconds later they auto do /warp claims.
    MagicSpells can respond to chat, words or phrases as a trigger.
    It made 3 custom chest based icons menu for PreciousStones plugin, opened by chats.
    "/buyclaims"
    "/controlclaims"
    "/sellclaims"
    Command aliases.

    Respond to player action type.
    If sneak in xyz to xyz fake "portal" 6 block area? Run /rtp or /warp creative or /tppos

    Magic Items?
    Only run extra ores "skill" if player is using special named pick.
    If holding magic fishing rod, grant extra fish when they fish, per biome list.

    Crude area protection.
    On player enter xyz to xyz area (check every 60 ticks) auto msg and /spawn them.
    Or cancel any blockbreaks by them in the area, or only cancel blockbreaks if match
    block id in a list. Or spawn a custom bully stats mini zombie right on on them so
    "Player was killed by Border Police in Death Valley using Villager Pillager".
    Unless they have "&eStrange Zombie Flesh&r" item on them, then they may pass.
    Or one that does "Sorry but you may not place lava or TNT in Build world."

    Triggers/reactions. So many options.. madness!

    This example passive trigger handles Dragon kills with a commands response.
    These are actual magic spells config entries. A noob rank auto learns it.

    Code:
    ResDraII:
        spell-class: ".PassiveSpell"
        name: ResDraII
        always-granted: true
        cooldown: 10
        triggers:
            - kill ENDERDRAGON
        chance: 100
        experience: 500
        spells:
            - RespawnDragon
        modifiers:
            - world survival_the_end required
        str-modifier-failed: "§5This ability only works in The End"
        str-cast-self: |
          §9§lPlease Reset The Dragon
          §9§lPlace the 4th End crystal...
          §9§lCheck your inventory for it.
    RespawnDragon:
        spell-class: ".ExternalCommandSpell"
        name: RespawnDragon
        helper-spell: false
        always-granted: true
        enabled: true
        cooldown: 100
        can-cast-by-command: true
        block-chat-output: true
        command-to-execute:
            - 'summon ender_crystal 0 65 3 {BeamTarget:{X:0,Y:68,Z:0}}'
            - 'summon ender_crystal 3 65 0 {BeamTarget:{X:0,Y:68,Z:0}}'
            - 'summon ender_crystal 0 65 -3 {BeamTarget:{X:0,Y:68,Z:0}}'
            - 'mail send jabbablock %a killed The Ender Dragon'
            - 'setblock 0 68 0 dragon_egg'
            - 'tppos -4 65 0'
            - 'give %a 426 1'
            - 'give %a 399 1 name:&dDragon_Tear lore:|&5Of_Joy!'
        command-to-execute-later:
            - ""
        command-delay: 0
        command-to-block:
            - ""
        temporary-op: true
        temporary-permissions: []
        require-player-target: false
        execute-as-target-instead: false
        obey-los: true
        range: 5
        str-blocked-output: "§e§lB!"
        modifiers:
            - world survival_the_end required
        str-modifier-failed: "§5This ability only works in The End"
    1 On player do "anything you can do in Minecraft" (break/place block, right click xyz block location etc.)
    2 If condition met (From a list of checks, light level, biome check, cooldown, costs requirements met, etc.)
    3 Do "anything you can do in Minecraft" IE Execute any syntax MC command or plugin command.

    Can you make something like this for 1.13+ ??

    Event Listeners. (More were added later, many.)
    https://web.archive.org/web/20170509183616/http://nisovin.com:80/magicspells/passivespell
    Do "Any" command. (Temp OP Run 30000+ char long spawn custom villagers, add jobs levels, anything!)
    https://web.archive.org/web/20161123035659/http://nisovin.com:80/magicspells/externalcommandspell
    Checks and modifiers.
    https://web.archive.org/web/20161214213705/http://nisovin.com:80/magicspells/modifiers

    Plugin name examples?! Er.. I ... How about?
    HeDo-WeDo.jar
    EventSandbox.jar
    CustomReactions.jar
    EventHorizon.jar
    TriggerReactors.jar
    TragicSpells.jar Sadly, it does no magic but allows for giant amounts of gameplay customisation anyway?

    Your plugin would look up all the events in spigot javadocs for player events and interactions.
    Then check whatever in list of Minecraft things such as elevation, biome, has permission, item etc. Then do something as a response. A plugin that is very powerful called Magic and alot like Magicspells lacks the variables and modifiers, passive triggers thing. It does run any command though.

    Attached is a zipped last dev version of MagicSpells.jar (1.10 to 1.12.2)
    Requires ProtocolLib for ultra compatibility.
    MagicSpells (by Nisovin) is no longer downloadable. This jar may be rare.
    So you can test what else it does if you want to as the official MagicSpells download site is
    now 404 Gone. I thank you for reading. MC community everywhere would thank you for
    making the above plugin idea a reality though, I'm sure, 100%! If it seems like alot to wish
    for, I'm only asking for a fraction of what the below shiney magic .jar actually does
    . :D
    A forked version that uses EffectsLib instead is also majorly borked in 1.13. Gah!

    There are loads of small plugins that just do one thing, if break ores give thing or something.
    Your plugin if you made the above idea, would replicate all of those plugins with ease.
    Events.yml would contain an an easy to use example and admins would just copy paste
    it loads of times with different triggers and reactions
    .
    Your plugin would need to have absolute event priority and may need to run on a seperate
    thread like MagicSpells did it if is to also be able to cancel events such as break block before
    CoreProtect, Jobs, McMMO etc registers those events.
    Passive spell java
    command spell java
    I thank you again for reading this. May your plugins live forever. Cheers!
     

    Attached Files:

    Last edited: Jan 11, 2019
Thread Status:
Not open for further replies.

Share This Page