[Formatted] AlchemicalCauldron

Discussion in 'Archived: Plugin Requests' started by coolo1, Oct 6, 2012.

  1. Offline

    coolo1

    Plugin category: MECH/FUN

    Suggested name: AlchemicalCauldron

    What I want: If you throw any item into a cauldron filled with water, it has a small chance to become iron, a smaller chance to become gold and a tiny chance to become diamond. Also, if you throw a diamond in, it would give you a random amount (from 1 to 4) of the next tier down, this would happen with gold too, iron would give you coal or 1 piece of redstone (I forgot about redstone while writing, so please change this to something a bit less overpowered)

    Ideas for commands: None needed

    Ideas for permissions: AlchemicalCauldron.use.iron (Allows you to get iron), AlchemicalCauldron.use.gold (Allows you to get gold), AlchemicalCauldron.use.diamond (Allows you to get diamond), AlchemicalCauldron.use.* (A chance for all types)

    When I'd like it by: ASAP

    [Edit} I forgot to include, the item would be destroyed, so no throwing in infinite diamonds to make infinite gold :p

    Is this impossible? I don't think it is...

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

    Woobie

    Please wait 12 hours before bumping.
    Not impossible, i can try this later.
     
  3. Offline

    coolo1

    Any progress?
     
  4. Offline

    sharp237

    Well that may be Your policy, but Our policy is to wait 12 hours before bumping. Also, surely with this plugin someone could repeatedly throw a chuck o'dirt into a cauldron until it becomes iron/gold/diamond.
     
  5. Offline

    coolo1

    sharp237 Yes, thats the point, but it would be really rare, so you could just chuck stacks of cobble in after mining, and it would destroy the cobble, and if your lucky, give you something.
     
  6. Offline

    sharp237

    I see, well until now you havn't mentioned that the plugin should remove the item that was put in the cauldren.
     
  7. Offline

    coolo1

    Oh, sorry. :p I will edit the main post...
     
  8. Offline

    AndyMcB1

    You're*
    Had to :p
     
  9. Offline

    Woobie

    Excact copy of what said a while ago -.-
     
  10. Offline

    AndyMcB1

    Awkward.. Wanna be friends ;)
     
    Woobie likes this.
  11. Offline

    coolo1

    Ok, whatever. Is anyone making this? If not, could someone PLEASE make it?
     
  12. i might do this. the question however is how do you want the items to fall out of the cauldron? want them jo jump out towards player or stay in the cauldron or?

    also, do you want to click the cauldron or just toss the item in?

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

    sharp237

    Damn it! :'(
     
  14. Offline

    coolo1

    The items should be thrown into the cauldron, and when an item is created it should jump out toward the player.
     
  15. Offline

    coolo1

  16. both yes and no. I can't find a good way to do this, that may be because my skills are limited :p but i can not for the life of me find a way to discover where the items landed. So i don't think i'll make this plugin. The only way i could do it is if you have the cursor on the cauldron, then throw it in, but even if it didn't land inside the cauldron it would still be changed.
     
  17. Offline

    Indiv0

    I'll give this plugin a shot. I think I found a way to do this, not sure yet. I'll update with results.

    EDIT: DONE
    coolo1 Done! :)

    Source: https://github.com/Indiv0/AlchemicalCauldron
    Download: https://github.com/downloads/Indiv0/AlchemicalCauldron/AlchemicalCauldron.jar

    Permission: none
    Commands: none

    USAGE:
    Throw items at a cauldron to occasionally make new ones. As mollekake said, there seems to be no way to detect cauldron/item collision so it just takes the dropped item and instantly converts it if you are within a 1 BLOCK RADIUS of the cauldron and LOOKING AT IT. I plan to try to make this process more seamless (items don't insta-teleport) and loosening the requirements/making them configurable. If the conversion is successful, the item pops out of the top of the cauldron.

    CONFIGURATION:
    As for configuration, when you first run the plugin it will make a "config.yml" with default values.

    For materials, you can use their name, or their item ID (hence the '2' representing dirt in the default config.)

    As you can maybe make out from it, there is an "inputs" and "outputs" section. The inputs control the blocks which can be thrown into the cauldron to be converted. The outputs section controls the blocks that the inputs may be converted to. By default, you can throw in dirt('2') and create cobblestone or iron ingots.

    PROBABILITIES:
    The values beside the names are probabilities. These are kinda difficult to explain so kinda guess and check the values that work. These values can be from 0.0 to 1.0 and anything in between.

    The probability for the input decides how often a block thrown in can be converted. The default value of "0.01" for the dirt ('2') means every 100th block of dirt, on average, will be converted into an item.

    The probability for output decides how often a certain item is outputted. If you make iron ingots and diamond blocks both have values of 0.6 (for example), they will, statistically be created the same number of times.

    NOTES:
    YOU CANNOT INPUT OR OUTPUT AIR.
    PROBABILITIES MUST BE 0.0-1.0
    LOOK AT THE CAULDRON
    BE < 1 BLOCK AWAY

    Like with any plugin, be careful when using it. I did bugfix it and I couldn't find any other bugs but if you find any let me know and I'll fix it :)
     
  18. ah, yeah i see you did it that way. really no other way to do it.
     
  19. Offline

    Indiv0

    Yeah. I thought I could do it with EntityInteractEvent but nope :/. Not unless his cauldron is a pressure plate.
     
  20. Offline

    coolo1

    Thanks!
     
  21. Offline

    hoohoo4

    Collision detection is possible, you just have to use SpoutPlugin API's onServerTickEvent, then locate the entity and block you are reading for.
     
  22. Offline

    Hoolean

    Or you could use a Bukkit API scheduler...
     
  23. Offline

    coolo1

    Does this work with 1.4.2? I just got around to trying it, and... It kind of does nothing

    Bump

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

    coolo1

  25. Please wait 12 hours before bumping.
     
  26. Offline

    Indiv0

  27. Offline

    coolo1

    Indiv0 Just tried it and I gat startup errors about metrics, heres the exact error
    Show Spoiler
    Code:
    [SEVERE] org/mcstats/MetricsLite initializing AlchemicalCauldron v1.2 (Is it up to date?)
    java.lang.NoClassDefFoundError: org/mcstats/MetricsLite
    at com.github.Indiv0.AlchemicalCauldron.AlchemicalCauldron.enableMetrics(AlchemicalCauldron.java:74)
    at com.github.Indiv0.AlchemicalCauldron.AlchemicalCauldron.onLoad(AlchemicalCauldron.java:50)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:260)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:231)
    at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(ServerConfigurationManagerAbstract.java:51)
    at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)
    at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:105)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:391)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
    Caused by: java.lang.ClassNotFoundException: org.mcstats.MetricsLite
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:44)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 9 more
     
  28. Offline

    Indiv0

    Alright I'll see what I can do to fix it. It seems as if I'm the only person on the internet getting this error. Apparently I suck at Maven shading. I also just realized that the latest builds for all my plugins do not do what they are supposed to. Great :/

    Oh well, thanks for pointing out this error.

    I'll get back to you once it's finished.

    EDIT: coolo1 I have fixed the error and uploaded a new build to the dev.bukkit.org page. I also checked to make sure it is 1.4.2 R-0.2 compatible :)

    If you have any other questions/concerns please let me know.
     
  29. Offline

    coolo1

    Still does nothing...
     
  30. Offline

    Indiv0

    Hmm well assuming you are using v1.3 then place the plugin in the "Plugins" folder, start the server, make sure that in the "Plugins" folder a folder called "AlchemicalCauldron" is created, and a "config.yml" file is created within there.

    Assuming you have not changed the config.yml:
    • Place a cauldron down anywhere on your server.
    • Stand within 1 block of the cauldron (above/below does not count).
    • Throw a stack of dirt into the cauldron.
    • Wait about 3-5 seconds for items to pop out.
    Also post your server startup log, so I can check if it is initializing.

    EDIT: I just realized that AlchemicalCauldron v1.3 has not been approved by the bukkit team yet so you are running v1.2.1

    Here, get v1.3 from this link and then follow my instructions.
     

Share This Page