Blowout plugin; Looking for advice

Discussion in 'Bukkit Discussion' started by NoppO, May 7, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    NoppO

    Hello Bukkit forums!

    An emission (blowout) is an event that occurs within the S.T.AL.K.E.R. series of games that kills the player and all living entities that fail to find shelter by the time of occurrence. They're marked by rapidly developing extreme weather conditions and occur relatively frequently. I am in the process of developing a plug-in that (very roughly) simulates these events but I'm mixed on how to implement a few things. I'm looking for any programming advice and feature requests that anyone is willing to make, in addition to me continuing to research how I can achieve my goals.

    Here is a few of the features I wish to achieve:
    • Blowouts can occur 5 minutes (1/4 Minecraft day) to 40 minutes (2 Minecraft days) after a previous blowout (and upon the plug-in being enabled).
    • Blowouts can last 10 to 60 seconds, concluding with all living entities on the surface of the world being killed.
    • During a blowout the weather becomes thunderous, with more lightning than usual, setting it apart from normal thunderstorms.
    • As a blowout begins a message is displayed for the world stating that a blowout is coming and the time left for players to get into shelter.
    • Each loaded world can have its own rules regarding min and max duration, min and max cool down, and whether blowouts are allowed at all.
    I've done everything but actually start implementing the weather pattern because I don't really know how to create a timer task that executes repeatedly but for different intervals of time, nor create timers for each world and have them all running at the same time, not interfering with one-another. However, I picture the timers will work as follows:
    1. the plug-in is enabled; two timer objects are created, one for blowout cool-down, one for blowout duration.
    2. the cool-down timer is started (for time between 5 and 40 minutes by default) which upon expiring starts a blowout.
    3. the duration timer is started (for time between 10 and 60 seconds by default) which upon expiring kills everything that hasn't found shelter.
    4. upon duration timer expiration, the cool-down timer is started again and the process continues.
    I'm trying to use this project as a springboard into getting started with plug-in development (this being my first). I've only been programming since last winter and took my first formal Java and C++ programming classes this semester, so this also a large learning experience for me.

    All advice and techniques are welcome and appreciated; thanks in advance!

    I somehow managed to post this in Bukkit Discussion as opposed to Plugin Development...
    My apologies. If a mod could move this to the correct board I'd be very thankful.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
Thread Status:
Not open for further replies.

Share This Page