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 Is this impossible? I don't think it is... EDIT by Moderator: merged posts, please use the edit button instead of double posting.
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.
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.
I see, well until now you havn't mentioned that the plugin should remove the item that was put in the cauldren.
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.
The items should be thrown into the cauldron, and when an item is created it should jump out toward the player.
both yes and no. I can't find a good way to do this, that may be because my skills are limited 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.
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
Yeah. I thought I could do it with EntityInteractEvent but nope :/. Not unless his cauldron is a pressure plate.
Collision detection is possible, you just have to use SpoutPlugin API's onServerTickEvent, then locate the entity and block you are reading for.
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.
coolo1 , make sure you are using the latest version, found at: http://dev.bukkit.org/server-mods/alchemicalcauldron/ As far as I know, there are no breaking changes in the 1.4.2 beta builds, so while I have not built the plugin against them I see no reason why they should not work.
Indiv0 Just tried it and I gat startup errors about metrics, heres the exact error Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide 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
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.
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.