[FUN/MECH] Lava Furnace - Furnaces that run on lava [BUKITDEV]

Discussion in 'Archived: Plugin Releases' started by Arcwolf, May 30, 2011.

  1. Offline

    Arcwolf

    Lava Furnace - Furnaces that run on lava:

    The basic idea of this plugin is to allow players to create a furnace that will run on lava but not consume buckets. It allows for customization by admins for fuel burn time, cook time, per player cook times and amount of furnaces per player. It is by default pretty balanced, but is customizable by admins for personal preference in balancing or even cheating if you so choose.

    Features:
    • User created Furnaces that consume only the lava not the bucket
    • Also can be used with regular fuel sources through the Minecraft furnace interface.
    • Potential to create infinitely fueled furnaces via config file
    • Can set furnace burn times up to 2147483647 via config
    • Can set furnace cook times from 1 to 4 x normal speed via config
    • Can define the blocks a furnace is created from via config
    • Works with multi-worlds
    • Permissions via PermissionsEX, GroupManager, nijikokun based permissions, bukkit permissions or OPs
    • Lava level is easily viewable through glass door and changes with burn time of furnace
    • Optional small or large Production Chests (*based on Zarius's idea)
    • Optional Custom Smelt-ables via config
    • Production chest smelt priority from TOP LEFT to BOTTOM RIGHT
    • Per user cook times, per item cook times from 1 to 4 x normal speed via commands
    • Per player group build limits
    Tutorial Video & Review (by ValBGaming)

    Production Chest Photo:
    [​IMG]
    Alternate Chest Setup (open)

    [​IMG]

    Alternate Furnace Layouts (open)

    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    And you could just keep going with it.


    [​IMG] if you like this plugin and want to support me. Its much appreciated. :)
     
  2. Offline

    Minecraft93

    holy crap this is awesome :D!

    suggestion! make a *Arc Furnace*. when the furnace is hit by lightning it will give you instant smelted/cooked ores

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

    Arcwolf

    Version 1.0b

    Think I fixed the spitting issues with furnace inventory. There should not be any difference now between 803 server and 818 server.
     
  4. Offline

    Cup

    Exactly what my server needed, thanks.
     
  5. Offline

    Arcwolf

    Tracking some bugs in the version 1.0b

    Issue 1 with server restart and detection of furnaces broke or not. Seems to want to detect all furnaces are broke and delete them. Didnt happen in my test server. Seems to like to happen on my main.

    Issue 2 Sign detection throws a null pointer for some reason or other.

    Still early in the testing and fixes for those. Duno what is causing them yet or how to fix em. So, just fyi to anyone whom downloaded so far.

    Edit:

    Uploaded a temporary fix for the problems. Dont have time right now to properly examine and fix them. So I removed the built in delete function so furnaces cant be deleted. (without editing the database anyway)

    Just until I can get into the code and fix it correctly. I'm going to have to rethink how I was going about detecting broken furnaces now. Figures... and I tested for just this issue but it didnt show up on my test server. :rolleyes:
     
  6. Offline

    TheNander

    Ive built the furnace correctly but its still giving me the construction error.
     
  7. Offline

    Shadow771

    A cool idea would be if you built the furnace over a lava lake, it'll use that as its fuel. It'll remove 1 block of lava per 128 uses or something like that, possibly a variable. Once the lava lake has run dry you'll have to fuel it normally. This would be awesome for underground houses, simply build a furnace over a lava lake and you have an instant fuel source.
     
  8. Offline

    Arcwolf

    @Shadow771 Yea I though of that already... was actually my original idea but I couldnt figure out how to drain the lake of lava. The whole infinite lava thing stumped me. Lava lakes can take up more then a few chunks and draining a HUGE lake of lava would really impact server performance. So in the end I settled for this.

    Maybe one day when finite liquids are implemented something like the Dwarf Fortress lava furnace will be possible. (my original inspiration)

    @TheNander just to clarify, which error message?
    -> The magic is spread too thin to create another furnace...
    -> The magic does not yield to your command...
    -> Maybe something is wrong with the furnace construction???

    Because I've really... REALLY tested that out. For over a week actually and the plugin is damn good at detecting an incorrect furnace. In fact I havent managed to stump it in over 4 days... so um, if you have a way to do it I'd like to know so I can fix it. Screen shots, a video even of it happening so I can reproduce it.

    ....


    Anyway, 1.0d is uploaded and I believe I fixed the deleting issues as well as some other stuff.

    Hope that resolves the bugs for a while. Sheesh...
     
  9. Offline

    Shadow771

    You could always limit the reach to the current chunk, or like 8 radius. And yeah, I would love actual finite liquid, something like Terraria would be nice.
     
  10. Offline

    Manbeast77

    Could you make this default to OP if permissions are not on the server please?
     
  11. Offline

    TheNander

    Alright. and it was "-> Maybe something is wrong with the furnace construction???"
    EDIT: Its actually The Magic does not yield to your command. I'm the admin and have the '*' Node
     
  12. Offline

    Arcwolf

    The nodes are case sensitive. Although, I might have to modify that if people are having trouble with it.

    I use the '*' node to for admin and it works for me . What version of permissions plugin are you using so I can test against that.

    This plugin was built with GroupManager 1.0(pere-alpha-3) and so should be compatible with nijikokun's permissions as well.
    Code:
     Admins:
        default: false
        permissions:
        - '*'
        inheritance:
        - semiadmin
        info:
          prefix: ''
          build: false
          suffix: ''
    Thats what my groups.yml looks like for Admins. I tested the whole plugin with the above permissions for nearly its entire development.

    I'll see about adding in some debugging for that later today and maybe we can work something out.
     
  13. Offline

    Joy

    Cool!

    Any chance you could change smelting speed? The timer setting only changes how long 1 lava block lasts, right?
     
  14. Offline

    Arcwolf

    Correct, I thought about smelting speed already... seemed too unbalanced to add... and was a difficult to implement correctly. Seemed very error prone. Didnt feel worth the benefit. I may add it eventually but only if I can make it work right.

    @ TheNander Try out this debugging version for permissions. I've included a level 4 debug for permissions. Thats the only change. It will print out debug info in the Console when a player performs an action that is permissions enabled.

    change the debug setting in the config to 4 and let me know what the console reports when you try and build.
     
  15. Offline

    Joy

    Ok fair enough, I had the feeling it might be too buggy to implement :p
     
  16. Offline

    Manbeast77

    Any thoughts on making this default to OP if Permissions isn't installed?
     
  17. Offline

    TheNander

    I
    I'm going to update permissions and Ill get back to you.
     
  18. Offline

    Arcwolf

    I'll look into it. But it will take some time to incorporate.
     
  19. Offline

    IronWill1991

    Can you make this plugin work without permssions or group manager? I don't really like using permission. They are more trouble than it's worth especially on small server.
    EDIT: nevermind, you're working on it
     
  20. Offline

    Arcwolf

    OK, do to popular demand, fall back to OPs is implemented. v1.1 uploaded and ready for download.

    Still working on how to prevent creepers and tnt from breaking furnaces... :-/

    There, that should be it for a little while now. 1.1a has a fix for TNT/Creeper explosions :)

    Furnaces now will delete themselves from the database for TNT / Creeper explosion damaging a furnace, sign being changed with other mods... it should even properly detect if you use WorldEdit super pick on a furnace. For all those instances a furnace will be silently removed from the database and if the Sign in the front of the furnace still exists [LAVAFURNACE] will be erased.

    Now maybe I can go back to playing minecraft instead of nose to the grinder in Eclipse :p

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

    tdog158

    Thanks dude, I was going to request this but forgot to do it. Read my mind :)
     
  22. Offline

    Manbeast77

    I appreciate the extra work to make it default to OP. Thank you very much. I had too many of my players asking for this to ignore it.
     
  23. Offline

    Joy

    Got this error right after loading plugin:

    Code:
    14:48:47 [WARNING] Task of 'LavaFurnace' generated an exception
    java.util.ConcurrentModificationException
            at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
            at java.util.ArrayList$Itr.next(ArrayList.java:791)
            at org.bukkit.craftbukkit.CraftWorld.getPlayers(CraftWorld.java:541)
            at plugin.arcwolf.lavafurnace.LavaFurnace.getPlayerList(LavaFurnace.java:196)
            at plugin.arcwolf.lavafurnace.FurnaceScanner.run(FurnaceScanner.java:30)
            at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:138)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:388)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:311)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  24. Offline

    Arcwolf

    <thumps head on desk> I duno why its doing that... CME's can be hard to track down. I'll look into it. In the mean time it shouldnt cause any game breaking problems. Just the occasional console spam.
     
  25. Offline

    Joy

    Well, tbh, I don't know if it's related, but our tickrate seems to crash when I enable this plugin, it's difficult to test reliably, but that seems to be what's happening, perhaps a loop too tight, dunno :/
     
  26. Offline

    Arcwolf

    Thats troubling indeed. If you dont mind my asking, how many players on your server? I rarely have more then a handfull on my private server and I havent noticed any of the issues you've mentioned.

    There is at least one loop I can think of that might be a smidgen too "tight" I can loosen it up...

    ok... I've loosened up the main thread loop about 20x slower or a ping a second instead of how it was. And moved around the potential cause for the CME you saw. It really shouldnt have done that but anyway... give this a test if you would please ;)

    Let me know your findings. I may have to be more aggressive in my changes if that does nothing noticeable.

    -Edit-
    1.1b is up for download... Made quite a few small changes here and there. I hope improve on performance. Cant really test that my self though. I dont have a Uber server full of players... so....

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

    Joy

    1.1b loaded, so far, tickrate is unaffected, so already an improvement, next up, furnace creation :p
     
  28. Offline

    Zarius

    Great plugin! :) Just an idea: could you integrate a chest (perhaps two) into the design and have the furnace take items from one to smelt and place the finished items in the other (you'd still need to refuel the furnace depending on config settings)?

    Another (crazy) idea could be to spit the smelted items out and fire off a redstone burst - you could hook this up to another chest which would spit out one stack of blocks. Water could carry the new blocks to the furnace and old blocks away, setting up a manufacturing chain of sorts.
     
  29. Offline

    Arcwolf

    Thats great to hear, I was concerned there would be no affect at all from the changes...

    :confused: wow, that would be hard core man. I duno if I'm good enough for a complex mod like that... I'll um... have to think about it and poke the code for a bit.

    We'll have to see how brave I am lol :D
     
  30. Offline

    Zarius

    Don't worry too much about my second suggestion :D But the first with two chests shouldn't be too hard I imagine (well, at first glance anyway :D)
     

Share This Page