Immersive Gameplay - Aura

Discussion in 'Showcases' started by Omanoctoa, Aug 7, 2018.

  1. Omanoctoa

    Omanoctoa Member
    Supporter Premium Supporter

    Joined:
    Mar 10, 2016
    Messages:
    222
    Likes Received:
    21
    Hello MM!

    I've been tinkering with this for a while and thought I would show off a mob I've been working on.

    Aura

    My server goal is an immersive environment where players are able to do things they normally aren't allowed to do. I thought...wouldn't it be neat to give players the ability to create portable, stationary particle effects without bulky commands or serious lag?

    [​IMG]

    Introducing the Aura. Aurae (pl of Aura) are No-AI Shulkers that create particle effects above them depending on what kind of block they are placed on. Breaking/killing the Aura destroys it, but right-clicking on it causes it to drop itself as a spawn egg, meaning it can be easily moved around. The effects are pretty simple - it is fully capable of far more complicated effects but I'm just using it some basics. The goal is to give players the ability to create particles where they want.

    Code:
    Aura:
      Type: SHULKER
      Health: 10
      Skills:
      - message{msg="&9Aura summoned!"} @PIR{r=5} ~onSpawn
      - skill{s=ParticleEffects} @self ~onTimer:60
      - message{msg="&cAura destroyed!"} @PIR{r=5} ~onDeath
      - skill{s=AuraDrop} @self ~onInteract
      AITargetSelectors:
      - 0 clear
      AIGoalSelectors:
      - 0 clear
      Options:
        PreventTeleport: true
        PreventOtherDrops: true
        MovementSpeed: 0.0
        Despawn: false
        Silent: true
        Persistent: true
        Invincible: false
        HasArms: false
        HasGravity: true
        Collidable: false
        Invisible: false

    Code:
    AuraDrop:
      Conditions:
      - playerwithin 7
      Skills:
      - effect:itemspray{item=AuraEgg;amount=1;velocity=0;d=1200;allowpickup=true} @self
      - remove @self
    ParticleEffects:
    # 1-2 Players in range
      Conditions:
      - playerwithin 40
      Skills:
      - skill{s=ParticleEffect-Enchantment} @self
      - skill{s=ParticleEffect-Lava} @self
      - skill{s=ParticleEffect-Witch} @self
      - skill{s=ParticleEffect-Portal} @self
      - skill{s=ParticleEffect-Bubbles} @self
      - skill{s=Aura-Lightning} @self
      - skill{s=ParticleEffect-Flame} @self
      - skill{s=ParticleEffect-Dragon} @self
    #  - skill{s=ParticleEffect-Red} @self
    #  - skill{s=ParticleEffect-Blue} @self
    #  - skill{s=ParticleEffect-Yellow} @self
    #  - skill{s=ParticleEffect-White} @self
    #  - skill{s=ParticleEffect-Black} @self
    #  - skill{s=ParticleEffect-Purple} @self
    #  - skill{s=ParticleEffect-Orange} @self
    #  - skill{s=ParticleEffect-Brown} @self
    #  - skill{s=ParticleEffect-Pink} @self
    #  - skill{s=ParticleEffect-Lime} @self
    #  - skill{s=ParticleEffect-LightBlue} @self
    Aura-Lightning:
      Conditions:
      - onblock beacon
      Skills:
      - effect:lightning{localized=true;localizedradius=80} 1 .2
    ParticleEffect-Dragon:
      Conditions:
      - onblock purpur_block,purpur_pillar
      Skills:
      - skill{s=Aura-DragonParticles}
      - delay 20
      - skill{s=Aura-DragonParticles}
      - delay 20
      - skill{s=Aura-DragonParticles}
    Aura-DragonParticles:
      Skills:
      - effect:particles{p=dragonbreath;a=4;hs=1;vs=1;s=.01;y=5}
      - delay 8
      - effect:particles{p=dragonbreath;a=3;hs=1;vs=1;s=.001;y=5}
      - delay 8
      - effect:particles{p=dragonbreath;a=3;hs=1;vs=1;s=.001;y=5}
      - delay 8
      - effect:particles{p=dragonbreath;a=4;hs=1;vs=1;s=.01;y=5}
      - delay 8
      - effect:particles{p=dragonbreath;a=3;hs=1;vs=1;s=.001;y=5}
    ParticleEffect-Flame:
      Conditions:
      - onblock quartz_ore
      Skills:
      - skill{s=Aura-FlameParticles}
      - delay 20
      - skill{s=Aura-FlameParticles}
      - delay 20
      - skill{s=Aura-FlameParticles}
    Aura-FlameParticles:
      Skills:
      - effect:particles{p=flame;a=4;hs=1.5;vs=1;s=.01;y=7}
      - delay 8
      - effect:particles{p=flame;a=4;hs=1.5;vs=1;s=.02;y=7}
      - delay 8
      - effect:particles{p=flame;a=4;hs=1.5;vs=1;s=.01;y=7}
      - delay 8
      - effect:particles{p=flame;a=4;hs=1.5;vs=1;s=.03;y=7}
      - delay 8
      - effect:particles{p=flame;a=4;hs=1.5;vs=1;s=.01;y=7}
    ParticleEffect-Witch:
      Conditions:
      - onblock mossy_cobblestone
      Skills:
      - skill{s=Aura-WitchParticles}
      - delay 20
      - skill{s=Aura-WitchParticles}
      - delay 20
      - skill{s=Aura-WitchParticles}
    Aura-WitchParticles:
      Skills:
      - effect:particles{p=witchMagic;a=4;hs=2;vs=2;s=3;y=5}
      - delay 8
      - effect:particles{p=witchMagic;a=4;hs=2;vs=2;s=3;y=5}
      - delay 8
      - effect:particles{p=witchMagic;a=5;hs=2;vs=2;s=3;y=5}
      - delay 8
      - effect:particles{p=witchMagic;a=4;hs=2;vs=2;s=3;y=5}
      - delay 8
      - effect:particles{p=witchMagic;a=4;hs=2;vs=2;s=3;y=5}
    ParticleEffect-Bubbles:
      Conditions:
      - onblock sponge,wet_sponge
      Skills:
      - skill{s=Aura-BubblesParticles}
      - delay 20
      - skill{s=Aura-BubblesParticles}
      - delay 20
      - skill{s=Aura-BubblesParticles}
    Aura-BubblesParticles:
      Skills:
      - effect:particles{p=bubble;a=5;hs=2;vs=3;s=3;y=7}
      - delay 8
      - effect:particles{p=bubble;a=5;hs=2;vs=3;s=3;y=7}
      - delay 8
      - effect:particles{p=bubble;a=5;hs=2;vs=3;s=3;y=7}
      - delay 8
      - effect:particles{p=bubble;a=5;hs=2;vs=3;s=3;y=7}
      - delay 8
      - effect:particles{p=bubble;a=5;hs=2;vs=3;s=3;y=7}
      - delay 8
    ParticleEffect-Enchantment:
      Conditions:
      - onblock bookshelf
      Skills:
      - skill{s=Aura-EnchantmentParticles}
      - delay 20
      - skill{s=Aura-EnchantmentParticles}
      - delay 20
      - skill{s=Aura-EnchantmentParticles}
    Aura-EnchantmentParticles:
      Skills:
      - effect:particles{p=enchantmenttable;a=5;hs=.1;vs=1;s=3;y=5}
      - delay 8
      - effect:particles{p=enchantmenttable;a=5;hs=.1;vs=1;s=3;y=5}
      - delay 8
      - effect:particles{p=enchantmenttable;a=5;hs=.1;vs=1;s=3;y=5}
      - delay 8
      - effect:particles{p=enchantmenttable;a=5;hs=.1;vs=1;s=3;y=5}
      - delay 8
      - effect:particles{p=enchantmenttable;a=5;hs=.1;vs=1;s=3;y=5}
      - delay 8
    ParticleEffect-Portal:
      Conditions:
      - onblock ender_stone,end_bricks,obsidian
      Skills:
      - skill{s=Aura-PortalParticles}
      - delay 20
      - skill{s=Aura-PortalParticles}
      - delay 20
      - skill{s=Aura-PortalParticles}
    Aura-PortalParticles:
      Skills:
      - effect:particles{p=portal;a=5;hs=.1;vs=1;s=2;y=5}
      - delay 8
      - effect:particles{p=portal;a=5;hs=.1;vs=.8;s=3;y=5}
      - delay 8
      - effect:particles{p=portal;a=5;hs=.1;vs=1;s=3;y=5}
      - delay 8
      - effect:particles{p=portal;a=5;hs=.1;vs=.7;s=3;y=5}
      - delay 8
      - effect:particles{p=portal;a=5;hs=.1;vs=1;s=2;y=5}
      - delay 8
    ParticleEffect-Lava:
      Conditions:
      - onblock magma
      Skills:
      - effect:particletornado{particle=lava;cloudpspeed=3;cloudparticle=lava;cloudamount=1.5;amount=1;rotatespeed=.5;cloudvspread=1.5;cloudspeed=.2;cloudhspread=.9;Speed=.5;cloudyoffset=8;height=.3;interval=5;duration=60;spread=1}

    Note the commented Skill lines... I tried to get the Aura to display different coloured reddust particles based on the colour of wool it was placed on, but it is not possible to use block data in onBlock Conditions. If you know how to do this, some feedback would be greatly appreciated.

    I'm aware this isn't the most complicated mob and it is greatly scaled back in terms of what it Can do (I only posted 1/3 of the particle skills). This is just to spur your imagination into an immersive gameplay feature.

    The idea is players would use a custom crafting recipe to create the spawn eggs (fairly expensive) rewarding them for collecting valuable resources and giving experienced players new goals. Players could also create their own arenas and such particle effects would be spendid additions! Before I forget, here is the Mob Egg code:
    Code:
    AuraEgg:
      Id: 383
      Display: '§7§l-= §9Aura Egg §7§l=-'
      Lore:
      - '§8§oA Mythical Egg that can'
      - '§8§obe used to resurrect a'
      - '§8§oAura'

    Much more up-to-date screenshot...
    [​IMG]
     
    #1
    AnimalMace likes this.
  2. Omanoctoa

    Omanoctoa Member
    Supporter Premium Supporter

    Joined:
    Mar 10, 2016
    Messages:
    222
    Likes Received:
    21
    Any thoughts on how to toggle the effects on and off on right-click?
     
    #2
  3. Zetabot

    Zetabot New Member

    Joined:
    Aug 18, 2017
    Messages:
    7
    Likes Received:
    0
    maybe instead of hitting it to destroy it, it could register the hit on a scoreboard, and you could hit it again to subtract that value, and give the particle skills a condition involving the scoreboard.
     
    #3
  4. Omanoctoa

    Omanoctoa Member
    Supporter Premium Supporter

    Joined:
    Mar 10, 2016
    Messages:
    222
    Likes Received:
    21
    Would that work per-Aura, or would it toggle them all, though?
     
    #4
  5. Zetabot

    Zetabot New Member

    Joined:
    Aug 18, 2017
    Messages:
    7
    Likes Received:
    0
    you could just add the same condition to each particle skill, and that should toggle them all, right?
     
    #5
  6. Omanoctoa

    Omanoctoa Member
    Supporter Premium Supporter

    Joined:
    Mar 10, 2016
    Messages:
    222
    Likes Received:
    21
    Oh no, not the different particle effects, I mean if I used the scoreboard to toggle the particles, would it not toggle all the Auras in the world at once?
     
    #6
  7. Zetabot

    Zetabot New Member

    Joined:
    Aug 18, 2017
    Messages:
    7
    Likes Received:
    0
    #7
  8. AnimalMace

    AnimalMace Member

    Joined:
    Jul 3, 2017
    Messages:
    172
    Likes Received:
    6
    You could add diffrent ways of spawning the particles that could be configured ingame? That would be cool to be honest,
     
    #8
  9. Omanoctoa

    Omanoctoa Member
    Supporter Premium Supporter

    Joined:
    Mar 10, 2016
    Messages:
    222
    Likes Received:
    21
    My goal is to make them immersive and command-less. Maybe the using scoreboard to switch between different effects would be neat, but I think it would be neat to be able to read the blocks beneath the Aura and if they are all of the same onBlock type, change the effect. So one magma block would give small lava particles, sitting on 2 blocks would yield larger particles, sitting on 3 blocks would would yield wider, flatter particles. But I feel this would cause more stress on performance as it would need to read 3 blocks instead of one.
     
    #9

Share This Page