[MECH] CraftDispenser v1.2.4 - Use a dispenser as a Crafting table! [617+]

Discussion in 'Inactive/Unsupported Plugins' started by Nodren, Jan 31, 2011.

  1. Offline

    Nodren

    CraftDispenser - Use a dispenser as a crafting table:
    Version: v1.2.4

    Quick Links
    This plugin utilizes a dispenser as a crafting table. This means you can have custom recipes for things not normally obtainable in SMP. Check out the video for a tutorial/example of this.




    Features
    • Repair any armor or tool
    • Create hell based blocks
    • Added custom recipes, see config files for details on how to make them
    • The Non-repair recipes can be reconfigured to anything
    Roadmap
    • permissions support so not everyone can use this

    Changelog
    Version 1.2.4
    • Works with latest Bukkit
    Version 1.2.3
    • Updated for compatibility with latest Bukkit
    Show Spoiler

    Version 1.2.2

    • Updated to work with latest bukkit build
    Version 1.2.1

    • Fixed vertical recipes, thanks to ricochet1k!
    Version 1.2

    • Updated configuration, making it way more customizeable
    • You can reconfigure existing recipes. If you're upgrading from 1.1 you will need to redo your custom recipes.
    • Huge thanks to ricochet1k for all his code contributions in this release!
    Version 1.1

    • Added custom recipes
    Version 1.0

    • Initial version
     
  2. Offline

    MatCat

    On build 232 I get:
    Code:
    Feb 3, 2011 2:11:03 PM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE: Could not pass event REDSTONE_CHANGE to CraftDispenser
    java.lang.NullPointerException
            at com.echo28.bukkit.craftdispenser.crafts.Craft.checkCustomItems(Craft.java:93)
            at com.echo28.bukkit.craftdispenser.crafts.CraftConfig.make(CraftConfig.java:38)
            at com.echo28.bukkit.craftdispenser.crafts.Craft.make(Craft.java:38)
            at com.echo28.bukkit.craftdispenser.CraftDispenser.runCrafts(CraftDispenser.java:148)
            at com.echo28.bukkit.craftdispenser.CraftDispenserBlockListener.onBlockRedstoneChange(CraftDispenserBlockListener.java:26)
            at org.bukkit.plugin.java.JavaPluginLoader$23.execute(JavaPluginLoader.java:235)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:213)
            at net.minecraft.server.BlockButton.a(BlockButton.java:174)
            at net.minecraft.server.BlockButton.b(BlockButton.java:141)
            at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:23)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:329)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:71)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:283)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:209)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    
     
  3. Offline

    Nodren

    Any of your old configs will not work, you will need to update them to the new config format. If you have updated them, show me any custom ones that are not in my latest zip release
     
  4. Offline

    MatCat

    It's all vanilla, didn't change the config from whats in zip, but I will double check
     
  5. Offline

    Deklin

    The glowstone recipe doesn't seem to be working, but the netherrack one worked fine. This is a vanilla install w/ default config files. Any ideas?

    I tried it with single items in the vertical slot, as well as multiple items (e.g. 8 torches)

    but in both cases nothing happened. I'm using a pressure plate. Again the netherrack recipe worked fine
     
  6. Offline

    Tearlow

    With the new build I just received an error I've yet to come across myself. I'm running #184

    Code:
    2011-feb-04 02:39:27 org.bukkit.plugin.SimplePluginManager loadPlugins
    ALLVARLIG: Could not load plugins\CraftDispenser.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:84)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:117)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:82)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:43)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:153)
            at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:140)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:104)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:177)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
            at java.lang.reflect.Constructor.newInstance(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:82)
            ... 8 more
    Caused by: java.lang.NoSuchMethodError: org.bukkit.Material.matchMaterial(Ljava/lang/String;)Lorg/bukkit/Material;
            at com.echo28.bukkit.craftdispenser.CraftDispenser.<init>(CraftDispenser.java:73)
            ... 13 more
    @Nodren: I had the REDSTONE_CHANGE error on my #164 as well.
     
  7. Offline

    Nodren

    If you're running 184 i strongly suggest you update to the latest and tell me if the problem still exists.
     
  8. Offline

    Tearlow

    Tested #238, Starts without errors.

    EDIT: Well, that was totally painless. There is not a single problem with the actual plugin as far as "Vanilla" goes. Custom recipes working mighty fine! Most say, This looks real stable! As it seems to shoot out the output items in the direction of the dispenser itself It's possible to build in walls and what not- Brilliant!

    Potential bug? Might as well be Bukkit though. Using two redstones behind the dispenser and activating will leave the last connected redstone unlit no matter- The dispenser still does what it should though!

    EDIT 2: Confirmed bug using two different servers. The Dispenser block always face the direction of redstone after restart.
     
  9. Offline

    ricochet1k

    Yeah, Material.matchFeature was added very recently to Bukkit, so using an older build is not going to work.

    Thanks! I try to test this plugin well, so it should be pretty stable. And it now actually hooks into the dispenser's dispensing mechanism in order to deliver the items, so (I haven't tested this) it should even fire arrows if they were crafted.

    Yes, currently it causes the redstone nearest the dispenser to have no current when it's triggered. I'll have to check, but it might be possible to leave the current alone, however I believe if a line of redstone passing by the dispenser is used to activate it for crafting it will still stop the current flow. Once the DISPENSER_FIRED feature (http://redmine.bukkit.org/issues/170) is implemented this plugin should be able to work without screwing with the redstone system. In fact, I've looked into adding that event a little, and I might just go do it myself.

    That is a Bukkit bug I believe. Nothing this plugin does should mess with the direction of the dispenser.

    Yeah, you found a bug. There's an issue with all vertical recipes in the last release. They've both been fixed now, and I've tested them this time.

    Also, I've added some better error handling and useful error messages, which should be more helpful than that REDSTONE_CHANGED error having to do with old/bad config files.
     
  10. Offline

    Gesh

    Vertical Recipes still don't seem to work?? :( love the plugin btw.​
     
  11. Offline

    ricochet1k

    Sorry, I wasn't clear. Those changes I made are in the source code and will be in the next release.
     
  12. Offline

    Gesh

    Ok cheers :) will it be released today ? :)
     
  13. Offline

    Cr0no

    didnt work for me yesterday with 256 wont work for me either with today's 261 still such a great idea ! Following this :)
     
  14. Offline

    Nodren

    I'll push up a release tonight or tomorrow with ricochet1k's changes.
     
  15. Offline

    Meteo

    just a question, but how do i add this to permissions? it saids in your post, but it doesnt say how =/
     
  16. Offline

    Nodren

    Its a planned feature and isn't available yet
     
  17. Offline

    cjbh1996

    This is cool! I've always wanted a method of repairing stuff! And one quick question: What minimap is that you're using? It looks much better than the one I have.
     
  18. Offline

    Meteo

    Iam hoping that permissions get added soon, it's being abused by people D: and i only want them to have 1 not 100....
     
  19. Offline

    Nodren

    Zan's minimap mod, google it :D
     
  20. Offline

    MatCat

    Just put 1.2.1 in, putting in a diamond and a diamond tool just spits out one or the other, but does not repair.
    --- merged: Feb 8, 2011 12:35 AM ---
    Just tried custom recipes too, also not working.
    --- merged: Feb 8, 2011 12:44 AM ---
    Yeah its not working at all
     
  21. Offline

    Tearlow

    Did you Power the Dispenser? It's not the wool that is going to be powered.
     
  22. Offline

    MatCat

    Yeah I tried different redstone and button configurations. One problem I had is that I have redstone sponges plugin, so it kept turning my wool into sponges, so I changed the material type sandstone, but it made no difference either. But I did try redstoning the dispenser from all different directions, below, above, buttons in different spots, etc.
     
  23. Offline

    Tearlow

    There's the issue mate. Restone is not going to be anywhere near the wool. I added a picture with an extremely basic setup. However, I don't know if it's only on my side but redstone needs 2x straight line to it's object for it to work. This could be something on my side though but try building the same basic set as mine and give it a try, and let's hope that'll do. (I too run Redstone sponge, and darn is that plugin buggy)
     

    Attached Files:

  24. Offline

    Nodren

    You will also know it's working if the last redstone before the dispenser does not light up
     
  25. Offline

    ricochet1k

    I have a setup with a button underneath a block next to the wool with redstone on top that is able to trigger the dispenser to craft, I didn't need two of them. In fact, I was able to trigger the dispenser normally as well by putting the redstone on top of a block next to the dispenser. I'm not sure if this was intended behavior, my understanding is that it was supposed to replace the dispenser's functionality, in which case that should be altered.

    If you have a public SMP server with this plugin and give me the necessary items, I can connect and show you how it works.
    --- merged: Feb 8, 2011 6:56 AM ---
    Do you have a suggestion for how this should work? Dispensers are triggered by redstone, not by people, so they could even be triggered by a clock circuit. How would you know who made the circuit?

    The only way I can think of is to have to add a command that specifically marks a dispenser for crafting so only certain people can make them, but I don't want to add anything like that, and it doesn't really solve the problem anyway.

    The point of this plugin is to enable people to craft new things that wasn't possible before. If you want to make custom recipes more expensive, you can require more than one of some of the items in the slots, like in the very simple dirt.yml recipe.
     
  26. Offline

    Gesh

    Does not seem to work for me anymore, it just takes the materials and does not give me anything back :S
     
  27. Offline

    MatCat

    Ok I just did a bunch of testing and can confirm its not working...

    First I changed the material in the config to sandstone, this makes no difference as it still only works when its wool. I tried the configuration shown above, it did not work, redstone would not travel to the block if I put a diamond and a damaged pickaxe, and nothing spit out. I tried the custom recipes included as examples and everytime it just takes the blocks and gives nothing back.
     
  28. Offline

    ricochet1k

    Redstone will not travel to the block when it's working. It shouldn't be taking your items because the repair recipe needs a diamond, a diamond tool, and a stick, in that order top to bottom. Armor doesn't use a stick, but tools do. I'm going to do a quick test to make sure that it's not swallowing items.

    EDIT: Yeah, it appears to be working as expected for me. Is this on a server I can connect to and see?
     
  29. Offline

    MatCat

    You can come on my server, the info is in my sig. Any custom recipe just swallows up the stuff.
     
  30. I can also confirm my server is eating the items placed in vertical order
     
  31. Offline

    ricochet1k

    I need to investigate some more, but it appears that there might be some breakage in the recent Bukkit revisions. I'm working on fixing it now.
     

Share This Page