Glitchfinder / EnderSpawn

A bukkit plugin that manages Enderdragons in The End.
GNU General Public License v3.0
5 stars 3 forks source link

Announce kill #3

Open xoxfaby opened 12 years ago

xoxfaby commented 12 years ago

This is not an issue but a feature request

Really simple, whenever the dragon is killed, the name of the player who killed it is announce ( "Herp Derp just killed the enderdragon [and it took him x minutes] ) (maybe time from first hit within the last 15 minutes to now) or announce all players who fought the dragon, maybe only announce all players who dealt more than x% damage, (maybe 20% )

Glitchfinder commented 12 years ago

I'm sorry about not doing much about this over the last week and a half. Between a new semester of college, hitting the busiest time of year at my job, and getting my house fumigated, I was kind of short on time. I should have some time that I can spend on a feature like this over the next week or so. However, to clarify, your feature request was the following:

  1. At the most basic, an announcement stating "[PLAYER] just killed the EnderDragon!", where [PLAYER] is the name of the person to deliver the final blow.
  2. Possibly have the ability to track how long it took to kill the EnderDragon, and add that to the announcement.
  3. Possibly announce all players who damaged the enderdragon.
  4. Possibly limit the above list to those who dealt a certain percentage of damage or more.

If so, let me give a bit of information on the above.

For (1), it would be fairly easy to implement, it just involves a new config option to enable and disable, as well as a small addition to the tracker. For (2), it involves a basic amount of work, depending upon how deep I want to delve into the subject. At the most basic, it just requires a new event to be tracked, although I could incorporate far more detail, which would involve far more work. For (3), it would involve further expansion of the previous point, along with resetting the list if the dragon is despawned due to no players being in the world. For (4), it would required further expansion to (3), but that expansion would be minimal. All in all, the easiest point is (1), the most variable and potentially most complex is (2), and, depending on how (2) is implemented, (3) and (4) may be of varying difficulty as well. Further, points (2) through (4) all have the potential to add a bit of overhead to the plugin that, on busy servers, may be the tipping point that causes it to no longer be a viable plugin.

Sorry for going into so much detail, I just wanted to clarify your request, and sort of set a basic road map for me to come back to later. As it stands, I certainly have no time for this tonight, nor will I in the next couple of days. I have to finish cleaning up the house and making certain that everything is completely safe, so that none of the pets get hurt by potential remnants from the fumigation. Plus, it's the perfect reason to actually clean.

xoxfaby commented 12 years ago

Yeah, that's basically the request. Does the enderdragon actually despawn and then respawn a completely new one? (with new, full health?)

xoxfaby commented 12 years ago

Oops, wrong button.

Glitchfinder commented 12 years ago

It does, but only if the chunk it is currently in is despawned. This is to prevent multiple enderdragons from showing up due to it flying outside the area that is always active.

Glitchfinder commented 11 years ago

All right, so I've started actually working on this feature request as well as one from the bukkit thread. On top of that, I've decided to track the dragons to keep their health consistent when people leave the world and come back. However, I've run into a bit of a problem with that. Specifically, how to track multiple dragons per world. I'll probably be a couple of days in updating this, due to both the fact that I have to solve this issue in a stable, consistent way, and the fact that I still have very little time to code. That said, I already have the configuration and data storage portion of both of these updates fully set up, so it's mostly a matter of implementing the tracking and then implementing the actual effects of the tracking.