
LuckyStock - Stock System 1.0
Make your server have stock to play with, different way to earn money
| Description
LuckyStock is a system that mimics virtual real stocks. The whole system is mainly using GUI to run. It means all function is operating in player inventory. The system will change each stock per day. And the plate includes stock. Each plate contains 8 stock in default. You can create more plates or stock if you want to. The stock will change per day. And then news also will affect the stock. It has 56 stock and 120 news defaults. You can make more stock or news. You can buy and sell the share or stock. The news also can be active by players' events. All transactions can be done in GUI. Very unique and you may have never seen that before.
► All the buy share is to calculate the stock with tax and handling fee
► All the buy stock is to calculate the average of all the stock in a plate with extra cost or over-ride cost
► It could create the stock by using GUI and chatbox
► It could buy or sell stock/share by using GUI
► It could edit the stock by using GUI and chatbox
► The stock includes tax, increasing tax, name, texture, lore, lore2
► the increasing tax means the tax increase per day
► the tax is the default when someone buys the share it would with a default tax
► The plate includes liquidation, when the stock in the plate is lower than the liquidation value, it will be winding up the stock.
| Features
► Stock markets have open time and close time
► All the transactions can be done in GUI
► Players could create stock in GUI and chatbox
► Players could transfer the stock to others in GUI
► Players can check out the news progress and do some action to prevent the news active or not.
► Multi-selection for selling shares in GUI
► Buy or sell stock/share in GUI
► News info GUI including all the news progress and the active news
► The news will detect the player events to choose whether active the news
► The stock owner could earn the money from tax when other players buy a share
► The stock can be over-ride owner when someone wants to buy the stock with over-ride cost
► All the stock can be bought and when the stock is winding up, It will remove the owner.
*******************************************
This plugin requires a placeholder API and Vault
*******************************************
| Permission
LuckyStock.admin ► executes the admin commands
LuckyStock.nolate ► showing the real balance for the stock
LuckyStock.nofee ► buying stock or share without handling fee
LuckyStock.notax ► buying stock or share without tax
LuckyStock.message ► showing when player bought the share
LuckyStock.search ► search player information
| Command
/stock ► opens the main GUI
/stock help ► send you a command list in the chatbox
/stock rank ► check the rank list
/stock check [StockCode] ► check the stock by using code
/stock buystock [StockCode] ► buy the stock by using code
/stock sellstock [StockCode] ► sell the stock by using code
/stock buy [StockCode] [Quantity] ► buy share by using code
/stock sell [StockCode] [Quantity] ► sell share by using code
/stock transfer [StockCode] [PlayerName] ► transfer the stock to player
requires permission LuckyStock.search command
/stock search [PlayerName] ► check the player info
requires permission LuckyStock.admin command
/stock clear [PlayerName] share ► clear player all the share
/stock clear [PlayerName] stock ► clear player all the stock
/stock set [StockCode] [Balance] ► set the stock balance
/stock set [StockCode] [Balance] late ► set the stock late balance
/stock give [StockCode] [PlayerName] ► give the stock to player
/stock permission ► get the permission list
| Placeholder
%luckystock_time% ► the detect world time with color
%luckystock_ownstock% ► the player own stock
%luckystock_sharetotal% ► the player share total
%luckystock_earn_money% ► the earned money from the player
%luckystock_creation% ► the player creation
%luckystock_max_share% ► the max share of server
%luckystock_max_stock% ► the max stock of server
%luckystock_max_tax% ► the max tax of server
%luckystock_rank_X% ► the rank X player name (X as 1-10)
%luckystock_rank_money_X% ► the rank X player balance (X as 1-10)
| Config
# ====================================== #
# █ █ █ █▀▀ █▄▀ █▄█ █▀ ▀█▀ █▀█ █▀▀ █▄▀ #
# █▄▄ █▄█ █▄▄ █ █ █ ▄█ █ █▄█ █▄▄ █ █ #
# ====================================== #
# config - for the lucky stock setting
# version should keep it auto change anyway
version: 1.0
# Plugin prefix
# details: It allows the message can have this prefix
# usage: %prefix% as above text
prefix: "&6&lLucky#ba6f13&lStock &8►"
# no one have earn money yet in rank
no_rank: "&8&lNO RECORD"
# no balance on no rank
no_balance: "&8&lNO BALANCE"
# sound effect of refreshing market
refresh_market:
# whether have sound
enable: true
# sound effect in opening
sound: BLOCK_NOTE_BLOCK_XYLOPHONE
# sound effect in closing
close_market: BLOCK_NOTE_BLOCK_XYLOPHONE
# Format for the stock balance (default: 9999999999999999.999)
stock_balance_format: "################.###"
# sound for rejection, for the gui button reject
reject_sound: BLOCK_NOTE_BLOCK_DIDGERIDOO
# Format the time date
time_pattern: "YYYY/MM/dd HH:mm"
# Format of share details
# Do not change this if you dont understand how it work
share_detail_pattern: "YYMMddHHmmssSSS"
# Format for share and stock code (default: 999)
format_code: "%03d"
# Format for record code (default: 99999)
record_code: "%05d"
# each stock max share
# the player can buy the maximum share of every single stock
max_share: 100
# time format, about the game time of minecraft of your detect world
time_color:
# time 6:00 am to 5:59 pm is sun
sun: "#fff2ab"
# time 6:00 pm to 5:59 am is night
night: "#e591ff"
# rank refresh time
rank_refresh_time: 300
# no quantity of record of buying stock
no_quantity: "&8No quantity"
# the selection of share of the material
selection_of_share:
# normally showing share
material: MAP
# selection of the share
select_material: FILLED_MAP
# if you sell something it would should the details
EarnMoney_format:
# the money is earn something
increase_color: "&a"
# the money is earn nothing
decrease_color: "&c"
# haven't select anything
no_select_color: "#ba6f13"
# no earn money lore
no_earn_money: "&8No earn money"
# the amplitude for selling something
amplitude:
# none of it select
none: "&8None"
# the money is earn
increase: "&2↑%value%"
# the money is not earn
decrease: "&4↓%value%"
# global buy share message status
global: # LuckyStock.message
# whether enable the global message
enable: true
# lore setting on global lore
lore_setting:
# when global setting is false
none: "&8&lNONE"
# when enable the global status
enable: "&2&lENABLED"
# when disable the global status
disable: "&4&lDISABLED"
# Variety setting
Variety:
# the detection of the world
# make sure the world time is not freezing and enabled
detectWorld: "world"
# The variety of stock.yml change time
# Do not change this if you dont know how it work
changeTime: 0
# the amplitude percent of each plate
percent_format: "&d&l%percent%%"
# the chance will change the stock
chance_format: "&2&l%percent%%"
# the chance will decrease to the stock by changing
neg_chance_format: "&4&l%percent%%"
# buy time, the market open time
buy_time:
# market open time, better not change anything
# default: 06:00 am
start: 0
# market close time, better not change anything
# default: 21:00 pm
end: 15000
# default stock balance
stock:
# no earn from the stock for owner
owner_no_earn: "&8Nothing earn yet"
# only owner can view earn how much of the stock
owner_not_owner: "&cOnly owner can view"
# sell stock can get how much? (default: 50%)
sell_stock: 50
# sell stock type of showing record
sell_stock_type: "&c&lSELL"
# maximum
maximum: 3
# buy share increase how much? (default: 0.005%)
increase: 0.005
# sell share decrease how much? (default: 0.05%)
decrease: 0.01
# winding up of the stock
liquidation: "#ff5959Winding up"
# no stock code
no_stock_code: "&8&lNONE"
# no own stock
no_own_stock: "&8No own stock"
# no selection
no_select_owner: "&8&lNOTHING SELECT"
# no buy share or stock yet
no_buy_total: "&8None"
# restore the stock day
restore_lower: 1
restore_upper: 5
# player info page
showing_share: "#ba6f13&lShare"
showing_ownStock: "#ba6f13&lOwnStock"
# stock get no owner
stock_no_owner:
# the lore showing if there no owner
loreSet: "&8No owner"
# the lore showing if there no owner
name: "&8&lNO OWNER"
# the material that when the stock dont have owner
material: PLAYER_HEAD
# the texture of the material above
texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjUwMTA4YjE1ZTU3M2RlNTk1YjViYmNkYjgyZjgzNjQ3MmQyZWYzMTZlOGFhOTFiMjQ2OGYzYWQ2ODAzN2FmYiJ9fX0="
# no share of player
share_format: "&8No share"
# check real balance or late balance
balanceOrLateBalance:
# %balance% will show late balance
# if player has permission (LuckyStock.noLate)
# if set it to false means all is real balance
enable: true
# create stock
create_stock:
# the record of the type name
type: "&7&lCREATE"
# when the stock don't have anything
nothing: "&8No information"
# all changed instead of texture
all_changed: "&2✔"
# the texture that don't have anything
no_change: "&4❌ &8No change"
# the texture has been changed
changed: "&2✔ &8Changed"
# the name that don't have anything
no_name: "&4❌ &8No name"
# the lore that don't have anything
no_lore: "&4❌ &8No lore"
# the tax that don't have anything
no_tax: "&4❌ &8No tax"
# the increase that don't have anything
no_increase: "&4❌ &8No increase &8&l↑"
# the maximum of the lore and name
Allow_lore_length: 30
# increase when the players need HEX color
Allow_name_length: 200
# the selection of creation arrow
selectLine: "#ba6f13► "
# when clicking the creation stock
selectSound: BLOCK_NOTE_BLOCK_BELL
# max tax of create stock
max_tax: 5
# max increase of create stock
max_increase: 5
# player don't have any creation yet
no_creation: "&8No creation"
# how many money can create stock
cost:
# maximum of creation
# if the stock is removed by winding up
# it will decrease the creation of player
max: 2
# average or default
# average as all stock average balance
# default needs to have value
type: average
# only work for the type is default
value: 30000
# the default setting of the create stock
# better not change anything if you dont know how it work
default:
lore:
- "&7Select &8► &8&l[&e&lCLICK&8&l]"
- "&8%lore%"
- "&8%lore2%"
- "&7Code &8► &b&l%code%"
- "&8► Information &8◄"
- "&7Tax &8► %tax%%increase%"
- "&7Owner &8► &b&l%owner%"
- "&7Balance &8► &e%balance%"
- " &8⌚ Change per day"
info_lore:
- "&8%lore%"
- "&8%lore2%"
- "&7Share &8► #ba6f13&l%share%"
- "&8► Information &8◄"
- "&7Tax &8► %tax%%increase%"
- "&7Owner &8► &b&l%owner%"
- "&7Balance &8► &e%balance%"
- " &8⌚ Change per day"
- ""
- "&8&l[&a&lLEFT&8&l-&e&lCLICK&8&l] to enter %showing%"
# buy stock
buy_stock:
# the record of the buy stock
type: "&f&lBUY"
# format
extra_cost_format: "&a&l%extracost%%"
override_extra_cost_format: "&d&l%overridecost%%"
# if the extra cost percentage is 0%
no_extra_cost: "&8No extra cost"
# if the override extra cost percentage is 0%
no_override_extra_cost: "&8No override extra cost"
# type
extra_type: "&a&lExtra"
override_type: "&d&lOverride"
# value of handling fee
handling_fee: #LuckyStock.noFee
enable: true
# percentage of handling fee (default: 5%)
value: 5
# format of handling fee
format: "&d&l%handlingfee%%"
# no handling fee message
no_handling_fee: "&8No handling fee"
# select stock
select:
# the select material
material: PLAYER_HEAD
# the texture of above material
texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTljZGI5YWYzOGNmNDFkYWE1M2JjOGNkYTc2NjVjNTA5NjMyZDE0ZTY3OGYwZjE5ZjI2M2Y0NmU1NDFkOGEzMCJ9fX0="
# nothing select showing
no_select: "&8Nothing select"
# no quantity for buying or selling
no_balance: "&8No quantity"
# buy and sell session
buyAndSell:
# record of buy and the gui showing
buy: "&a&lBUY"
# record of sell and the gui showing
sell: "&c&lSELL"
# nothing select
no_select: "&8Nothing select"
# dont have quantity
no_quantity: "&8None"
# news setting
news:
# message enable
message:
# whether showing the title message
title: true
# whether showing the details message
detail: true
# refresh the list
refresh_time: 180
# news checking time (second)
# default 5s check all action condition
# better not change lower due to overrun
checkingTime: 5
# random news
# for checking how many random news will check per day
minimum_random: 1
maximum_random: 3
# the maximum news per day
max: 9
# the news will showing in below time (Using LONG)
# if you dont know the time may check out this page (https://minecraft.fandom.com/wiki/Daylight_cycle)
time_lower: 1000
time_upper: 18000
# dont have any news yet
active:
# the message showing on GUI
no_one: "&8It doesn't have news yet"
# GUI setting
gui_setting:
# the news of all the news showing material
material: MAP
# the news of active news
active_material: FILLED_MAP
# selection news (only for admin)
select_material: FILLED_MAP
# the lore of the news
lore_setting:
# random stock
random_stock: "&c&lR&6&lA&e&lN&a&lD&b&lO&d&lM"
# all of plate
all_plate: "&f&lALL"
# random of plate
random_plate: "&c&lR&6&lA&e&lN&a&lD&b&lO&d&lM"
# type setting
type:
# if the type is positive
positive: "&2&lPositive"
# if the type is negative
negative: "&4&lNegative"
# progress format
no_progress: "&8&l[ &7&lNo Progress &8&l]"
# progress setting
progress:
# random
random: "#d92727&lR#ddbb4a&lA#ced131&lN#48c948&lD#41c6c6&lO#ce3bce&lM"
# the length of the progress
length: 60
# the character of the progress
char: "|"
# active amount of the progress
active: "&2"
# non active amount of the progress
non_active: "&8"
# the format of the progress
format: "&8&l[ %progress% &8&l]"
# the message of thew news
# better not change anything in GUI
content:
# the news list for all news
message_line_color: "&7"
# the news list for active news
active_message_line_color: "&8"
# create stock setting
create_news:
# default title
default_title: "&6&lL#ba6f13&lS &8► %plate% &8► %name%"
# select line
# the selection of creation arrow
selectLine: "#ba6f13► "
changed: "&2✔ &7"
no_info: "&4❌ &8No Information"
no_action_lore: "&8Select the action then will show"
# when clicking the creation stock
selectSound: BLOCK_NOTE_BLOCK_BELL
# the action type of the news
type:
PLACE: "&8Only need to change the block(s) and quantity"
BREAK: "&8Only need to change the block(s) and quantity"
SLAIN: "&8Only need to change the target(s) and quantity"
RIDE: "&8Only need to change the target(s) and quantity"
INTERACT: "&8Only need to change the block(s) and quantity"
DROP: "&8Only need to change the item(s) and quantity"
PICKUP: "&8Only need to change the item(s) and quantity"
USING: "&8Only need to change the item(s) and quantity"
TIME: "&8Need to change the checkTime, cancelAction and more"
VILLAGER: "&8Only need to change the quantity"
RANDOM: "&8Nothing need to change in action details"
# tax setting
tax: #LuckyStock.noTax
# set the stock lore to owner placeholder
# if owner is null will return to player placeholder
# it may needs to restart the server till the placeholder may getting error
# you also may need to change the permission plugin setting for enable something
# only effect in each plate
placeholder_owner: false
# max tax of share
# it will not allow to increase more (default: 35%)
max_tax: 35
# if stock owner is null
owner: "&8No owner"
# whether have tax (default: true)
enable: true
# the lower
lower: 0.01
# the upper
upper: 10
# time for add the tax every day (default: 6am)
# this is real time (HOUR:MINUTE:SECOND) 24HR
time: "06:00:00"
# no tax message
no_tax: "&8No tax"
# tax format
format: "&6&l%tax%%"
# tax increase format
increase_format: "&8&l↑%increase%%"
All the config files can be found in the discord
If you find any issues, please feel free to go support discord, click below link to enter
| License
Once you download the plugin, you accept the following terms of use:
• No refund
• You will not be able to redistribute the plugin. and or its code
• You cannot upload the plugin to another forum or page, without the developer's permission.
• You are not allowed to decompile the plugin or use its code in any project without permission from the developer.