[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

    Arcwolf

    If you are talking about the video you will have to ask ValBGaming that question. If you want my texture pack from the screen shots then unfortunately its unavailable because its a custom compilation. Reason being, several of the authors do not want their works redistributed. I recommend looking around the minecraft forums for Misa hd texture pack. I simply recolored and added, or changed a few textures. And mixed that with a few other hd texture packs. Misa was the base texture pack though.

    Thanks for posting, glad you like it.
     
  3. Offline

    gameguy27

    How hard would it be to just have all furnaces placed be Lava Furnaces?
     
  4. Offline

    Arcwolf

    Well, lets think about that for a second. Since a lava furnace is using a furnace block in its construction; How would you know that a user is creating a lavafurnace or not? How would you block creating any other furnace without also blocking the creation of a lavafurnace? Almost a chicken or the egg problem there.

    The ONLY way I can think of doing something like that would be to catch when a user attempts to place a furnace block. Then instead of placing the furnace block, spontaneously create an entire lava furnace construction at that spot. That could cause a lot of problems. You would have to respect other constructions. You would also need to make sure there is enough space to place a lava furnace. You need to make sure the user has enough building materials to create the furnace... etc etc...

    Time consuming... tedious to say the least, but hard? hmmm, no, maybe moderate difficulty. The problem isnt really getting it to work. The problem is getting it to work right.

    I get the feeling you are asking that be added to a TODO list?

    Hmmm... I'll have to think about it.
     
  5. Offline

    Arcwolf

    Updated for version 1060 Bukkit. This version will only work right with version 1060 because of some bug fixes the bukkit team implimented. The work arounds I had to do no longer are needed and indeed will cause problems if you use 1.38 on bukkit 1060.

    So, disclaimer out of the way then :)

    Here is the changelog:

    version 1.4
    added the ability to set a cook time per user.
    added the following ingame and console commands:
    /lfadd <username>
    /lfrem <username>
    /lfset <username> <itemname or itemid> <multiplier 1 - 4>
    /lflist <username>
    added the following permissions
    lavafurnace.admin.lfadd
    lavafurnace.admin.lfrem
    lavafurnace.admin.lfset
    lavafurnace.admin.lflist
    lavafurnace.player.lflist
    added config option to allow console commands.
    Per player cook time settings override global cooktime setting for lavafurnaces in config.
    added per item cook time for per player cook time
    valid items for use in /lfset are as follows:
    cobblestone, sand, goldore, ironore, log, diamondore, cactus, pork, porkchop, rawporkchop, clay, fish, rawfish. 4, 12, 14, 15, 17, 56, 81, 319, 337, 349
    fixed bug in lava block detection
    fixed bug in door reset method for furnaces using 44 or 43 block types
    fixed bug in furnace reset method

    The biggest change aside from the bug fixes was the addition of admin commands to set per player and per item cook times. From 1 to 4x normal speed. Here is a list of the accepted items that can be used in the /lfset command:

    cobblestone, sand, goldore, ironore, log, diamondore, cactus, pork, porkchop, rawporkchop, clay, fish, rawfish. 4, 12, 14, 15, 17, 56, 81, 319, 337, 349

    Ok, so there you go, post bugs if you find them. Enjoy!
     
  6. Offline

    gameguy27

    I mean all furnaces act like lava furnaces. Or is that not possible? I want all normal furnaces to have lava furnace behaviors. If its not possible don't worry about. Either way this is a great plugin and I've used it a lot. ^_^
     
  7. Offline

    Arcwolf

    Yes it would be possible and no I wont be adding that as a feature. A lava furnace is a very powerful furnace. It has the ability to seriously damage an economy. So, making it as easy to obtain as simply plopping down a furnace block is not something I wish to do. The requirements of having obsidian, glass, cobblestone stairs and a furnace block all offset this advantage. I look at lavafurnace as more of a reward. If you've managed to gather the resources necessary to create the forge then you've earned it.

    You might be looking for something more like dwarf forge instead.

    In any case, I'm glad you like it and get use out of it.
     
  8. Offline

    zgrillo2004

    Found an issue with this and I dont know if Im doing this right. I constructed the furnace, activated it by putting up the sign. it turns on like normal but the only problems is that when I put Iron in the supply chest, it doesnt transfer the resources to the furnace automatically. and its getting frustrating. I am using Bukkit 1060 with Permissions 2.7.3
     
  9. Offline

    Arcwolf

    Did you enable production chests in the config? It is turned off by default.

    allow_production_chests=true

    also to use large chests instead of just single chests

    use_large_chests=true
     
  10. Offline

    DJ411

    this would be cool as a single player mod... js
     
  11. Offline

    zgrillo2004

    No I have not. ill try that out
     
  12. Offline

    Joy

    Getting nasty errors, and I checked, no one was actually doing anything with a Lava furnace:

    Code:
    12:02:18 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to PistonProtect
    java.lang.ClassCastException: org.bukkit.material.MaterialData cannot be cast to org.bukkit.material.PistonBaseMaterial
            at org.bukkit.event.block.BlockPistonEvent.getDirection(BlockPistonEvent.java:41)
            at org.bukkit.event.block.BlockPistonExtendEvent.getBlocks(BlockPistonExtendEvent.java:37)
            at me.Ghappy.PistonProtect.PPBlockListener.onBlockPistonExtend(PPBlockListener.java:32)
            at org.bukkit.plugin.java.JavaPluginLoader$43.execute(JavaPluginLoader.java:540)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:70)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:47)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:450)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.World.update(World.java:418)
            at net.minecraft.server.World.setData(World.java:360)
            at net.minecraft.server.BlockLever.interact(BlockLever.java:154)
            at net.minecraft.server.BlockLever.b(BlockLever.java:130)
            at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:76)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:478)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:453)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    12:02:18 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to LavaFurnace
    java.lang.ClassCastException: org.bukkit.material.MaterialData cannot be cast to org.bukkit.material.PistonBaseMaterial
            at org.bukkit.event.block.BlockPistonEvent.getDirection(BlockPistonEvent.java:41)
            at org.bukkit.event.block.BlockPistonExtendEvent.getBlocks(BlockPistonExtendEvent.java:37)
            at plugin.arcwolf.lavafurnace.Listeners.LFBlockListener.onBlockPistonExtend(LFBlockListener.java:59)
            at org.bukkit.plugin.java.JavaPluginLoader$43.execute(JavaPluginLoader.java:540)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:70)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:47)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:449)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:450)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:446)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:49)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:286)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:445)
            at net.minecraft.server.World.update(World.java:418)
            at net.minecraft.server.World.setData(World.java:360)
            at net.minecraft.server.BlockLever.interact(BlockLever.java:154)
            at net.minecraft.server.BlockLever.b(BlockLever.java:130)
            at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:76)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:478)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:453)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    12:02:18 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to PistonProtect
    java.lang.ClassCastException: org.bukkit.material.MaterialData cannot be cast to org.bukkit.material.PistonBaseMaterial
            at org.bukkit.event.block.BlockPistonEvent.getDirection(BlockPistonEvent.java:41)
            at org.bukkit.event.block.BlockPistonExtendEvent.getBlocks(BlockPistonExtendEvent.java:37)
            at me.Ghappy.PistonProtect.PPBlockListener.onBlockPistonExtend(PPBlockListener.java:32)
            at org.bukkit.plugin.java.JavaPluginLoader$43.execute(JavaPluginLoader.java:540)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:70)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:47)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:450)
            at net.minecraft.server.World.update(World.java:418)
            at net.minecraft.server.World.setTypeIdAndData(World.java:402)
            at net.minecraft.server.TileEntityPiston.g_(TileEntityPiston.java:99)
            at net.minecraft.server.World.cleanUp(World.java:1143)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:449)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    12:02:18 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to LavaFurnace
    java.lang.ClassCastException: org.bukkit.material.MaterialData cannot be cast to org.bukkit.material.PistonBaseMaterial
            at org.bukkit.event.block.BlockPistonEvent.getDirection(BlockPistonEvent.java:41)
            at org.bukkit.event.block.BlockPistonExtendEvent.getBlocks(BlockPistonExtendEvent.java:37)
            at plugin.arcwolf.lavafurnace.Listeners.LFBlockListener.onBlockPistonExtend(LFBlockListener.java:59)
            at org.bukkit.plugin.java.JavaPluginLoader$43.execute(JavaPluginLoader.java:540)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:70)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:47)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:450)
            at net.minecraft.server.World.update(World.java:418)
            at net.minecraft.server.World.setTypeIdAndData(World.java:402)
            at net.minecraft.server.TileEntityPiston.g_(TileEntityPiston.java:99)
            at net.minecraft.server.World.cleanUp(World.java:1143)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:449)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    12:02:18 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to PistonProtect
    java.lang.ClassCastException: org.bukkit.material.MaterialData cannot be cast to org.bukkit.material.PistonBaseMaterial
            at org.bukkit.event.block.BlockPistonEvent.getDirection(BlockPistonEvent.java:41)
            at org.bukkit.event.block.BlockPistonExtendEvent.getBlocks(BlockPistonExtendEvent.java:37)
            at me.Ghappy.PistonProtect.PPBlockListener.onBlockPistonExtend(PPBlockListener.java:32)
            at org.bukkit.plugin.java.JavaPluginLoader$43.execute(JavaPluginLoader.java:540)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:70)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:47)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:450)
            at net.minecraft.server.World.update(World.java:418)
            at net.minecraft.server.World.setTypeIdAndData(World.java:402)
            at net.minecraft.server.TileEntityPiston.g_(TileEntityPiston.java:99)
            at net.minecraft.server.World.cleanUp(World.java:1143)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:449)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    12:02:18 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to LavaFurnace
    java.lang.ClassCastException: org.bukkit.material.MaterialData cannot be cast to org.bukkit.material.PistonBaseMaterial
            at org.bukkit.event.block.BlockPistonEvent.getDirection(BlockPistonEvent.java:41)
            at org.bukkit.event.block.BlockPistonExtendEvent.getBlocks(BlockPistonExtendEvent.java:37)
            at plugin.arcwolf.lavafurnace.Listeners.LFBlockListener.onBlockPistonExtend(LFBlockListener.java:59)
            at org.bukkit.plugin.java.JavaPluginLoader$43.execute(JavaPluginLoader.java:540)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:70)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:47)
            at net.minecraft.server.World.k(World.java:470)
            at net.minecraft.server.World.applyPhysics(World.java:450)
            at net.minecraft.server.World.update(World.java:418)
            at net.minecraft.server.World.setTypeIdAndData(World.java:402)
            at net.minecraft.server.TileEntityPiston.g_(TileEntityPiston.java:99)
            at net.minecraft.server.World.cleanUp(World.java:1143)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:449)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
  13. Offline

    Lolmewn Retired Staff

    @Joy looks like a loop.
    @ the dev: I thought MaterialData was how broken a sword was, or something like that.
    Don't think that's the same as a PistonBaseMaterial.
     
  14. Offline

    Arcwolf

    From what I've seen this is an error with bukkit. I'm not casting to anything in lavafurnace. My plugin in this case is the victim. I would recommend that until bukkit gets around to being fixed, disabling piston protection in the config. That will disable all the code for pistons in lavafurnace and get rid of the lavafurnace generated errors.

    piston_protection=false

    Note:
    Just as a note I believe what would be causing this is bukkit is trying to see what a piston is doing but that its not actually there. IE its outside of all loaded chunks. Its there but its not. So since its not there bukkit cant cast to a block. Hence the class cast exception. I cant prevent it to sum up what I'm saying.

    https://github.com/Bukkit/Bukkit/bl.../org/bukkit/event/block/BlockPistonEvent.java

    Line 41 is where the problem is.

    also, me.Ghappy.PistonProtect.PPBlockListener.onBlockPistonExtend(PPBlockListener.java:32) Thats not my plugin... Piston Protect? From your log it was the first sign of trouble then my plugin sort of choked too.

    @Lolmewn

    MaterialData I think returns data about anything which has data associated with it. Could be a sword could be a log or in this case could be a pistons direction. In any case its correctly being cast its just not taking into account the fact that an object might return something unexpected.
     
  15. Offline

    Arcwolf

    http://dev.bukkit.org/server-mods/lavafurnace/
    version 1.41
    compiled with BRB#855 and tested against CBRB#1185
    refactored, cleaned and reworked code
    fixed bug in user counter when disabling plugin. Cosmetic only.
    updated for minecraft v1.8
    blocks 108, 109 now valid for construction
    blocks 44:4, 44:5, 44:6 now valid for construction for belt blocks and layer one blocks. not layer 2 or three due to a work around for mcmmo that will need re-examined and re-coded
    chest processing updated to allow stacking of food items.
    fixed a severial multiworld errors in furnace detection
    HardCode prevented Enderman from picking up lavafurnace blocks.

    NOTE: Enderman protection is locked into Release build 1185 and will be disabled for all other versions unless debug level 7 is used. Notch has stated that Endermen will be nerfed in future versions and so it is most likely that the methods used to block enderman pickups will be deprecated or removed in the future. That would break lavafurnace if and when that occurs.
     
  16. Offline

    jeroende2e

    If this is awesome?
    YES
     
  17. Offline

    Arcwolf

    I think it is, but then, I'm not impartial. lol
     
  18. Offline

    Xordaii

    Me either :D
    It IS awesome, and definitely one of the first ones I load up when I reload the server.
     
  19. Offline

    dragoon_103

    when i make a lava furnace it wont take mats out of the supply chest and put it into the furnace. am i doing anything wrong or is it bugged with the new 1.8 animations?
     
  20. Offline

    Arcwolf

    Animations have nothing to do with taking materials out of the supply chest. You do have to make sure you have supply chests enabled in the config though.

    allow_production_chests=
    (this accepts either true or false values)
    (True enables production chests)

    allow_freeforall_chests=
    (this accepts either true or false values)
    (True will disable LavaFurnace permissions checks for opening chests only)

    use_large_chests=
    (this accepts either true or false values)
    (if set to true lavafurnace will use large chest capacity)

    lavafurnace.chests

    would be the permission for that feature.
     
  21. Offline

    dragoon_103

    awsome thanks i thought i broke it cause im a newb lol
     
  22. Offline

    nutlnw7410

    i got this error in bukkit 1185
    Code:
    2554-09-24 16:18:59 [SEVERE] Could not pass event SIGN_CHANGE to LavaFurnace
    java.lang.IncompatibleClassChangeError: Expecting non-static method org.anjocaido.groupmanager.GroupManager.getWorldsHolder()Lorg/anjocaido/groupmanager/dataholder/worlds/WorldsHolder;
        at plugin.arcwolf.lavafurnace.LavaFurnace.playerCanUseCommand(LavaFurnace.java:200)
        at plugin.arcwolf.lavafurnace.Listeners.LFBlockListener.onSignChange(LFBlockListener.java:472)
        at org.bukkit.plugin.java.JavaPluginLoader$35.execute(JavaPluginLoader.java:483)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1045)
        at net.minecraft.server.Packet130UpdateSign.a(SourceFile:41)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    it conflict with groupmanager?
    and this is properies file
    Code:
    Version=1.4
    Config created: 2011/09/24 16:18:33
    #
    # Lava time from 1 to 2147483647
    # Coal = 1600  LavaBucket = 20000
    #
    lava_furnace_timer=102400
    #
    # 1 to 4 times normal speed
    #
    cook_timer=2
    #
    infinite_lava=false
    #
    max_player_furnaces=1
    #
    allow_production_chests=true
    #
    allow_freeforall=false
    #
    allow_freeforall_chests=false
    #
    use_large_chests=true
    #
    explosion_proof=true
    #
    piston_protection=false
    #
    console_commands=false
    #
    ################################
    #    Furnace Block Settings    #
    ################################
    layer_one_blocks=49:0
    layer_two_blocks=49
    layer_three_blocks=49
    belt_blocks=67:0
    door_block=20:0
    ################################
    #
    # Debug levels 1 to 6
    #
    Debug=0
    
     
  23. Offline

    Arcwolf

    Why are you using version 1.4 with bukkit 1185? Version 1.41 is designed for bukkit 1185. version 1.4 is only for bukkit 1060. Also, groupmanager is what was used in the developement and testing of lavafurnace. I've never once seen that error in the 100+ hours I have used and tested this plugin. I'm therefor led to believe its your version missmatch thats the problem. Try version 1.41 and see what happens.
     
  24. Offline

    Wicky

    I think I found something odd..

    This plugin seems to conflict with Safe Creeper's block Enderman pickups function (maybe the hardcoded protection you mentioned). Enderman just grabs blocks like normal with this plugin on. I used a newer plugin called EndermanPickup v0.1 which does block it like normal, even with Safe Creeper on.
     
  25. Offline

    Arcwolf

    Interesting, fixed, try 1.42. That should work like I intended.
     
  26. Offline

    bradzab1123

    I tried to use this plugin on a 1.8 server and the production chests didn't work. I installed the plugin right and I set 'use production chests' to 'true'.
     
  27. Offline

    Arcwolf

    I dont know whats wrong on your end but they are working fine for me. I am using 1.42, I have permission to build chests and have the config correctly set up. I have 4 furnaces freshly built and facing all 4 directions. I have then tested with small and large chests. 5 fish in each large chest in random inventory spots all went into the furnace. Cooked and were each placed in the finished chest. Production chests work correctly on my end, no special setup required.
     
  28. Offline

    bradzab1123

    I don't have any permissions set up on my server, but I am an OP.
     
  29. Offline

    Arcwolf

    That shouldnt be a problem. If it was a permissions issue it wouldnt even let you place production chests. You would know immediately because it would warn you. I wouldnt just not work.

    The error would read exactly as follows:

    The magic resists your attempts to place this...
    Only the truly powerful can attempt this...

    So, if you are not seeing that then your problem is not permissions. OPs are admins in the eyes of this plugin. If you are an OP then you can do anything permissions wise with this plugin. No restrictions.

    Are you using the default lavafurnace configuration. IE obsidian, cobblestone stairs, glass block. Does your setup look like the photo in the first post of this thread?
     
  30. Offline

    Lanciens

    I use this plugins on my bukkit server and it's work all fine except for production of food it don't take food, like the other materials like iron ore or gold ore, I have to place it manually. Don't ave any permission but I'm an OP and Production chest are set on true. What's wrong ?
     
  31. Offline

    oglop

Share This Page