MoneyDrop
MoneyDrop, the original money dropping plugin, is back and better than ever!
MoneyDrop drops virtual money, represented by an ingame item, when a mob or player dies. This money can be picked up by players, but will go into their wallet instead of their inventory. Vault and an economy plugin supported by Vault are required to run MoneyDrop.
Help support the development of MoneyDrop: Donate today! Every little bit helps!
Note: MoneyDrop version 2 uses different settings than version 1. Read the following instructions before updating or things will break!
How to set up MoneyDrop
The steps in bold are for those updating from version 1.
Step 1: Make sure you've got one of the supported economy plugins set up on your server.
Step 2: Download and set up Vault if you haven't already.
Step 3: Download the latest MoneyDrop and place it in your plugins folder.
Step 4: Back up your existing .yml files, then delete the original ones.
Step 5: Start up your server and shut it back down again.
Step 6: Edit the .yml files in the plugins/MoneyDrop folder with your favorite text-editor. This page tells you what does what.
Step 7: Start up your server and you're good to go!
MoneyDrop 2.2.0 supports permissions. The nodes are:
- MoneyDrop.pickup - Allows the player to pick up money.
Permission use needs to be enabled in The config files.
Extending MoneyDrop
MoneyDrop can be easily customized with other plugins.
For a list of plugins that make MoneyDrop even more awesome: Check here!
For information on how to create your own MoneyDrop extension: Check here!
FAQ
I found a bug!
Post a ticket and I'll try to fix it asap!
Bugs that allow players to get more money than intended should be PM'd, not ticketed.
Please don't discuss money duplication in the comments.
Something isn't working, can you help me?
I'll try, but I'll need the following info:
- The version of MoneyDrop you're using.
- A list of other plugins you're using.
- Any errors that pop up (the entire error message).
- Your MoneyDrop config files.
I can't pick up money when my inventory is full.
This bug has been around since the day MoneyDrop was made and is one of the few bugs that can't be fixed due to the way bukkit handles item pickups.
Why did you get rid of the WorldGuard and Spout stuff in version 2?
To increase the stability of MoneyDrop.
Don't worry, the features are still available, but in the form of an extra plugin. That way, if one of the other plugins isn't playing nice with MoneyDrop anymore, you can just remove the plugin that links the two.
I'll donate if you add this!
Donate because you like the work I've done, not because you want me to do something.
If you want a feature added, post it as a suggestion or hire me to make you a custom version.
Asking me to value your suggestion higher because you promise to donate is disrespectful to both me and your fellow users.
What's new in version 2
- You can now set the damage values to further customize your drops.
- Money is now easier to configure and has better support for decimal values.
- MoneyDrop will automatically add new mobs to your config file when they're added ingame. No need to update each time Minecraft does!
- Features relying on other plugins have been removed to make MoneyDrop more stable. You can find those features again in the form of a MoneyDrop-extending plugin.
- Many under the hood optimisations.
- A new event system makes it even easier to create plugins that customize MoneyDrop's behavior.
Changelog
2.2.0
- Fixed a bug that would cause MoneyDrop to not generate tamed mob variants in the config files.
- MoneyDrop now generates settings for all horse variants.
- Fixed a bug with inventory checking.
- Inventory checks can now be disabled in the config files. Do not disable checks if money can exist in an inventory!
- Added a setting to prevent hoppers from picking up money.
- Added a setting to prevent players in creative mode from picking up money.
- Added a setting to prevent mobs spawned by other plugins from dropping money (thanks TrenTech!).
- Added a setting to prevent mobs spawned by mods from dropping money (thanks TrenTech!).
- MoneyDrop now supports permissions. This can be enabled in the config files. The node is MoneyDrop.pickup
- Other bugfixes (thanks TrenTech!)
2.1.1
- Fixed a money duplication bug
- Fixed more rounding errors
2.1.0
- Fixed a money duplication bug
- Fixed the rounding errors in chat
- Added some missing features in the api
- Added an option to send a chat message when the player dies
2.0.0
- Initial release
For info on the outdated version 1, check out this page.
Creator's Note
A big thank you to the people who kept MoneyDrop alive during my year-long absence. You guys are amazing!
The mods have requested I remove the link to TrenTech's version. My apologies for the inconvenience.
Yes, in that particular case it was a suicide. Very similar log messages have appeared for other death causes too, however, but sometimes no log message appears at all. I tested the new version and we still have no drops. I'll try testing with Bukkit instead of Spigot as soon as I can figure out how to change the server to Bukkit. Here is the config for our main world, it looks weird when posted but maybe you can copy it into notepad.
Settings: Mobspawner-Drops-Allowed: false Mobs-Only-Drop-On-Kill: false Dropped-Material-ID: 371 Dropped-Value: 1.0 Spout: Enabled: true Pickup-Sound: '' Pickup-Achievement-Notification-Enabled: true Pickup-Achievement-Notification-Title: $$$ Pickup-Achievement-Notification-Message: Picked up <money>$ Pickup-Chat-Notification-Enabled: true Pickup-Chat-Notification-Message: Picked up <money>$ WorldGuard: Enabled: true Global-Mob-Drops: true Mob-Drop-Enabled-Regions: - exampleregionname1 - exampleregionname2 Mob-Drop-Disabled-Regions: - exampleregionname Global-Player-Drops: true Player-Drop-Enabled-Regions: - exampleregionname Player-Drop-Disabled-Regions: - end Independent-Drops: false Modspawner-Drops-Allowed: true Pluginspawner-Drops-Allowed: true Egg-Drops-Allowed: true Disable-Creative-Drops: true Use-Permissions: false Dropped-Material-Data: 0 Max-Stack-Amount: 100.0 Precision: 1.0 Max-Drops-Per-Second: 0 Chat-Notification-Delay: false Death-Chat-Notification-Enabled: true Death-Chat-Notification-Message: You wake up, your wallet missing <money>$. Players: Mob-Attack: '0' Player-Attack: '0' Block-Explosion: '0' Block-Contact: '0' Drowning: '0' Falling: '0' Fire: '0' Suffocation: '0' Suicide: '0' Other: '0' Player-Dropped-Amount: Mob-Attack: 1% Player-Attack: 1% Block-Explosion: 1% Block-Contact: 1% Drowning: 1% Fall: 1% Fire: 1% Suffocation: 1% Suicide: 1% Other: 1% Mobs: Blaze: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Cave-Spider: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Chicken: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Cow: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Creeper: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Ender-Dragon: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Enderman: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Ghast: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Giant: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Human: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Magma-Cube: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Mooshroom: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Pig: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 PigZombie: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Sheep: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Silverfish: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Skeleton: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Slime: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Snow-Golem: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Spider: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Squid: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Villager: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Wild-Wolf: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Tamed-Wolf: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Zombie: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Witch: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Cat: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Iron-Golem: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 Ocelot: Dropped-Minimum: 0 Dropped-Maximum: 0 Dropped-Frequency: 0.0 CREEPER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 CREEPER-ELECTROCUTED: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SKELETON-NORMAL: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SKELETON-WITHER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SPIDER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 GIANT: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 ZOMBIE: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 ZOMBIE-VILLAGER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 ZOMBIE-CHILD: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 ZOMBIE-VILLAGER-CHILD: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SLIME: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 GHAST: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 PIG_ZOMBIE: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 ENDERMAN: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 CAVE_SPIDER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SILVERFISH: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 BLAZE: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 MAGMA_CUBE: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 ENDER_DRAGON: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 WITHER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 BAT: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 WITCH: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 PIG: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SHEEP: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 COW: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 CHICKEN: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SQUID: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 WOLF: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 MUSHROOM_COW: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 SNOWMAN: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 OCELOT: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 IRON_GOLEM: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 HORSE: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 VILLAGER-GENERIC: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 VILLAGER-FARMER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 VILLAGER-LIBRARIAN: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 VILLAGER-PRIEST: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 VILLAGER-BLACKSMITH: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0 VILLAGER-BUTCHER: Dropped-Minimum: 0.0 Dropped-Maximum: 0.0 Dropped-Frequency: 0.0
@DivinityCraft
I have updated my link above. Now if death cause returns null, MoneyDrop take the amount listed in the config under death cause Other.
Also I need more information on the other drop issue, copy of config settings, whether it happens all the time and just under certain circumstances and if this is a spigot only problem
@DivinityCraft
It appears Essentials /suicide does not send bukkit a death cause, causing a null exception. What I'm going to do for now is add a null check to stop the exception but the command will still not cause any money to drop
@DivinityCraft
From looking at the stack trace I'm going to assume the player used essentails /suicide command yes?
@TrenTech
Today I tested your version, the latest spigot and the latest stable versions of Essentials (we use essentials eco) and Vault and this time nothing at all was dropped and no money was subtracted from the dead player's account. The console gave the following error message:
[12:00:36] [Server thread/ERROR]: Could not pass event PlayerDeathEvent to MoneyDrop v2.1.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) [spigot.jar:git-Spigot-1187] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-1187] at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [spigot.jar:git-Spigot-1187] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478) [spigot.jar:git-Spigot-1187] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463) [spigot.jar:git-Spigot-1187] at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:362) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.EntityPlayer.die(EntityPlayer.java:384) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.EntityLiving.damageEntity(EntityLiving.java:732) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.EntityHuman.damageEntity(EntityHuman.java:751) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.EntityPlayer.damageEntity(EntityPlayer.java:462) [spigot.jar:git-Spigot-1187] at org.bukkit.craftbukkit.v1_7_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:197) [spigot.jar:git-Spigot-1187] at org.bukkit.craftbukkit.v1_7_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:182) [spigot.jar:git-Spigot-1187] at com.earth2me.essentials.PlayerExtension.damage(PlayerExtension.java:16) [Essentials.jar:?] at com.earth2me.essentials.commands.Commandsuicide.run(Commandsuicide.java:21) [Essentials.jar:?] at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:149) [Essentials.jar:?] at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:505) [Essentials.jar:?] at com.earth2me.essentials.Essentials.onCommand(Essentials.java:370) [Essentials.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot.jar:git-Spigot-1187] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192) [spigot.jar:git-Spigot-1187] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:546) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:938) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:813) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:65) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:647) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:259) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:530) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:442) [spigot.jar:git-Spigot-1187] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1187] Caused by: java.lang.NullPointerException at me.drakespirit.plugins.moneydrop.EventListener.onPlayerDeath(EventListener.java:102) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_05] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_05] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_05] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_05] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) [spigot.jar:git-Spigot-1187] ... 30 more
@DivinityCraft
I've seen this complaint a couple times but have yet to been able to reproduce it myself. If I ever track it down I'll fix it.
@TrenTech
Your version has the same bug for us as the official version; when money is dropped and is then picked up, it is picked up as the item (in our case gold nuggets) instead of money. We are using the latest Spigot.
@paintball89
This to me, seems like an odd feature request. The same thing could be accomplished with whatever economy plugin that's tied into MoneyDrop. for example
Essentials Eco: /eco give [player] [amount]
can you add a command to Drop money like /moneydrop <amount>
@TrenTech
Works like a charm, thank you for the update :)
@TrenTech
I still have the bug : http://pastie.org/private/akdnykqzy5xo92qdh1joa
My users get always the "dropped minimum" amount, and it's not between the dropped mini / maxi :/
EDIT : Ok "fixed", i'v set precision to 0.01 , but still i receive only 0.55, 0.75, 0.65 for exemple for spider, and i would like more somthing like "0.62, 0.58, 0.73' but nevermind it's already good :)
@TacoGerbil
Most plugins have a set list of acceptable entities it monitors with a preset up config it loads from within the jar.. This plugin searches for all mob types on startup and builds the config on the fly. I used this plugin for quite sometime and now take pride in filling in the gap by supporting MoneyDrop when the author can't.
I just want to say THANK YOU! I haven't seen until now a Plugin that interacted with Forge Mods (running MCPC+ with Technic launcher)... This plugin actually sees all the other MOBS from my installed Mods and lists them so I can enter a mob drop value!!!! AWESOME!! Now I have to wonder why all the other plugins seem to ignore anything from a Forge Mod?
@TrenTech
Ok thanks :) yes but 'iv turned "use-permissions" to false so O;o
Also nevermind for the worlds perms, haven't seen that there's a per-world config so it should be good :) ! Thanks
@Shooty_
by the way, those aren't checks. they were just debug messages i temporarly setup when any living entity spawns in the world. This plugin was designed with efficiency in mind, so lag on big servers should not be a problem.
PS. I can look into setting up a world blacklist. No promises though. I only make changes that don't effect core functions of the plugin, so if it involves changing functionalitly I will leave it up to DrakeSpirit to add it. He plans on releasing an official update sometime in the future.
EDIT: as for the drop issue, check your Precision settings in the config
@Elbobtons
Oh yeah That's my bad. Debug message when testing spawners. Re-Download
@TrenTech
Can you also fix the message if you get cents like: $2.10 money picked up.
The plugin rounds it so if you have a 0 it will be like: $2.1 money picked up.
@TrenTech
Well, it stops when i disable the moneydrop plugin. Its spamming with " Breeding " and " Natural ".
@TrenTech
Sure, i t's full spamming "NATURAL" or "CUSTOM" omg like 200times a sec
Anyway, i think it show from where the mob is spawning, like "NATURAl" = natural spawn, why do so many check O.O ? I'v vet "ModSpawner.. plugin spawner ... mob spawner - allowed " to TRUE so it's not supposed to check from where the mob is spawning :/ it may lag on big server.
Also i'v setup things like that :
I'm i receiving still 0.50 EACH time. And not with a frequency of 50% so it's a double bug x)
Also can you add a ULTRA simple way to disable totally the plugin in certain world ? thanks :)
@Elbobtons
Breeding? You sure its from MoneyDrop?