Bitcoin Reloaded icon

Bitcoin Reloaded -----

Economy, Plugin, Bitcoin, 1.20



undefined (2).gif
Meet Bitcoin Reloaded!
Bitcoins are now in a new version!
Server economics can often be quite boring, so this plugin offers a unique opportunity to spice things up!

Note:
A little disclaimer, I am not the full developer of this plugin, the previous developer (Donut) disappeared somewhere, and with it the page with the plugin.
I decided to transfer his creation to new versions, currently only 1.20 has been tested!




Features:
- Bitcoin mining
- Intuitive user GUI
- Buying and selling of bitcoins
- Fluctuation of bitcoin value
- Option to use real bitcoin value
- Optional circulation limit
- Black market
- Works with all Vault compatible economies
- Configurable settings, messages and sounds
- PlaceholderAPI support
- PlayerPoints support

Changes of fork:
- removed supporting of premium MVdWPlaceholder plugin
- removed supporting of premium PlayerPoints plugin

Note:

The API is still available, but it cannot be borrowed from the repository, most likely it will appear on the repository in the future

How Bitcoins Work
Bitcoin is not designed to be a standalone economy on your server, but rather it works in conjunction with your existing economy plugin as players can exchange bitcoins for your normal currency. See more about the value of bitcoins below.

Value of Bitcoins
Just like in real-life, the value of bitcoins is volatile and unstable. Every (Minecraft) day at 6:00 am (by default), the value of bitcoins will fluctuate. By holding on to bitcoins, players take the risk of the value decreasing, but the risk could pay off if the value increases. Also, there is now an option to use the real value of bitcoins. Simply enable the setting in the config.

How do I get bitcoins?
Mining of course! You won't need a pickaxe for bitcoin mining though... Bitcoin mining in Minecraft isn't as difficult as real-life bitcoin mining but it isn't easy either! You must be the first player to solve a 4x4 sliding tile puzzle in order to receive the bitcoin reward. If you feel this is too easy, set the puzzle_difficulty in the config to 'hard'

Black Market
The black market is where players can buy all that juicy contraband with bitcoins. Open it with /bitcoin blackmarket and simply click items to purchase them. The bitcoins from the purchase go into the bank.

To configure it use the command: /bitcoin blackmarket setslot <slot> <price> [stock]. This will set the item in the specified slot to the item you are currently holding with the specified price. For example, if are holding 1 cobblestone and you type /bitcoin blackmarket setslot 1 50, it will set the first slot in the black market to 1 cobblestone that costs 50 bitcoins. If you want to remove an item then simply hold air while using this command and put anything for the price. The stock argument represents how many of the item can be purchased (if you don't put a stock amount, it will be infinite).

Commands/Permissions
/bitcoin - opens bitcoin menu
/bitcoin value - displays bitcoin value
/bitcoin stats [player] - displays player stats
/bitcoin bank - displays amount of bitcoins in bank
/bitcoin tax - displays purchase tax
/bitcoin circulation: displays circulation info
/bitcoin top [bal/time/solved] - displays top 5 players
/bitcoin mine - opens mining interface
/bitcoin transfer <player> <amount> - transfer bitcoins to player
/bitcoin sell <amount> - sell bitcoins to the bank
/bitcoin buy <amount> - buy bitcoins from the bank
/bitcoin blackmarket - open black market
/bitcoin blackmarket setslot <slot> <price> [stock] - edit black market
/bitcoin give <player> <amount> - give bitcoins to player
/bitcoin remove <player> <amount> - remove bitcoins from player
/bitcoin set <player> <amount> - set balance of player
/bitcoin reset <bal/mined/solved/time>: Reset stats
/bitcoin reload - reload bitcoin plugin
/bitcoin cancel - cancel transfer/purchase/sell
bitcoin.*
bitcoin.main
bitcoin.help
bitcoin.value
bitcoin.bank
bitcoin.tax
bitcoin.mine
bitcoin.sell
bitcoin.buy
bitcoin.transfer
bitcoin.give
bitcoin.remove
bitcoin.set
bitcoin.reload
bitcoin.reset
bitcoin.stats
bitcoin.top
bitcoin.gui.transfer
bitcoin.gui.buy
bitcoin.gui.sell
bitcoin.gui.mine
bitcoin.blackmarket
bitcoin.blackmarket.edit
bitcoin.gui.blackmarket
bitcoin.gui.help

Configuration
Code (YAML):
amount_in_bank : 0
bitcoin_display_rounding
: 5
bitcoin_max_value
: -1
bitcoin_min_value
: 0
bitcoin_value
: 1000
broadcast_balance_reset_message
: true
broadcast_real_value
: true
circulation_limit
: -1
days_of_inactivity_until_balance_reset
: 30
exchange_currency_symbol
: $
fluctuation_frequency
: '6:00'
max_bitcoin_value_fluctuation
: 100
max_mining_reward
: 50
min_bitcoin_value_fluctuation
: 0
min_mining_reward
: 10
new_mining_puzzle_delay
: 0
purchase_tax_percentage
: 15
puzzle_difficulty
: easy
use_playerpoints
: false
use_real_value
: false
world
: world
amount_in_bank: The amount of bitcoins in the bank. This will change as players sell/buy bitcoins

bitcoin_display_rounding: This is how many decimal places bitcoins will round to in messages. Actual values are exact, this is only used in messages.

bitcoin_min_value: The bitcoin value will not drop below this

bitcoin_max_value: The bitcoin value will not go above this (set to -1 for no limit)

bitcoin_value: This represents the current value of 1 bitcoin. This number will change from what you set it to unless you have the max & min value fluctuation set to 0

broadcast_balance_reset_message: Set this to true if you want a message to be sent when a player's balance is reset to due inactivity (described in the above setting). This message can be configured in the message.yml.

broadcast_real_value: Set this to true if you want the real bitcoin value to be broadcasted at the frequency set in the fluctuation frequency (sorry if this is confusing). Only applies when use_real_value is true.

circulation_limit: This is the maximum number of bitcoins that will exist on your sever. As the amount of bitcoins in circulation approaches the limit, the mining reward will approach 0 but technically never reach it. If you do not want a limit set this to -1.

days_of_inactivity_until_balance_reset: If a player is inactive for the amount of days you set here, then the bank will reclaim their bitcoins and their balance will be set to 0. This setting is especially useful if you set a circulation limit. Set this to -1 if you do not want to use this feature.

exchange_currency_symbol: This is the symbol for your normal currency that bitcoins are exchanged for (this is used in messages such as displaying the value of bitcoins)

fluctuation_frequency: This represents how/when the bitcoin value will fluctuate. It can be set to a time such as '6:00' and every minecraft day at this time the bitcoin value will fluctuate; use military (24 hour) time, do not put am or pm and make sure to put it in single quotes! Another option is to set this value to how often, in ticks, the value should fluctuate. For example if you put 6000, the value would fluctuate every 5 minutes (from when your server starts)

min_bitcoin_value_fluctuation: The minimum amount that the value of bitcoins will change by (increase or decrease)

max_bitcoin_value_fluctuation: The maximum amount that the value of bitcoins will change by (increase or decrease)

max_mining_reward: The maximum number of bitcoins players will be rewarded after solving a puzzle

min_mining_reward: The minimum number of bitcoins players will be rewarded after solving a puzzle

new_mining_puzzle_delay: After the current mining puzzle has been solved this is the delay before the next puzzle is generated (in ticks)

purchase_tax_percentage: This is the tax charged on players buying bitcoins. Ex) If the tax is 15% and the current bitcoin value is $200 and someone buys 5 bitcoins, the tax would be $150, bringing the total cost to $1150

puzzle_difficulty: Set this to 'easy' if you want a less challenging mining puzzle. Set this to 'hard' if you want a significantly larger puzzle.

use_playerpoints: If you would like to use PlayerPoints as your exchange currency, set this to true

use_real_value: Set this to true if you would like the in-game bitcoin value to correspond with the real bitcoin value. If you set this to true then the following config settings will have no effect: bitcoin_min_value, bitcoin_max_value, min_bitcoin_value_fluctuation, max_bitcoin_value_fluctuation, fluctuation_frequency

world: This is the world that is used to determine when a new day occurs

Code (YAML):
# Messages accept color codes.
# Messages can be multiple lines.
# {VARIABLES} are filled in with their respective values, they can only be used in the messages that they are in by default
bank_command
: '&3Amount of bitcoins in bank : &b{AMOUNT}'
begin_exchange
:
- ' '
- '&aYour balance
: &2{BALANCE} bitcoins'
- '&aCurrent bitcoin value
: &2{VALUE}'
- '&aEnter the amount of bitcoins you would like to sell:'
begin_purchase
:
- ' '
- '&aBitcoins in bank
: &2{BANK} bitcoins'
- '&aBitcoin cost
: &2{VALUE} per bitcoin'
- '&aTax
: &2{TAX}'
- '&aEnter the amount of bitcoins you would like to buy:'
begin_transfer
:
- ' '
- '&aYour balance
: &2{BALANCE} bitcoins'
- '&aEnter the player and amount of bitcoins (e.g. Notch 5 ):'
black_market_command_invalid_arg
: '&cInvalid argument.'
black_market_item_cost
: '&6Cost : &a{COST} bitcoins'
black_market_item_lore
: '&3Purchase items with bitcoins'
black_market_item_name
: '&9&lBlack Market'
black_market_item_in_stock
: '&3In Stock : &b{AMOUNT}'
black_market_item_infinite_stock
: '&3INFINITE STOCK'
black_market_item_out_of_stock
: '&cOUT OF STOCK'
black_market_not_enough_bitcoins
: '&cYou do not have enough bitcoins to buy this.'
black_market_out_of_stock
: '&cThis item is currently out of stock.'
black_market_purchase
: '&aSuccessfully bought item for {COST } bitcoins.'
black_market_set_item
: '&aSuccessfully set item in black market.'
black_market_title
: '&9&lBitcoin Black Market'
black_tile
: '&9&lBlack'
blue_tile
: '&9&lBlue'
brown_tile
: '&9&lBrown'
buy_command_invalid_arg
: '&cInvalid argument.'
buy_item_lore
: '&3Buy bitcoins from the bank'
buy_item_name
: '&9&lBuy Bitcoins'
cancel_button
: '&c&l [Cancel ]'
cancel_button_hover
: '&cClick to cancel'
cancelled_exchange
: '&cCancelled exchange.'
cancelled_purchase
: '&cCancelled purchase.'
cancelled_transfer
: '&cCancelled transfer.'
cannot_transfer_to_self
: '&cYou cannot transfer bitcoins to yourself.'
cannot_use_commands
: '&cYou cannot use commands at this time.'
cannot_use_from_console
: '&cYou cannot use this command from console.'
circulation_command
:
- '&3Amount of bitcoins in circulation
: &b{AMOUNT}'
- '&3Circulation limit
: &b{LIMIT}'
command_name
: /bitcoin
complete_exchange
: '&aSuccessfully sold {AMOUNT } bitcoins for {NEW_AMOUNT }.'
complete_purchase
: '&aSuccessfully bought {AMOUNT } bitcoins for {COST } plus {TAX }
  in tax.'
complete_transfer
: '&aSuccessfully transferred {AMOUNT } bitcoins to &2 {RECIPIENT }.'
cyan_tile
: '&9&lCyan'
exceeds_limit
: '&cThis amount would cause the number of bitcoins in circulation to
  exceed the limit of {LIMIT } bitcoins.'
exchange_item_lore
: '&3Sell bitcoins to the bank'
exchange_item_name
: '&9&lSell Bitcoins'
exit_item_lore
:
- '&cProgress will be saved'
- '&c (as long as you don''t leave the server )'
exit_item_name
: '&4&lExit'
generated_puzzle
: '&aPuzzle generated, be the first player to solve it to earn bitcoins!'
generating_puzzle
: '&aA new puzzle is being generated ...'
give_command
: '&aGave {AMOUNT } bitcoins to balance of &2 {PLAYER }.'
give_command_invalid_arg
: '&cInvalid argument.'
gray_tile
: '&9&lGray'
green_tile
: '&9&lGreen'
help_command
:
- ' '
- '&9<<< Bitcoin Commands >>>'
- '&3/bitcoin help
: &bDisplay this page'
- '&3/bitcoin value
: &bView current bitcoin value'
- '&3/bitcoin stats [player]
: &bView player stats'
- '&3/bitcoin bank
: &bView amount of bitcoins in bank'
- '&3/bitcoin tax
: &bView the current purchase tax'
- '&3/bitcoin circulation
: &bView circulation info'
- '&3/bitcoin top [bal/time/solved]
: &bView players with the top stats'
- '&3/bitcoin mine
: &bOpen mining interface'
- '&3/bitcoin transfer <player> <amount>
: &bTransfer bitcoins'
- '&3/bitcoin sell <amount>
: &bSell bitcoins'
- '&3/bitcoin buy <amount>
: &bBuy bitcoins'
- '&3/bitcoin blackmarket
: &bOpen black market'
- '&3/bitcoin blackmarket setslot <slot> <price> [stock]
: &bEdit black market'
- '&3/bitcoin give <player> <amount>
: &bAdd to balance'
- '&3/bitcoin remove <player> <amount>
: &bRemove from balance'
- '&3/bitcoin set <player> <amount>
: &bSet balance'
- '&3/bitcoin reset <bal/mined/solved/time>
: &bReset stats'
- '&3/bitcoin reload
: &bReload plugin'
- '&3/bitcoin cancel
: &bCancel transfer/purchase/sell'
help_item_lore
: '&3Click for list of commands'
help_item_name
: '&9&lHelp'
inactive_balance_reset
: '&cThe bank reclaimed {AMOUNT } bitcoins from {PLAYER } for
  inactivity.'
invalid_command
: '&cInvalid command.'
invalid_entry
: '&cInvalid entry.'
invalid_number
: '&cInvalid number.'
light_blue_tile
: '&9&lLight Blue'
light_gray_tile
: '&9&lLight Gray'
lime_tile
: '&9&lLime'
magenta_tile
: '&9&lMagenta'
menu_title
: '&9&lBitcoin Menu'
mining_item_lore
: '&3Solve puzzles to earn bitcoins'
mining_item_name
: '&9&lBitcoin Mining'
mining_menu_title
: '&9&lBitcoin Mining'
never_joined
: '&4 {PLAYER } &chas never joined the server.'
no_economy
: '&cNo economy plugin was detected.'
no_permission
: '&cYou do not have permission to use this command.'
not_enough_bitcoins
: '&cYou only have {BALANCE } bitcoins.'
not_enough_in_bank
: '&cThe bank only has {AMOUNT } bitcoins.'
not_enough_money
: '&cYou cannot afford this many bitcoins.'
not_online
: '&4 {PLAYER } &cis not online.'
nothing_to_cancel
: '&cNothing to cancel.'
orange_tile
: '&9&lOrange'
other_player_not_enough_bitcoins
: '&c {PLAYER } only has {BALANCE } bitcoins.'
pink_tile
: '&9&lPink'
purple_tile
: '&9&lPurple'
real_value_announcement
:
- ' '
- '&9<<< Bitcoin Announcement >>>'
- '&3Current bitcoin value
: &b{VALUE}'
receive_bitcoins
: '&aYou received {AMOUNT } bitcoins from &2 {SENDER }.'
red_tile
: '&9&lRed'
reload_command
: '&aSuccessfully reloaded bitcoin.'
remove_command
: '&aRemoved {AMOUNT } bitcoins from balance of &2 {PLAYER }.'
remove_command_invalid_arg
: '&cInvalid argument.'
reset_command_bal
: '&aSuccessfully reset all balances.'
reset_command_invalid_arg
: '&cInvalid argument.'
reset_command_mined
: '&aSuccessfully reset the bitcoins mined stat for all players.'
reset_command_solved
: '&aSuccessfully reset the puzzles solved stat for all players.'
reset_command_time
: '&aSuccessfully reset the best puzzle time stat for all players.'
reset_item_lore
: '&cClick to reset the tiles'
reset_item_name
: '&4&lReset'
reward
: '&aCongrats, you were rewarded {REWARD } bitcoins!'
sell_command_invalid_arg
: '&cInvalid argument.'
set_command
: '&aSet balance of &2 {PLAYER } &ato {AMOUNT } bitcoins.'
set_command_invalid_arg
: '&cInvalid argument.'
solve_item_lore
: '&aClick when you think you solved the puzzle'
solve_item_name
: '&2&lSolve'
solved
:
- ' '
- '&9<<< Bitcoin Announcement >>>'
- '&3Puzzle solved by
: &b{SOLVER}'
- '&3Reward
: &b{REWARD} bitcoins'
- '&3Time
: &b{MIN} minutes {SEC } seconds'
statistic_command_self
:
- '&9<<< Your Stats >>>'
- '&3Balance
: &b{BALANCE} bitcoins'
- '&3Mining puzzles solved
: &b{AMOUNT_SOLVED}'
- '&3Bitcoins mined
: &b{AMOUNT_MINED}'
- '&3Best puzzle time
: &b{MIN} minutes {SEC } seconds'
statistic_command_other
:
- '&9<<< {PLAYER }''s Stats>>>'
- '&3Balance
: &b{BALANCE} bitcoins'
- '&3Mining puzzles solved
: &b{AMOUNT_SOLVED}'
- '&3Bitcoins mined
: &b{AMOUNT_MINED}'
- '&3Best puzzle time
: &b{MIN} minutes {SEC } seconds'
statistic_item_lore
:
- '&3Balance
: &b{BALANCE} bitcoins'
- '&3Mining puzzles solved
: &b{AMOUNT_SOLVED}'
- '&3Bitcoins mined
: &b{AMOUNT_MINED}'
- '&3Best puzzle time
: &b{MIN} minutes {SEC } seconds'
statistic_item_name
: '&9&lStatistics'
tax_command
: '&3Purchase tax : &b{TAX}'
top_bal_command_format
: '&3 {PLACE }. {PLAYER } : &b{BALANCE} bitcoins'
top_solved_command_format
: '&3 {PLACE }. {PLAYER } : &b{AMOUNT} puzzles'
top_time_command_format
: '&3 {PLACE }. {PLAYER } : &b{MIN} minutes {SEC } seconds'
top_bal_command_header
: '&9<<< Top Bitcoin Balances >>>'
top_solved_command_header
: '&9<<< Most Puzzles Solved >>>'
top_time_command_header
: '&9<<< Fastest Puzzle Times >>>'
transfer_command_invalid_arg
: '&cInvalid argument.'
transfer_item_lore
: '&3Transfer bitcoins to another account'
transfer_item_name
: '&9&lTransfer Bitcoins'
value_command
: '&3Current value of 1 bitcoin : &b{VALUE}'
value_decrease
:
- ' '
- '&9<<< Bitcoin Announcement >>>'
- '&3New bitcoin value
: &b{VALUE}'
- '&cValue has decreased by
: &4{CHANGE}'
value_increase
:
- ' '
- '&9<<< Bitcoin Announcement >>>'
- '&3New bitcoin value
: &b{VALUE}'
- '&aValue has increased by
: &2{CHANGE}'
white_tile
: '&9&lWhite'
yellow_tile
: '&9&lYellow'

Code (YAML):
# 1.9+ sounds: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
# 1.8 sounds: http://docs.codelanx.com/Bukkit/1.8/org/bukkit/Sound.html
black_market_not_enough_bitcoins
: ENTITY_BAT_TAKEOFF
black_market_out_of_stock
: ENTITY_BAT_TAKEOFF
black_market_purchase
: ENTITY_EXPERIENCE_ORB_PICKUP
cancelled_exchange
: ENTITY_BAT_TAKEOFF
cancelled_purchase
: ENTITY_BAT_TAKEOFF
cancelled_transfer
: ENTITY_BAT_TAKEOFF
click_black_market_item
: ENTITY_EXPERIENCE_ORB_PICKUP
click_buy_item
: ENTITY_EXPERIENCE_ORB_PICKUP
click_exchange_item
: ENTITY_EXPERIENCE_ORB_PICKUP
click_help_item
: ENTITY_EXPERIENCE_ORB_PICKUP
click_mining_item
: ENTITY_EXPERIENCE_ORB_PICKUP
click_solve_when_not_solved
: ENTITY_BAT_TAKEOFF
click_transfer_item
: ENTITY_EXPERIENCE_ORB_PICKUP
complete_exchange
: ENTITY_PLAYER_LEVELUP
complete_purchase
: ENTITY_PLAYER_LEVELUP
complete_transfer
: ENTITY_PLAYER_LEVELUP
exit_mining
: ENTITY_BAT_TAKEOFF
no_economy
: ENTITY_BAT_TAKEOFF
puzzle_solved
: ENTITY_PLAYER_LEVELUP
real_value_announcement
: ENTITY_PLAYER_LEVELUP
reset_tiles
: ENTITY_GENERIC_EXPLODE
value_change
: ENTITY_PLAYER_LEVELUP

PlaceHolders ( PlaceholderAPI )
Code (Text):
%bitcoin_value%
%bitcoin_bank%
%bitcoin_value%
%bitcoin_tax%
%bitcoin_circulation%
%bitcoin_circulation_limit%

Player placeholders:
%bitcoin_balance%
%bitcoin_amount_mined%
%bitcoin_puzzles_solved%

API (for developers)
Code (Java):
import us._donut_.bitcoin.Bitcoin ;
import us._donut_.bitcoin.BitcoinAPI ;

BitcoinAPI bitcoinAPI = Bitcoin. getAPI ( ) ;

Installation/Dependencies
1. Download the latest version of Vault, Bitcoin will not load without it
2. Download a Vault compatible economy plugin (e.g. Essentials)
3. Download bitcoin.jar and restart your server

If you found a bug or have any questions feel free to post in the discussion tab or pm me!
Resource Information
Author:
----------
Total Downloads: 68
First Release: May 17, 2024
Last Update: May 17, 2024
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings