Inactive [MECH]Thermostat 0.1.3 - The Temperature Effects Plugin [766]

Discussion in 'Inactive/Unsupported Plugins' started by PopeUrban, Mar 7, 2011.

  1. Offline

    PopeUrban

    Thermostat 0.1.3 - The Temperature Effects Plugin
    Version: v0.1.3

    Originally designed as a "liquid control" for our warfare server, Thermostat endeavors to add a fully featured environmental temperature system to your minecraft server.

    The initial release is a fully functioning height based liquids modifier. Additional planned functionality can be summarized in the TODO section (in order)

    Thermostat is designed to increase the difficulty of SMP by adding a gameplay balanced and logical temperature system to bukkit servers. With this in mind, please remember that Thermostat's ongoing design is compared against a vanilla server implementation, though I will endeavor to make each feature as configurable as possible.


    Features:
    • Configurable altitude based fluid temperature effects for WATER and LAVA
    • placed LAVA above the defined cooling threshold will instantly cool in to COBBLESTONE
    • placed WATER above the defined freezing threshold will instantly freeze in to ICE
    • ICE above the freeze threshold will not melt when broken. It will in stead return an ICE block
    • Affects only placed fluids from buckets or the inventory (natural hot springs/lava wells are unaffected)
    • Does not affect STATIONARY fluid variants (if admins need to place natural liquids at illegal heights)
    • Configurable via config.yml
    Download Thermostat 0.1.3
    (Source code is in the .jar, feel free to decompile!)

    Installation
    Simply unpack the contents of the .zip file to your plugins directory.
    Edit the config file if necessary. (It should be self explanitory)
    Have fun!


    Changelog:
    Version 0.1.3
    Version 0.1.2
    • Fixed compatibility issues with worldguard, travelportals, and a lot of other plugins!
    Version 0.1.1
    • Fixed annoying null pointer spam in server console.
    Version 0.1
    • Initial release!
    TODO (in the following order):
    • Add snow seeding at and above freeze altitude (by popular demand!)
    • Integrate equipment rules/damage for temperature zones. (leather is warm, metal may be TOO warm)
    • Add 'scald depth' temperature zone
    • Add Biome/sunlight temperature rules
    • Add fire/ice temperature zone modifiers (to create central heating and air in difficult climates!)
    • Multiworld support
    • Admin override support (Groupmanager, Bukkit's implementation, or whatever is popular at this point.)
    Known Issues:
    • May conflict with other plugins that modify blocks. If you have a compatibility problem please report it here so I can see about a fix!
    Special thanks!
    • NathanWolf, for general plugin advice!
    • Nohup, For helping me iron out the ice break event, and some compatibility issues.
     
    Maxwolf Goodliffe likes this.
  2. Offline

    Nohup

    No problem man, will let you know when I hear back on that other issue
     
  3. Offline

    PopeUrban

    Updated to 0.1.1

    (Fixed a null pointer issue in player item handler)

    You should no longer be constantly spammed every time a player right clicks out of range of a block XD
     
  4. Offline

    davr

    Is it all based on altitude? Eg if I'm very high up, placing water or lava would instead place ice or cobblestone? I assume it's not based on the biome temperature, since I see that mentioned in the TODO?

    Thanks
     
  5. Offline

    PopeUrban

    Yes, it's currently all based on altitude. The altitude settings in the config file determine the threshold for lava cooling, and water freeze.

    I'm hoping to add biome functionality after I have the basics for the equipment rules set up.

    Basically, you'll end up with similar config options on a per biome basis, However the biomes themselves should carry specific temperature adjustments for the equipment/damage rules that have effects other than block replacement.

    For instance, wearing too much metal at extremely low depth (near lava) will cause slow scald damage over time, as well as wearing too much metal in desert biomes when exposed to sunlight.

    Similarly, neglecting to wear warm clothing (leather) at freeze height, or above sea level in snow biomes has a similar effects rule, conferring a slow DoT effect due to frostbite.

    The biome systems are kinda persuant to the termperature override effects, as I don't want users risking freezing to death before I've added temperature fields to ice and fire, as otherwise there would be no way to prevent that damage in your house/spawn base, so getting killed in a difficult climate could result in a no win situation where you respawn, and eventually die due to temperature effects before you can put together new gear to counteract the weather.
    [MERGETIME="1299753449"][/MERGETIME]
    QA'd for bukkit 527
     
  6. Offline

    gilliganxl

    should add snow appears at certain altitudes too.
     
  7. Offline

    SeeD419

    Quoted for justice.
     
  8. Offline

    MizLiv

    I support snow on tall mountains! Let it be heard!
     
  9. Offline

    oOunrealOo

    this wouldent be possible because you cant put mods in multiplayer only pluggin this would be a mod because snow does not happen naturally on minecraft
     
  10. Offline

    PopeUrban

    Updated to 0.1.2:
    Reworked priority and blocks code to fix compatibility issues with other plugins!

    Snow DOES occur naturally in minecraft. In snowy biomes. The same way ice occurs on water in the same biomes. This is how you get snowballs (with a shovel) to make snow blocks.

    Who am I to deny the people their snow? This is a fine idea and a bit easier to write than the equip rules I'm working on, so I'll do the snow system first!

    Essentially, snow will random seed at and above the set freeze altitude, and will only do so in the dark. Think of it as a sort of reverse grass creep... kinda. The difference being that snow won't creep from block to block in the manner that grass does, but in stead appear a bit more randomly.

    What this means is that structures built at and above the freeze altitude, trees, etc. will naturally accumulate snow over time. I'm looking in to sunlight checks to ensure the snow doesn't accumulate in places it shouldn't (like caves or your living room)

    This ALSO means that when exploring you're not likely to find amazing snow capped mountains as new chunks generate until there's some better documentation on bukkit's new-ish custom chunk generation functionality (for I am not brave enough to lead the charge there) but as you settle in to an area, or players spend time there the snow will accumulate.

    Expect an update some time this week... early next week at the latest!
    [MERGETIME="1300098886"][/MERGETIME]
    QA'd for build 531.
     
  11. Offline

    Aeleas

    Link is broken. [creeper]

     
  12. Offline

    PopeUrban

    Whoops! forgot to change the link when I uploaded the new version! fixed it!
     
  13. Offline

    Tulips

    Works great, although the water is 1 off :/ i have freezing set to 90 and at 91 it didnt freeze lol it was normal (idk how off it is, i just put it at 91 and it didnt freeze but i went to like 110 and it froze)
     
  14. Offline

    PopeUrban

    Are you using Minecraft's f3 debugging for heights? That display is actually off of "real" coordinates on the vertical axis by one point. This is because the display gives coords for the height your head is at, and players are two blocks tall. Thus, if you set it to 91, and your f3 coordinates say 91, you're actually standing on 90.
     
  15. Offline

    MuddyFire

    Great plugin! Any way to convince you to throw the code onto github?
     
  16. Offline

    PopeUrban

    Probably with the next update. Sorry that hasn't happened yet guys, real life stuff kinda had to take priority all of a sudden. Muddy, if you want to have a look at how it's written, fork it, improve it, whatever, feel free to decompile the .jar for now.

    I'll be getting back to that feature list just as soon as I get a free minute!
     
  17. Offline

    Nytemare3701

    *poke*
    Any chance of source or an update to 670?
     
  18. Offline

    PopeUrban

  19. Offline

    Plague

    considered inactive
     
  20. Offline

    PopeUrban

  21. Offline

    firewalled

    Ah cool with 740 support!
    I'll give it a go a bit later and let you know how it works out
     
  22. Offline

    PopeUrban

    QA'd for Recommended build 766.

    We're fine here.

    Quick development update:

    My initial attempts at a snow system were fairly well halted when minecraft got actual weather, had to start over a bit. Basically, it began to get really counterintuitive to have randomish height based snow spawning (which worked, but had the problem of snowing inside caves/houses/etc.) without actual snow particles from the weather.

    One of my biggest concerns with this plugin is that it fits in a logical and fun way with a vanilla minecraft implementation, and the idea of spawning snow in some situations without it actually snowing was, to be honest, annoying and rather immersion breaking once it actually started snowing in minecraft again. Because minecraft has precipitation now, there was no way I was just going to arbitrarily throw around snow without using the actual weather systems.

    So basically, I threw it out.

    Now here's the problem:

    What I'd like to do:
    Convert precipitation to snow above freeze altitude.

    Why I can't:
    Precipitation events, as far as I've been able to figure them out, are all mutually exclusive on a chunk by chunk basis. In order to get that height-based-snowfall working properly you'd essentially have to be able to completely rewrite the way weather works in minecraft.

    The Compromise:
    What I can do is look up precipitation events and seed snow above the freeze altitude anyway. This would look pretty freakin' weird as if you actually climbed up there during a rainstorm you'd see rain, and the result would produce snow.

    What I still need to figure out to get it in a release state:
    As you folks might know, I am not the world's best programmer. My job really only requires me to write simple formulaic statements for animation controllers so a big part of this plugin is the act of writing a more complex integrated system in order to better understand efficient methods of doing such things. Not only that, it was something I needed for our server that didn't exist, so I figured I'd kill two birds with one stone. If I was half as awesome as say fullwall, Phaed, or some of the other plugin authors around this would probably be finished already.

    I'm looking for effective and fast methods of checking simply "is this block open to the friggin' sky" to control the snow spawning. Once I get this bit ironed out, snowy mountaintops everywhere, but only as often as it rains. For now you'll have to use your imagination if you're that high and pretend its snowing up there until we either have some integrated clientside support (most likely scenario) or the way minecraft weather works changes (probably impossible scenario)
     

Share This Page