Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
MythicMobs MythicMobs
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 147
    • Issues 147
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • MythicMobsMythicMobs
  • Issues
  • #182

Closed
Open
Created Nov 22, 2020 by Gunging@GungingDeveloper

[NullPointerException] When using <target.uuid> placeholder in aura mechanic, when a sudoskill mechanic is present

Summary

Need to make some terms clear:

  • Aura's Target [AT]: The entiy an aura is applied to.
  • Aura's Caster [AC]: The one who throws the aura onto AT.
  • Aura's Trigger [AC]: Seemingly, always the same as the caster.

Very interestingly, using placeholders for the AT'name and UUID within an aura's onTick works fine until you try to use the sudoskill mechanic, more specifically, when the sudoskill tries to sudo AT to perform another skill. Everything works fine if the sudoskill is forcing AC to do another skill.

Steps to reproduce

These are the skills of the aura: https://pastebin.com/PvzPNKYe

If one adds @Trigger to the sudoskill, rendering it redundant, all the variables parse fine.

Current behavior

Well, I'm trying to find a workaround to directly using the damage mechanic. Because the way it works now ignores PvP restrictions, and players using an artifact that executes this skill can unfairly kill players in these areas.

I can affirm it is not sending an EntityDamageByEntity event, because plugins that would register elo or somehow else read damage dealt to entities by players are not counting it. In fact, it seems that the target is killing themselves when the damage mechanic is active.

My next step was doing a triple sudoskill loop, basically:

  • (0) Damage mechanic in aura seems to be casted by AT targettng AT
  • (1) Sudo AT to do a skill (becoming the sudocaster [SC], with the trigger beig AC who will become the sudotrigger [ST])
  • (2) Sudo ST to do yet another skill (becoming the subsudocaster [SSC], and SC will be the sudosudotrigger [SST])
  • So far, AT = SC = SST and AC = ST = SSC
  • (3) Use damage mechanic casted by SSC targetting SST, which works when called outside auras so it should work here.

However, since tring to do the first sudoskill loop causes the target reference to be null, this is not working.

Intended correct behavior

Using sudoskill on the target should not cause it to be null

Server log file

Gonna be ugly aF lol but here it goes: https://pastebin.com/PyJL7WuD

Debug log snippet

https://pastebin.com/GtLCJZC9

Proposed fixes

I have no idea how auras are coded. I cannot propse a useable bugfix. "Just fix aura targetting"

Edited Nov 22, 2020 by Gunging
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking