DigForDollars
DigForDollars
DigForDollars is a highly configurable plugin that allows your players to get paid for mining ores (or any other blocks of your choosing).
Features
- custom ore definitions
- custom payouts
- configurable messages
- won't payout for silk touched blocks.
- only pays out if the correct tool is used to break the block (unless you configure it not to check for that)
- NEW: ignore-data setting allows paying out for gold/iron ore ONLY ONCE.
- no message spam. Messages are not displayed after each block broken, they're delayed and grouped together to avoid spamming players.
Configuration
# whether or not to check for permissions, if this is true, players are # required to have either digfordollars.payfor.* or the ore-specific # permission digfordollars.payfor.ORE_NAME in order to recieve # money from breaking an ore. require-permissions: true # delay in server ticks before displaying a message and depositing # funds. this counts from the last ore block broken of a given type. payout-delay: 20 messages: # {0} = total funds earned. # {1} = quantity of the ore type. # {2} = the ore display name paid: "&6You have recieved {0} &6for mining {1} {2}&6." ores: # this name is used for ore-specific permissions of the format: # digfordollars.payfor.diamond diamond: # if 'display' is a list, the 2nd entry is used for plural # representations otherwise the provided value is used # for both singular and plural. display: ["&bDiamond ore block", "&bDiamond ore blocks"] # material one or more Material names or id's material: DIAMOND_ORE # the monetary value of each block broken. value: 100 # if true (the default), money will only be paid if the block is # mined with the correct tool. otherwise money is paid when # the block is broken regardless if anything drops from it. # This can be used to allow payout for custom ore-types like # glass and mob spawners, which do not drop items at all. check-drops: true # NEW: do not pay out if the block's data value is this: # set to -1 (default) to pay out for any data value. ignore-data: -1 emerald: display: ["&aEmerald ore block", "&aEmerald ore blocks"] material: EMERALD_ORE value: 125 lapis: display: ["&9Lapis ore block", "&9Lapis ore blocks"] material: LAPIS_ORE value: 75 redstone: display: ["&cRedstone ore block", "&cRedstone ore blocks"] material: [REDSTONE_ORE, GLOWING_REDSTONE_ORE] value: 35 quartz: display: ["&fQuartz ore block", "&fQuartz ore blocks"] material: QUARTZ_ORE value: 50 coal: display: ["&7Coal ore block", "&7Coal ore block"] material: COAL_ORE value: 10
Note that you can easily add new ores using any material type(s) you'd like, and even customize the way these ores are referred to in the in-game messages.
What about Gold/Iron?
These ores can be problematic since a player can mine and re-place the same block over and over again. DigForDollars v1.1 added a new configuration option for ores called `ignore-data`. When this option is set to a number between 0 and 15, any ore's of that type with the specified `ignore-data` value will not pay out. In addition, when any player places this type of ore, it will be given this data value, effectively making it pay out ONLY the first time it is mined, and there's no heavyweight tracking of every block placed.
This option should be used with caution and only on blocks which do not make use of their data value, such as Iron and Gold ores. This feature is not guaranteed to work with future versions of bukkit, data values are being phased out and it may not be possible in the future. It may also render strangely on web-based maps, interact strangely with other plugins, crash MCEdit, or burn down your house. (though it is not known to do any of these things at this time)
TL;DR: add this to your config.yml under `ores` and consider yourself warned.
gold: display: ["&eGold ore block", "&eGold ore blocks"] value: 75 ignore-data: 1 material: GOLD_ORE iron: display: ["&fIron ore block", "&fIron ore blocks"] material: IRON_ORE value: 20 ignore-data: 1
Permissions
If configured to check for permissions, All players who wish to earn money from mining must have the permission `digfordollars.payfor.<oreName>` or the wildcard permission `digfordollars.payfor.*` These permissions are given only to ops by default, to allow your players to take advantage of DigForDollars you must give them one of these permissions.
Source Code
DigForDollars is Open source software and is available under the terms of the GNU General Public License v3. You are free to modify and redistribute any part of this plugin, so long as your work is also available under a compatible license. Source code can be found on github.
Since the EULA server owners are looking for more fair ways to pay server expenses
This may well be outside and too heavy for this but hell I can only ask right?
What id like to see is a Multiplier on the ore income. this in my eyes would need two commands. /dfd add (Int) and /DFD sub (int)
This would allow server owners to sell say 1.2 x ore prices for 5 hours or something for a few cents. Its fair because it effects every player. and if another player does it at the same time it could end up being 1.4 x ore prices.
Most shop systems have expiry commands as well as purchase commands so running the reverse of what was ran when it expires is not too hard.
I'm sorry. I'm in no way here to argue. If you don't find my suggestion helpful that's fine. I was merely trying to help.
@EpicATrain
This plugin is designed to be lightweight, what you're suggesting is anything but lightweight. Furthermore I don't see what your suggestion would accomplish.. Why would I want to take money back when people place ore blocks?... Its not a feature that's ever been requested, and doesn't seem to make any sense with regards to the other feature requests that have been made.. What "elaborate system" have I designed? Its just a buffer... And what 'simple problem' does your suggestion solve? With all due respect you seem to be talking nonsense.
metalhedd, why not just have it set up so that if they place gold or iron ore, they lose the same money that they gained? It seems weird that you create such an elaborate system just to fix a simple problem.
@EryDayGames
Sorry, your request is outside the design of this plugin. I accumulate the # of blocks broken over time and only pay out when you stop mining for a few seconds. at which point it pay out the accumulated balance. running a command would need to be done for each block broken, and that's not something this plugin should do, there are alternatives that probably work this way but DigForDollars was designed to be lightweight. also doing anything only after 100 blocks broken would require constant tracking of the # of blocks of each type broken for each player, which is again far too heavy for what this plugin does.
One Thing:
Can you make it so it can run a custom command? Like give a player an item. Also make it so you can make it every lets say 100 blocks so it isnt too op.
@metalhedd
Awesome! Can't wait to check it out. Thanks!
@Timkat1994
The future is now.. V1.1 is available with both of your feature requests
@metalhedd
Alright, sweet. Glad to hear! I really like how it works so far and I'm excited for future updates
@Timkat1994
That was a design decision from the beginning. Any block that can be replaced/mined again (iron & gold ore) can be exploited, which is why they're not included in the default config.
I do have a workaround for this that has proven to work quite well AND doesn't require tracking every block placed by every player. it would set an abnormal data value on the block when a player places it. so once an iron or gold or is re-placed, it gets data value 1 (instead of the default 0) and it will not pay out.
I've avoided including it in this plugin because I have no idea how some other plugins / tools might react to those blocks with unusual data values, not to mention, it will only work on blocks which don't use their data value. I will include it as an option in the next version along with a config reload command.
TLDR: coming soon, thanks.
I like the plugin, it works well for the most part, but there is a problem. Users are able to replace ores (Iron and Gold), mine them, and get paid again. So, I cannot allow payment for ores such as Iron or Gold. Also not having a config reload command is incredibly inconvenient.
Hello! Thanks for this plugin, we really like the the idea. Regards Tjabocool