GoldBank
GoldBank – Banks, ATMs, wallets, and more!
Development Status
I will no longer be releasing updates for this plugin. While GoldBank, being the second plugin I've ever made, holds a special place in my heart, it's time to move on. Because the truth is, it's a huge pile of messy, tangled code written by a developer just beginning to learn the ropes of Java and OO programming. I don't even remember writing a lot of the code still in the latest version, and it may hold nasty bugs that I'm not even aware of. Since I don't plan to release any further updates (well... I might release a 3.0.2 that's been sitting on Github for a while, but then that's it for real), I strongly advise against using it and instead opting for a cleaner and better-maintained economy plugin. With that being said, so long and thanks for all the fish!
Overview
I've never really seen the point of virtual economies. I prefer an economy with tangible items. So, I created this plugin. It's essentially the basis for a gold-based economy system. The basic function is the ability to create GoldBank signs, which players can then buy/claim to put their gold in. Once a week, they will receive interest. Additionally, admins can create ATM signs, which allow players to access their bank signs remotely. And furthermore, players and admins may create personalized shops which other players may use to buy and sell items. If you need to expand your inventory, this plugin can do that for you. Just craft a wallet (made with leather in a boat shape), and instantly you'll have a mini-inventory within your regular one (inventory-ception?). But be careful, because if you drop it, another player can steal it from you! Mobs have a nasty habit of losing their wallets, and will often drop gold nuggets when killed. If a player is lucky, they might receive something with a bit more value than mere nuggets.
Features
- Creates and registers a virtual inventory to a [GoldBank] sign when a player right clicks it.
- Automatically distributes interest between inventories weekly
- Signs are automatically protected from access and destruction by other players, pistons, creepers, and TNT
- Specify tiers of signs with different fees and sizes (Define fees and sizes in the config, and define tiers on the second line of each [GoldBank] sign
- Create a master sign, which everyone may claim, by setting the last line as "Master"
- Admins can create [GoldATM] signs, which allow players to access their gold inventory remotely, for a configurable fee
- Mobs drop a random number of gold nuggets, the maximum being a number defined in the config
- Mobs may drop rare golden items at a configurable rate
- Players and admins can create shop signs, which other players may buy from and sell to (see below for sign syntax)
- Players can craft wallets (crafted with leather in a boat or minecart shape), which act as portable virtual inventories
- Type "/gb reload" to reload the plugin
- Full UUID support. Note: this means that the plugin connects to Mojang's UUID API.
Bank Signs
Creation
To create a GoldBank as an admin, simply create a sign resembling this:
———————
[GoldBank]
Tier 1
(blank)
(Master)
———————
The first line is static, the second controls the tier (defined in the config), the third is blank, and the fourth, if set to "Master", will allow everyone to register and access their bank account through it, but will not change its text. A regular sign will only allow one player to register through it.
Registration
To register a bank with a GoldBank sign, a player need only right-click it. If a fee is set for the given bank tier, the player will be required to pay that fee in golden ingots in order to register.
Access
To access a GoldBank, right-click the sign to open its virtual inventory. Once the player is finished editing, the inventory will be automagically saved to disk.
Destruction
To unregister a GoldBank, a player must left-click it. This will cause the sign to revert back to an unregistered state (assuming if it is not a Master sign), and its inventory to spill onto the floor in front of the player.
ATM Signs
Usage
ATM signs are a powerful tool which allow players to access their GoldBank account from anywhere on the map. When a player right-clicks one, their bank account will open, and they are free to edit it as long as they'd like. If a fee is defined in the config for ATM signs, the player will be required to hold a sufficient amount of gold in their inventory for the sign to charge in order to use it.
Creation
Creation of ATM signs couldn't be simpler! Just create a sign and type "[GoldATM]" as the top line (case-insensitive).
Shop Signs
If AngryNerd1 creates this sign:
———————
[Diamond]
1;4
1;2
(blank)
———————
the plugin will replace it with this sign:
———————
[Diamond]
Buy 1 for 4g
Sell 1 for 2g
AngryNerd1
———————
To create an admin (infinite) sign, simply replace the last line with "Admin", and it will convert to "Admin"
Note: All lines are case-insensitive, spaces may be used in place of underscores, and the item ID may be used in placed of the item name. Additionally, shops which sell the buyer's head can be created, using PlayerHead as the item name.
Wallets
GoldBank has a wallet feature, where players may craft wallets to carry with them. They allow players to store anything, or just gold, if the server owner desires.
Creation
To create a wallet, place 5 leather in the shape of a boat in a crafting table. A wallet will appear in the result slot with the player's name branded on it.
Usage
To use a wallet, a player must place it in their hand and right-click. A virtual inventory with a config-defined number of slots will be opened, and they are free to edit it. If the config allows for it, they may add any item they wish. If not, they will be limited to forms of gold (gold tools excluded). When they are done editing, they may hit the escape key to resume gameplay.
Commands
- /gb reload - Reloads the plugin
- /gb view {player} - Opens a specified player's GoldBank inventory. Note that, if the player argument is missing, it will open the player's own GoldBank inventory.
- /wire [player] [amount] - Transfers a specified amount of gold in nuggets from your GoldBank to a specified player's. A fee may apply, which is set in the config.
Changelog
Latest Version (3.0.1)
- Fix GoldBank hanging the main thread while doing UUID lookups
Version 3.0
- Convert plugin to use UUIDs in place of usernames
- Add code to convert existing data to use UUIDs
- Minor bug fixes
Click here to view the changelogs for all versions
To-do
- Make GoldShops more user-friendly (i.e. allow players to use aliases in place of the actual item name (and damage value))
Click here to view older items
Known Bugs
- Players in very rare cases receive change in the form of an ItemStack with strange properties when using blocks to buy from a sign with a different gold type defined. This ItemStack behaves very oddly, but is effectively the same as the ItemStack that should have been received, and can be manipulated into such
- Players in creative mode may put their wallet inside their wallet, effectively destroying it (though it may be spawned back in via command)
- The /gb wallet spawn command has no default group set, so it must be manually specified even for operators
Click here to view older items
Permissions
Note: Permissions will only work if you have version 1.4 or later of the plugin
Bleeding-edge Builds
Development builds of this project can be acquired at the provided continuous integration (Jenkins) server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. Additionally, these builds often undergo little to no testing, so there is no guarantee they will function properly.
Plugin Metrics
This plugin collects anonymous usage statistics. Here's a list detailing data collected, and here's a graph of and link to them:
Source Code
Vídeo Tutorial em Português (Video Tutorial in Portuguese)
http://www.youtube.com/watch?v=36mH_i62Ghc
Logo by Zombiemold
Sponsor
Special thanks to HostHorde for supporting GoldBank! Make sure to check them out!
@caseif
no i dont mean with just signs i mean in total there should be a config to allow both or one or the other as i listed before and lets say in wallet i have 1 bar 1 nugget i should be able to type something like /gb bal or balance and it should say something like $1.1 or whatever the denomination set for a bar and nugget are hopefully also a configurable number. if this doesnt make any sense i'll try to better explain in the morning. I dont want to sound like i dont like your plugin we are staying loyal and sticking with your plugin it has almost all the feautures we need in one plugin and i like the way it is implemented.
@sean326
Ah, you mean with shop signs. This feature has already been suggested in the comments, and I agreed to add it. I didn't add it in 2.3 because it was a relatively small feature, especially considering the disproportionate amount of time it would take to add. However, I will do my best to add it in 2.4.
As for Vault support, I explained why I wouldn't be adding it soon in a previous post, in which I explained that it was hardly up to me to add it. The plugin's API would need to be hard-coded into the Vault JAR.
I'm with doctossnuggles there should be a config option to switch between gold nugget and gold ingot as currency or maybe both where a gold bar is a dollar and a gold nugget is .1 where 1 bar and 1 nugget = $1.1 or some value along those lines.
also still praying on that vault support i would donate if it helped move the process along or upon implementing vault.
I've finally finished with 2.3, but I'd like to do a few days of beta testing before I push it. If all goes well, it will be uploaded and approved within a week.
@caseif
add me on skype please
dj46563
@doctorsnuggles1
What??
Could you tell me how to make it so it goes off nuggets not ingots?
@poonjab1_0
I don't know what Citizens does, but based on what you've told me, no, I most likely will not add support in the near future. I may work on integrations after the plugin has had most if not all of the planned features added, but right now, I'm struggling to get timely releases out as it is, and I don't need another complex feature to add in. Sorry. :/
is it possible to have this interact with the citizens 2 api? make it so there are possible bank tellers to get money from?
@sean326
As it turns out, you were right in that you weren't asking a small feat. To get Vault support for an economy plugin, the Vault staff needs to add the API into the Vault JAR. As the GoldBank API is still in its early stages, and the plugin itself has less than 2 thousand downloads, it's unlikely that they'll add it in any time soon. However, if the plugin continues to gain popularity, there's a good chance that it will be added to Vault eventually.
@crushh87
An excellent question. The server parses the sign data before converting it, and so it will only register if the last line is manually set to admin. As for checking if a shop is an Admin shop, the plugin stores that information as a boolean (true/false) in the database file (chestdata.db). So, the sign will remain as a player shop.
"To create an admin (infinite) sign, simply replace the last line with "Admin", and it will convert to Admin" What happens if the players name is Admin? Just wondering.
@ShakirPlayZ
I'm going to guess that you're creating a shop sign that looks something like:
I suppose I should have added in a check to see if the data for the material defined was null, but as it is, you either need to add a damage value after the colon, or remove it (the colon).
since we cant post a ticket here, the server.log for the error below is here: http://pastebin.com/1NZmUneX CB #2606 (1.4.7)
Here is an Error. Please check it out:
THAT would be totally amazingly cool!
@samanthahldr
I suppose I could look into adding support for this. :D
The gold that drops from mobs when you kill them. I found no way to turn this off for specific worlds.
@samanthahldr
What exactly do you mean by "the item drops?"
I really REALLY like this plugin, but unfortunately it does not have multiworld support. I have a legitimate/vanilla world and then an RP world. This plugin would be used on the RP world, and while I can disable permissions on the vanilla world, I cannot disable the item drops on only specific worlds.
Big shame, because I love everything about this plugin.