Badassified Enderdragon

Discussion in 'Archived: Plugin Requests' started by IdealIdeas, Mar 25, 2013.

  1. Offline

    DeMaggo

    You explained that well enough for me. If fireballs are not thrown, you may not be in his watching angle (90°) or the dragon was unloaded again. I've had a hard time working on this and it still makes me angry.
     
  2. Offline

    IdealIdeas

    Ya the dragon flew out of sight.

    Is it something to do with chunks not loading?
    Maybe since the end is pretty small in size is there anyway that when a player is in the end the chunks with land are force loaded? Would that perhaps prevent the dragon from disappearing? Though im not sure how much lag that would give, my server is kinda small.

    Or is there anyway to force the chunk in the dragons travel direction to load before he enters it?

    Or is it just the fact that once he leaves your sight he disappears and has nothing to do with chunks?
     
  3. Offline

    DeMaggo

    The problem is that as he flies out of sight range, he is temporarily not shown to players. The mistake that bukkit makes here, is that it tells the plugins that the dragon is dead or despawned at this point, which is simply not right.
     
  4. Offline

    thewalkingblock

    This project looks awesome :) Please post it on bukkit dev
     
  5. Offline

    IdealIdeas

    it is on bukkit dev.
    http://dev.bukkit.org/bukkit-plugins/badass-dragons/

    Well I hope there is a workaround for this.
    Would reloading the plugin fix this problem when the dragon leaves the area? Because then maybe you could make the plugin reload every few seconds when the game says the dragon isnt within sight of a player.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  6. Offline

    DeMaggo

    If I did this, the plugin would keep reloading when the dragon is actually dead. It's a bit more complicated: My objects point to the dragon saying "this is mine". Now as the dragon flies out of range my plugin tries to find out the dragons hitpoints if he exists. If it would check for the hitpoints without checking for existance ("isValid()"), you'd have an error spam in your console, but the dragon is still being unloaded once the check didn't work. The isValid() method is the problem. I also got that problem with my MegaCreeps plugin.
     
  7. Offline

    IdealIdeas

    Couldnt you make a flag that tracks its health? then when the dragon leaves existence the plugin will stop updating health flag and check to see its current health level by using the flag. If the health level flag is 0 the plugin will continue to behave normally. If the health level flag is greater than or equal to 1, the plugin will reload itself every few seconds until it determines that the dragon is within range of a player and no longer needs to reload itself.
     
  8. Offline

    DeMaggo

    I tried virtually everything by now. They simply messed it.
    Instead of properly handling the entities in unloaded Chunks, they despawned the old ones and create new ones without any events firing. I don't see a way to properly bypass this without performancekillers.
     

Share This Page