Shop & Currency v3.0

Files

Negative Money, with zero transaction

Date: February 3rd, 2020

Calls function(s):
directory:transaction/transfer

Calls function(s):
directory:transaction/transfer

Calls function(s):
directory:transaction/transfer

Calls function(s):
directory:transaction/transfer

Calls function(s):
directory:transaction/transfer

Calls function(s):
directory:transaction/transfer

Calls function(s):
directory:ui/method/draw

Calls function(s):
directory:ui/method/number

Runs when the player has clicked on their UI back button

Calls function(s):
directory:shop/signal/back

Removes UI elements

Other comment(s): Kill if UUID is same
Kill if owner is same

Calls function(s):
directory:ui/method/remove
directory:ui/method/remove_child
directory:ui/method/remove
directory:ui/method/remove_child

Creates numbers dial functionality

Other comment(s): If max_use, it checks if it is less than 0, in which case it sets it to infinity
#ep.ui.value is the value on the dial
draws the value

Calls function(s):
directory:ui/method/draw

Converts the normal output to a cool time output

Calls function(s):
directory:formatter/time/hh-mm
directory:formatter/clear

Other comment(s): names entity based on value in scoreboard

Calls function(s):
directory:ui/method/draw_number
directory:ui/method/draw_reset_time
directory:ui/method/draw_money

Setes up terminal panel for max_use interface (mostly for shop signs)

Calls function(s):
directory:ui/method/draw
directory:ui/constructor/finalize

Runs if player has interacted with a UI element

Calls function(s):
directory:ui/interact/raycast

Calls function(s):
directory:ui/signal/submit

Calls function(s):
directory:ui/signal/number

Runs when the player has clicked their UI exit button

Calls function(s):
directory:ui/remove

Runs when the player has clicked their UI button

Other comment(s): branches into back and reset buttons

Calls function(s):
directory:ui/signal/back
directory:ui/signal/reset

Loops to find the specific UI element the player has clicked on

Other comment(s): (Recursive)
Ran as the player

Calls function(s):
directory:ui/interact/found
directory:ui/interact/raycast

Runs if the player has successfully found a UI element

Other comment(s): Sets the #ep.target_uid to the player's UID
define tag ep.reactive_element
Determines which UI element the player is looking at

Calls function(s):
directory:ui/interact/type/button
directory:ui/interact/type/submit
directory:ui/interact/type/number
directory:ui/interact/type/exit
directory:ui/interact/effect

Other comment(s): define tag ep.trait.ui

Other comment(s): define entity #ep.sender Transaction sender
define entity #ep.receiver Transaction receiver
define entity #ep.transaction Transaction amount
define entity #ep.overflow_checker Handling overflow
define entity #ep.underflow_checker Handling underflow

Detects if a player has interected with a villager

Other comment(s): Ran as the player

Calls function(s):
directory:ui/interact
directory:terminal/interact

Other comment(s): Displays a money in the subtitle

Other comment(s): Displays when travel is disabled

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Taken loan message

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Over max loan

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Over max assets

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Negative number message

Calls function(s):
directory:tracker/currency/displace

Other comment(s): In debt message

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Invalid location message

Other comment(s): In debt message

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Runs when a player triggers travel

Calls function(s):
directory:tracker/command/event/travel/success
directory:tracker/command/message/travel/disabled

Other comment(s): Prepares terminal for travel

Calls function(s):
directory:terminal/remove
directory:terminal/init/travel_ui

Other comment(s): Opens UI for taking a loan
Sets a new value for max loan size, based on current bank value

Calls function(s):
directory:terminal/remove
directory:terminal/init/loan_ui

Commands ran when /trigger market is typed # Sets default state scoreboard players operation #ep.state ep.state = #ep.enum.market.idle ep.state # Sets state to need money if player doesn't have enough money for shop execute if score #ep.state ep.state = #ep.enum.market.idle ep.state if score @s ep.money < #ep.market.sign_cost ep.variable run scoreboard players operation #ep.state ep.state = #ep.enum.market.not_enough_money ep.state # Attempts to find sign execute if score #ep.state ep.state = #ep.enum.market.idle ep.state if data block ~ ~1 ~ {Text1:'{"text":""}',Text2:'{"text":""}',Text3:'{"text":""}',Text4:'{"text":""}'} positioned ~ ~1 ~ run function directory:tracker/command/event/market/success execute if score #ep.state ep.state = #ep.enum.market.idle ep.state if data block ~ ~ ~ {Text1:'{"text":""}',Text2:'{"text":""}',Text3:'{"text":""}',Text4:'{"text":""}'} run function directory:tracker/command/event/market/success # Returns message if there hasn't been any signs found execute if score #ep.state ep.state = #ep.enum.market.idle ep.state run function directory:tracker/command/message/market/invalid_location execute if score #ep.state ep.state = #ep.enum.market.not_enough_money ep.state run function directory:tracker/command/message/market/not_enough_money

Activates when player successfully markets an item data merge block ~ ~ ~ {Text1: '{"text": "Market", "color": "gold", "clickEvent": {"action": "run_command", "value": "/function directory:market/init"}}', Text2: '{"text": "Right Click", "color": "green", "underlined": false}', Text3: '[{"text": "x", "color": "white"}, {"text": "0", "color": "gray"}, {"text": "(0)", "color": "white"}]', Text4: '[{"text": "0", "color": "yellow"}]'} scoreboard players operation #ep.transaction ep.money = #ep.market.sign_cost ep.variable scoreboard players operation @s ep.money -= #ep.market.sign_cost ep.variable scoreboard players operation #ep.vault ep.variable += #ep.market.sign_cost ep.variable function directory:tracker/command/message/market/success scoreboard players operation #ep.state ep.state = #ep.enum.market.success ep.state advancement grant @s[advancements={economy_plus:player_market_setup=false}] only economy_plus:player_market_setup

Other comment(s): check for Auction in progress
check for nearby Auction floater
check for negative bid
check if bidder have the same UID as seller
check if bidder have enough money
check if new bid is lower than previous bid

Calls function(s):
directory:tracker/command/message/bid/no_auction
directory:tracker/command/message/bid/invalid_location
directory:tracker/command/message/bid/negative
directory:tracker/command/message/bid/illegal
directory:tracker/command/message/bid/money
directory:tracker/command/message/bid/under
directory:tracker/command/message/bid/over

Other comment(s): define tag ep.auction.seller

Calls function(s):
directory:auction/init

Detects when a player is near an area

Other comment(s): execute if entity @s[tag=!ep.player.inside_box.spawn] if score @s ep.position.x >= #ep.spawn.x.min ep.variable if score @s ep.position.x <= #ep.spawn.x.max ep.variable if score @s ep.position.y >= #ep.spawn.y.min ep.variable if score @s ep.position.y <= #ep.spawn.y.max ep.variable if score @s ep.position.z >= #ep.spawn.z.min ep.variable if score @s ep.position.z <= #ep.spawn.z.max ep.variable run

Calls function(s):
directory:tracker/area/event/exit_floater/shop
directory:tracker/area/event/exit_floater/auction
directory:tracker/area/event/exit_floater/bank

Other comment(s): Runs when a player exits the shop area

Calls function(s):
directory:tracker/area/event/exit_floater/run
directory:tracker/currency/displace_area

Other comment(s): Turns the player to survival gamemode

Other comment(s): Runs when the player leaves the bank area

Calls function(s):
directory:tracker/area/event/exit_floater/run

Other comment(s): Runs when a player leaves the auction area

Calls function(s):
directory:tracker/area/event/exit_floater/run
directory:auction/clear/all
directory:tracker/currency/displace_area

Other comment(s): Creates timer2 button

Calls function(s):
directory:terminal/constructor/static
directory:terminal/ui/builder/text/timer4

Other comment(s): Creates timer2 button

Calls function(s):
directory:terminal/constructor/static
directory:terminal/ui/builder/text/timer3

Other comment(s): Creates timer2 button

Calls function(s):
directory:terminal/constructor/static
directory:terminal/ui/builder/text/timer2

Other comment(s): Creates timer1 button

Calls function(s):
directory:terminal/constructor/static
directory:terminal/ui/builder/text/timer1

Other comment(s): Creates timer button

Calls function(s):
directory:terminal/constructor/static
directory:terminal/ui/builder/text/timer

Other comment(s): Creates 50 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/500

Other comment(s): Creates 50 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/50

Other comment(s): Creates 1 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/5

Other comment(s): Creates 25 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/25

Other comment(s): Creates -100 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/10000

Other comment(s): Creates -100 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/1000

Other comment(s): Creates 100 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/100

Other comment(s): Creates 10 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/10

Other comment(s): Creates 1 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/1

Other comment(s): Creates -50 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-500

Other comment(s): Creates -50 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-50

Other comment(s): Creates -1 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-5

Other comment(s): Creates -25 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-25

Other comment(s): Creates -100 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-10000

Other comment(s): Creates -100 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-1000

Other comment(s): Creates -100 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-100

Other comment(s): Creates -10 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-10

Other comment(s): Creates -1 button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/number/-1

Other comment(s): Creates spawn button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/spawn

Other comment(s): Creates shop button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/shop

Other comment(s): Creates reset button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/reset

Other comment(s): Creates Max Button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/max

Other comment(s): Creates home button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/home

Other comment(s): Creates shop button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/bank

Other comment(s): Creates Back button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/back

Other comment(s): Creates shop button

Calls function(s):
directory:terminal/constructor/new
directory:terminal/ui/builder/button/auction

Other comment(s): Sets up timer button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up timer button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up timer button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up timer button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up timer button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Loan submit button
define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Loan submit button
define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): Creates static loan button name

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): define tag ep.terminal.submit

Calls function(s):
directory:terminal/method/draw
directory:terminal/constructor/finalize

Other comment(s): sets up 50 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 50 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 1 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 25 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 100 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 100 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 100 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 10 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up 1 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -50 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -50 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -1 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -25 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -100 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -100 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -100 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -10 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): sets up -1 button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Creates spawn button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up reset button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up prev button

Calls function(s):
directory:terminal/constructor/finalize

Creates actionbar button

Calls function(s):
directory:terminal/constructor/finalize

Creates actionbar button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up next button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up max button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Creates home button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Creates bank button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Sets up back button

Calls function(s):
directory:terminal/constructor/finalize

Other comment(s): Creates spawn button

Calls function(s):
directory:terminal/constructor/finalize

Calls function(s):
directory:terminal/method/pay

Runs the method for loan as the player

Date: 3/2/2020

Calls function(s):
directory:terminal/method/loan

Calls function(s):
directory:uninstall

Calls function(s):
config:list_player_balance/run

Calls function(s):
directory:terminal/method/draw

Other comment(s): Kills child

Occurs when player gets too far away from the item

Other comment(s): Kills entity

Calls function(s):
directory:terminal/method/draw

Calls function(s):
directory:terminal/method/draw

Detects if player is eligible for loan
Ran as the player

Date: Feb 3, 2020

Other comment(s): #ep.loan ep.variable gets set to the value of the loan the player took
sets the loan value to 0
if the player has selected a negative loan value (not really possible)
if the player has selected a loan higher than the max loan constant
if the player takes out a loan larger than their value
if the player already has a loan
commands to link states to their respective functions

Calls function(s):
directory:terminal/command/loan
directory:tracker/command/message/loan/negative
directory:tracker/command/message/loan/over_asset
directory:tracker/command/message/loan/over_max_loan
directory:tracker/command/message/loan/in_debt

Other comment(s): names entity based on value in scoreboard

Other comment(s): names entity based on value in scoreboard

Other comment(s): names entity based on value in scoreboard

When a player is near a terminal, this function runs
It checks if they are looking at a specific element on the terminal

Calls function(s):
directory:terminal/interact/raycast

Runs when player presses submit button

Other comment(s): Teleports
Bank Settings
Vault in Bank
Interest in Bank
Loan in Bank
Tax in bank

Calls function(s):
directory:terminal/signal/auction_item
directory:terminal/signal/minimum_bid
directory:terminal/signal/deposit
directory:terminal/signal/withdraw
directory:terminal/signal/loan
directory:terminal/signal/credit
directory:terminal/signal/pay
directory:terminal/signal/sell/item
directory:terminal/signal/sell/price
directory:terminal/signal/admin_setting/home/settings/player_shop/cost
directory:terminal/signal/admin_setting/home/settings/teleports/shop/cost
directory:terminal/signal/admin_setting/home/settings/teleports/shop/timer
directory:terminal/signal/admin_setting/home/settings/teleports/spawn/cost
directory:terminal/signal/admin_setting/home/settings/teleports/spawn/timer
directory:terminal/signal/admin_setting/home/settings/teleports/auction/cost
directory:terminal/signal/admin_setting/home/settings/teleports/auction/timer
directory:terminal/signal/admin_setting/home/settings/teleports/bank/cost
directory:terminal/signal/admin_setting/home/settings/teleports/bank/timer
directory:terminal/signal/admin_setting/home/settings/teleports/home/cost
directory:terminal/signal/admin_setting/home/settings/teleports/home/timer
directory:terminal/signal/admin_setting/home/settings/bank/vault/minimum
directory:terminal/signal/admin_setting/home/settings/bank/vault/stop_selling_enabled
directory:terminal/signal/admin_setting/home/settings/bank/vault/stop_selling_disabled
directory:terminal/signal/admin_setting/home/settings/bank/interest/min_vault
directory:terminal/signal/admin_setting/home/settings/bank/interest/rate
directory:terminal/signal/admin_setting/home/settings/bank/interest/min_bank
directory:terminal/signal/admin_setting/home/settings/bank/loan/max
directory:terminal/signal/admin_setting/home/settings/bank/loan/max_percent
directory:terminal/signal/admin_setting/home/settings/bank/loan/interest_rate
directory:terminal/signal/admin_setting/home/settings/bank/tax/min_income
directory:terminal/signal/admin_setting/home/settings/bank/tax/rate

Maps functions to specific entities for player terminal # Home execute if entity @s[tag=ep.terminal.player_setting.home.actionbar] run function directory:terminal/signal/player_setting/home/actionbar execute if entity @s[tag=ep.terminal.player_setting.home.announcement] run function directory:terminal/signal/player_setting/home/announcement

Maps functions to specific entities for admin terminal # Home execute if entity @s[tag=ep.terminal.admin_setting.home] run function directory:terminal/signal/admin_setting/home execute if entity @s[tag=ep.terminal.back.admin_setting.home] run function directory:terminal/signal/back/admin_setting/home execute if entity @s[tag=ep.terminal.admin_setting.home.signs] run function directory:terminal/signal/admin_setting/home/signs execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs] run function directory:terminal/signal/back/admin_setting/home/signs execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy] run function directory:terminal/signal/admin_setting/home/signs/buy execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs.buy] run function directory:terminal/signal/back/admin_setting/home/signs/buy execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy.oak] run function directory:terminal/signal/admin_setting/home/signs/buy/oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy.spruce] run function directory:terminal/signal/admin_setting/home/signs/buy/spruce execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy.birch] run function directory:terminal/signal/admin_setting/home/signs/buy/birch execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy.jungle] run function directory:terminal/signal/admin_setting/home/signs/buy/jungle execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy.acacia] run function directory:terminal/signal/admin_setting/home/signs/buy/acacia execute if entity @s[tag=ep.terminal.admin_setting.home.signs.buy.dark_oak] run function directory:terminal/signal/admin_setting/home/signs/buy/dark_oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell] run function directory:terminal/signal/admin_setting/home/signs/sell execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs.sell] run function directory:terminal/signal/back/admin_setting/home/signs/sell execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell.oak] run function directory:terminal/signal/admin_setting/home/signs/sell/oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell.spruce] run function directory:terminal/signal/admin_setting/home/signs/sell/spruce execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell.birch] run function directory:terminal/signal/admin_setting/home/signs/sell/birch execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell.jungle] run function directory:terminal/signal/admin_setting/home/signs/sell/jungle execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell.acacia] run function directory:terminal/signal/admin_setting/home/signs/sell/acacia execute if entity @s[tag=ep.terminal.admin_setting.home.signs.sell.dark_oak] run function directory:terminal/signal/admin_setting/home/signs/sell/dark_oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit] run function directory:terminal/signal/admin_setting/home/signs/deposit execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs.deposit] run function directory:terminal/signal/back/admin_setting/home/signs/deposit execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit.oak] run function directory:terminal/signal/admin_setting/home/signs/deposit/oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit.spruce] run function directory:terminal/signal/admin_setting/home/signs/deposit/spruce execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit.birch] run function directory:terminal/signal/admin_setting/home/signs/deposit/birch execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit.jungle] run function directory:terminal/signal/admin_setting/home/signs/deposit/jungle execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit.acacia] run function directory:terminal/signal/admin_setting/home/signs/deposit/acacia execute if entity @s[tag=ep.terminal.admin_setting.home.signs.deposit.dark_oak] run function directory:terminal/signal/admin_setting/home/signs/deposit/dark_oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw] run function directory:terminal/signal/admin_setting/home/signs/withdraw execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs.withdraw] run function directory:terminal/signal/back/admin_setting/home/signs/withdraw execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw.oak] run function directory:terminal/signal/admin_setting/home/signs/withdraw/oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw.spruce] run function directory:terminal/signal/admin_setting/home/signs/withdraw/spruce execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw.birch] run function directory:terminal/signal/admin_setting/home/signs/withdraw/birch execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw.jungle] run function directory:terminal/signal/admin_setting/home/signs/withdraw/jungle execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw.acacia] run function directory:terminal/signal/admin_setting/home/signs/withdraw/acacia execute if entity @s[tag=ep.terminal.admin_setting.home.signs.withdraw.dark_oak] run function directory:terminal/signal/admin_setting/home/signs/withdraw/dark_oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan] run function directory:terminal/signal/admin_setting/home/signs/loan execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs.loan] run function directory:terminal/signal/back/admin_setting/home/signs/loan execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan.oak] run function directory:terminal/signal/admin_setting/home/signs/loan/oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan.spruce] run function directory:terminal/signal/admin_setting/home/signs/loan/spruce execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan.birch] run function directory:terminal/signal/admin_setting/home/signs/loan/birch execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan.jungle] run function directory:terminal/signal/admin_setting/home/signs/loan/jungle execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan.acacia] run function directory:terminal/signal/admin_setting/home/signs/loan/acacia execute if entity @s[tag=ep.terminal.admin_setting.home.signs.loan.dark_oak] run function directory:terminal/signal/admin_setting/home/signs/loan/dark_oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit] run function directory:terminal/signal/admin_setting/home/signs/credit execute if entity @s[tag=ep.terminal.back.admin_setting.home.signs.credit] run function directory:terminal/signal/back/admin_setting/home/signs/credit execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit.oak] run function directory:terminal/signal/admin_setting/home/signs/credit/oak execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit.spruce] run function directory:terminal/signal/admin_setting/home/signs/credit/spruce execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit.birch] run function directory:terminal/signal/admin_setting/home/signs/credit/birch execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit.jungle] run function directory:terminal/signal/admin_setting/home/signs/credit/jungle execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit.acacia] run function directory:terminal/signal/admin_setting/home/signs/credit/acacia execute if entity @s[tag=ep.terminal.admin_setting.home.signs.credit.dark_oak] run function directory:terminal/signal/admin_setting/home/signs/credit/dark_oak execute if entity @s[tag=ep.terminal.admin_setting.home.floater] run function directory:terminal/signal/admin_setting/home/floater execute if entity @s[tag=ep.terminal.back.admin_setting.home.floater] run function directory:terminal/signal/back/admin_setting/home/floater execute if entity @s[tag=ep.terminal.admin_setting.home.floater.shop] run function directory:terminal/signal/admin_setting/home/floater/shop execute if entity @s[tag=ep.terminal.admin_setting.home.floater.spawn] run function directory:terminal/signal/admin_setting/home/floater/spawn execute if entity @s[tag=ep.terminal.admin_setting.home.floater.auction] run function directory:terminal/signal/admin_setting/home/floater/auction execute if entity @s[tag=ep.terminal.admin_setting.home.floater.bank] run function directory:terminal/signal/admin_setting/home/floater/bank execute if entity @s[tag=ep.terminal.admin_setting.home.floater.remover] run function directory:terminal/signal/admin_setting/home/floater/remover execute if entity @s[tag=ep.terminal.admin_setting.home.settings] run function directory:terminal/signal/admin_setting/home/settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports] run function directory:terminal/signal/admin_setting/home/settings/teleports execute if entity @s[tag=ep.terminal.admin_setting.home.settings.mob_currency] run function directory:terminal/signal/admin_setting/home/settings/mob_currency execute if entity @s[tag=ep.terminal.admin_setting.home.other] run function directory:terminal/signal/admin_setting/home/other execute if entity @s[tag=ep.terminal.back.admin_setting.home.other] run function directory:terminal/signal/back/admin_setting/home/other execute if entity @s[tag=ep.terminal.admin_setting.home.other.trading_currency] run function directory:terminal/signal/admin_setting/home/other/trading_currency execute if entity @s[tag=ep.terminal.admin_setting.home.other.trading_currency.gold_coin] run function directory:terminal/signal/admin_setting/home/other/trading_currency/gold_coin execute if entity @s[tag=ep.terminal.admin_setting.home.other.trading_currency.silver_coin] run function directory:terminal/signal/admin_setting/home/other/trading_currency/silver_coin execute if entity @s[tag=ep.terminal.admin_setting.home.other.uninstall] run function directory:terminal/signal/admin_setting/home/other/uninstall execute if entity @s[tag=ep.terminal.admin_setting.home.other.list_player_balance] run function directory:terminal/signal/admin_setting/home/other/list_player_balance # Settings in Home execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_display] run function directory:terminal/signal/admin_setting/home/settings/money_display execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_drop] run function directory:terminal/signal/admin_setting/home/settings/money_drop execute if entity @s[tag=ep.terminal.admin_setting.home.settings.player_shop] run function directory:terminal/signal/admin_setting/home/settings/player_shop execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports] run function directory:terminal/signal/admin_setting/home/settings/teleports execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank] run function directory:terminal/signal/admin_setting/home/settings/bank execute if entity @s[tag=ep.terminal.back.admin_setting.home.settings] run function directory:terminal/signal/back/admin_setting/home/settings # Display Money in Settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_display.actionbar] run function directory:terminal/signal/admin_setting/home/settings/money_display/actionbar execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_display.list] run function directory:terminal/signal/admin_setting/home/settings/money_display/list execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_display.sidebar] run function directory:terminal/signal/admin_setting/home/settings/money_display/sidebar execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_display.below_name] run function directory:terminal/signal/admin_setting/home/settings/money_display/below_name # Drop Money in Settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_drop.mobs] run function directory:terminal/signal/admin_setting/home/settings/money_drop/mobs execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_drop.wood] run function directory:terminal/signal/admin_setting/home/settings/money_drop/wood execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_drop.ore] run function directory:terminal/signal/admin_setting/home/settings/money_drop/ore execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_drop.farming] run function directory:terminal/signal/admin_setting/home/settings/money_drop/farming execute if entity @s[tag=ep.terminal.admin_setting.home.settings.money_drop.fishing] run function directory:terminal/signal/admin_setting/home/settings/money_drop/fishing # Player Shop in Settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.player_shop.cost] run function directory:terminal/signal/admin_setting/home/settings/player_shop/cost # Teleports in settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.home] run function directory:terminal/signal/admin_setting/home/settings/teleports/home execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.spawn] run function directory:terminal/signal/admin_setting/home/settings/teleports/spawn execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.shop] run function directory:terminal/signal/admin_setting/home/settings/teleports/shop execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.bank] run function directory:terminal/signal/admin_setting/home/settings/teleports/bank execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.auction] run function directory:terminal/signal/admin_setting/home/settings/teleports/auction # Shop teleport settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.shop.cost] run function directory:terminal/signal/admin_setting/home/settings/teleports/shop/cost execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.shop.timer] run function directory:terminal/signal/admin_setting/home/settings/teleports/shop/timer # Spawn teleport settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.spawn.cost] run function directory:terminal/signal/admin_setting/home/settings/teleports/spawn/cost execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.spawn.timer] run function directory:terminal/signal/admin_setting/home/settings/teleports/spawn/timer # Home teleport settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.home.cost] run function directory:terminal/signal/admin_setting/home/settings/teleports/home/cost execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.home.timer] run function directory:terminal/signal/admin_setting/home/settings/teleports/home/timer # Auction teleport settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.auction.cost] run function directory:terminal/signal/admin_setting/home/settings/teleports/auction/cost execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.auction.timer] run function directory:terminal/signal/admin_setting/home/settings/teleports/auction/timer # Bank teleport settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.bank.cost] run function directory:terminal/signal/admin_setting/home/settings/teleports/bank/cost execute if entity @s[tag=ep.terminal.admin_setting.home.settings.teleports.bank.timer] run function directory:terminal/signal/admin_setting/home/settings/teleports/bank/timer # Bank in settings execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.loan] run function directory:terminal/signal/admin_setting/home/settings/bank/loan execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.vault] run function directory:terminal/signal/admin_setting/home/settings/bank/vault execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.interest] run function directory:terminal/signal/admin_setting/home/settings/bank/interest execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.tax] run function directory:terminal/signal/admin_setting/home/settings/bank/tax # Vault in Bank execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.vault.minimum] run function directory:terminal/signal/admin_setting/home/settings/bank/vault/minimum execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.vault.stop_selling_enabled] run function directory:terminal/signal/admin_setting/home/settings/bank/vault/stop_selling_enabled execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.vault.stop_selling_disabled] run function directory:terminal/signal/admin_setting/home/settings/bank/vault/stop_selling_disabled # Interest in Bank execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.interest.min_vault] run function directory:terminal/signal/admin_setting/home/settings/bank/interest/min_vault execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.interest.rate] run function directory:terminal/signal/admin_setting/home/settings/bank/interest/rate execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.interest.min_bank] run function directory:terminal/signal/admin_setting/home/settings/bank/interest/min_bank # Loan in Bank execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.loan.max] run function directory:terminal/signal/admin_setting/home/settings/bank/loan/max execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.loan.max_percent] run function directory:terminal/signal/admin_setting/home/settings/bank/loan/max_percent execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.loan.interest_rate] run function directory:terminal/signal/admin_setting/home/settings/bank/loan/interest_rate # Tax in bank execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.tax.min_income] run function directory:terminal/signal/admin_setting/home/settings/bank/tax/min_income execute if entity @s[tag=ep.terminal.admin_setting.home.settings.bank.tax.rate] run function directory:terminal/signal/admin_setting/home/settings/bank/tax/rate

Recursive function to check if player is looking at terminal element

Calls function(s):
directory:terminal/interact/found
directory:terminal/interact/raycast

Other comment(s): execute positioned ^-0.5 ^-2 ^ run function admin:settings/home/construct
execute positioned ^0.5 ^-2 ^ run function directory:terminal/ui/button/back/construct/admin_setting

Calls function(s):
directory:terminal/remove
directory:terminal/ui/marker/player_setting
directory:terminal/ui/text/player_setting/home
directory:terminal/ui/button/player_setting/home/actionbar
directory:terminal/ui/button/player_setting/home/announcement

Calls function(s):
directory:terminal/remove

Other comment(s): should be moved to a more optimal spot

Calls function(s):
directory:terminal/remove
directory:terminal/method/remove_auction

Other comment(s): Creates a new terminal button

Other comment(s): Finalize for terminal construction, removes tag

Prepares player to tp to spawn

Calls function(s):
directory:terminal/event/close_terminal
directory:player/method/get_coords

Prepares player to tp to shop

Calls function(s):
directory:terminal/event/close_terminal
directory:player/method/get_coords

Prepares player to tp to their spawnpoint

Calls function(s):
directory:terminal/event/close_terminal
directory:player/method/get_coords

Prepares player to tp to bank

Calls function(s):
directory:terminal/event/close_terminal
directory:player/method/get_coords

Prepares player to tp to auction

Calls function(s):
directory:terminal/event/close_terminal
directory:player/method/get_coords

Other comment(s): data modify block ~ ~ ~ Text3 set value '[{"text": "x", "color": "white"}, {"nbt": "output_quantity", "storage": "ep:memory"}, {"text": " "}, {"text": "(", "color": "white"}, {"score": {"name": "#ep.count", "objective": "ep.variable"}, "color": "white"}, {"text": ")", "color": "white"}]'

Calls function(s):
directory:shop/draw/hidden_use
directory:shop/draw/current_use

Calls function(s):
directory:shop/method/set_sell

Calls function(s):
directory:shop/method/set_buy

Calls function(s):
directory:shop/method/back

Runs when the market shop is destroyed

Other comment(s): Summons floating entity
store the total count of items into the floating armorstand

Calls function(s):
directory:heap/get/quantity
directory:heap/get/data
directory:heap/get/name

Removes the shop entity if the sign has been destroyed

Calls function(s):
directory:shop/remove_market
directory:heap/remove
directory:ui/remove

Sets the market to a sell shop

Other comment(s): Creates shop (with back button)

Calls function(s):
directory:ram/clear
directory:shop/init/quantity

Calls function(s):
directory:shop/init/price

Calls function(s):
directory:shop/init/reset_time

Sets the market to a buy shop

Other comment(s): Creates shop (with back button)

Calls function(s):
directory:ram/clear
directory:shop/init/quantity

Takes an input on #ep.raw_time ep.variable and converts it to a time in Mm

Calls function(s):
directory:formatter/clear
directory:formatter/time/hh-mm-ss
directory:formatter/clear

Formats the amount the player has earned from a shop (for tooltip)

Formats the amount the player has earned from a shop (for tooltip)

Other comment(s): function directory:ram/clear
function directory:heap/get/time
execute store result score #ep.reset_time ep.time run data get storage ep:memory output_time.reset_time
execute store result score #ep.local_time ep.time run data get storage ep:memory output_time.start_time

Calls function(s):
directory:shop/event/reset_max_use

Other comment(s): function directory:heap/get/max_use
data modify storage ep:memory input_max_use set from storage ep:memory output_max_use
function directory:heap/set/max_use
execute store result storage ep:memory input_start_time int 1 run scoreboard players get #ep.timeline ep.time
function directory:heap/set/start_time

Calls function(s):
directory:heap/get/quantity
directory:shop/draw/current_use

Runs when the owner stocks the shop

Calls function(s):
directory:shop/draw/current_use

Runs when the owner stocks the shop

Calls function(s):
directory:shop/draw/current_use

Runs when the owner stocks the shop

Calls function(s):
directory:shop/draw/current_use

Runs when the owner stocks the shop

Calls function(s):
directory:shop/draw/current_use

Reverts slightly created sign to old sign execute if entity @s[tag=ep.trait.buyer] run data merge block ~ ~ ~ {Text1: '{"text": "Buy", "color": "blue", "clickEvent": {"action": "run_command", "value": "/function directory:buyer/init"}}', Text2: '{"text": "Right Click", "color": "green", "underlined": false}', Text3: '[{"text": "x", "color": "white"}, {"text": "0", "color": "gray"}, {"text": "(0)", "color": "white"}]', Text4: '[{"text": "0", "color": "yellow"}]'} execute if entity @s[tag=ep.trait.seller] run data merge block ~ ~ ~ {Text1: '{"text": "Sell", "color": "red", "clickEvent": {"action": "run_command", "value": "/function directory:seller/init"}}', Text2: '{"text": "Right Click", "color": "green", "underlined": false}', Text3: '[{"text": "x", "color": "white"}, {"text": "0", "color": "gray"}, {"text": "(0)", "color": "white"}]', Text4: '[{"text": "0", "color": "yellow"}]'} execute if entity @s[tag=ep.trait.market.buy] run data merge block ~ ~ ~ {Text1: '{"text": "Market", "color": "gold", "clickEvent": {"action": "run_command", "value": "/function directory:market/init"}}', Text2: '{"text": "Right Click", "color": "green", "underlined": false}', Text3: '[{"text": "x", "color": "white"}, {"text": "0", "color": "gray"}, {"text": "(0)", "color": "white"}]', Text4: '[{"text": "0", "color": "yellow"}]'} execute if entity @s[tag=ep.trait.market.sell] run data merge block ~ ~ ~ {Text1: '{"text": "Market", "color": "gold", "clickEvent": {"action": "run_command", "value": "/function directory:market/init"}}', Text2: '{"text": "Right Click", "color": "green", "underlined": false}', Text3: '[{"text": "x", "color": "white"}, {"text": "0", "color": "gray"}, {"text": "(0)", "color": "white"}]', Text4: '[{"text": "0", "color": "yellow"}]'} kill @s

The functions that load/setup the datapack
# constants

Objective(s): ep.display_money dummy {"text": "Money"}
ep.money dummy {"text": "Money"}
ep.bank dummy {"text": "Bank"}
ep.highest_money dummy {"text": "Highest Money You Ever Had"}
ep.debt dummy {"text": "Debt"}
ep.debt_state dummy
ep.debt_start dummy {"text": "Debt Start Time"}
ep.debt_time dummy {"text": "Debt Time"}
ep.variable dummy
ep.config dummy
ep.state dummy
ep.uid trigger {"text": "Fendoran's UID"}
ep.interact minecraft.custom:minecraft.talked_to_villager
ep.time dummy {"text": "Relativistic Time Syncing"}
ep.reset_time dummy
ep.end_time dummy
ep.use dummy
ep.max_use dummy
ep.animation dummy
ep.pre_tp dummy
ep.tp_cooldown dummy
ep.tp_cooldown1 dummy
ep.tp_cooldown2 dummy
ep.tp_cooldown3 dummy
ep.tp_cooldown4 dummy
ep.actionbar dummy
ep.announcement dummy
ep.age dummy
travel trigger {"text": "Travel"}
auction trigger {"text": "Auction"}
bid trigger {"text": "Bid"}
loan trigger {"text": "Loan"}
credit trigger {"text": "Credit"}
debt trigger {"text": "Debt"}
deposit trigger {"text": "Deposit"}
withdraw trigger {"text": "Withdraw"}
pay trigger {"text": "Pay"}
balance trigger {"text": "Balance"}
bank trigger {"text": "Bank"}
sell trigger {"text": "Sell"}
buy trigger {"text": "Buy"}
commands trigger {"text": "Commands"}
market trigger {"text": "Market"}
settings trigger {"text": "Settings"}
ep.interest_time minecraft.custom:minecraft.play_one_minute "Last Interest"
ep.tax_time minecraft.custom:minecraft.play_one_minute "Last Tax"
ep.income dummy "income"
ep.ab_displace dummy
ep.ab_displace2 dummy
used to grab positions of players and entities
ep.position.x dummy
ep.position.y dummy
ep.position.z dummy
Stores shop owner's UID into the shops
ep.owner dummy
Stores how much money a player shop owns
ep.stored_money dummy

Constant(s): how much each market sign costs:
sets the time it takes for a teleport to work
#ep.enum.shop.infinite_use ep.state = 0 -> entity #ep.enum.shop.infinite_use
#ep.enum.command.idle ep.state = 0 -> entity #ep.enum.command.idle 'Idle' enum state of player

Other comment(s): define objective ep.money Hold money of players
define objective ep.variable General objective for calculation
Initializes the bank values
Editable Bank Values
Bank Interest Values
Bank Loan Values
define entity #ep.loan.interest_time.1
define entity #ep.loan.interest_time.2
define entity #ep.loan.interest_time.3
define entity #ep.loan.max_loan
define entity #ep.loan.interest_rate.1
define entity #ep.loan.interest_rate.2
define entity #ep.loan.interest_rate.3
define entity #ep.debt.phase.1
define entity #ep.debt.phase.2
define entity #ep.debt.blacklist_clearance
Bank Taxes
Disabled Bank Statuses
Money Drops
Player Shops (disabled by default)
The amount players have spent/earned on shop signs
define objective ep.ab_displace Determine the time to 'displace' currency's actionbar to subtitle
define entity #ep.state
define entity #ep.float_tooltip.lifetime Determine how long 'float tooltip' should live
define entity #ep.float_tooltip.move_time Determine how long 'float tooltip' should move before stopping
Shop Cooldown (time in seconds) * 20 = #
Spawn Cooldown (time in seconds) * 20 = #
Home Cooldown (time in seconds) * 20 = #
Auction Cooldown (time in seconds) * 20 = #
Bank Cooldown (time in seconds) * 20 = #
define entity #ep.auction.time
define entity #ep.auction.auction_time
define entity #ep.currency.displacement_time
define entity #ep.start_money
define entity #ep.start_bank
define entity #ep.bed.near
define entity #ep.bed.far
define entity #ep.ui.value
define entity #ep.ui.default
define entity #ep.dead.drop
define entity #ep.dead.void
define entity #ep.mob.drop
define entity BOOLEAN_STATE
define entity ZERO xD
define entity 100
define entity -1
define entity MAX_INT Maxium integer limit (2^31-1)
define entity MIN_STACK Minium item stack size
define entity ITEM_STACK Item stack size
define entity MINUTE One minute in ticks
define entity HOUR One hour in ticks
define entity SECOND One second in ticks
define entity MINUTE_IN_SECOND One minute in seconds
define entity SINGLE_DIGIT
Gametime time values
define entity #ep.target_uid Target UID, use to find the matching UID
define entity #ep.current_shop_uid Current UID of a sign
define entity #ep.current_player_uid Current UID of a player
define entity #ep.auction.state
define entity #ep.timeline Absolute global time scale
define entity #ep.raycast
define tag ep.spawning
define tag ep.trait.ui.number
define tag ep.trait.ui.button
define tag ep.trait.ui.submit
define bossbar ep:auction

Calls function(s):
directory:enum/auction
directory:enum/bank
directory:enum/bid
directory:enum/boolean
directory:enum/buyer
directory:enum/debt
directory:enum/loan
directory:enum/seller
directory:enum/sign
directory:enum/deposit
directory:enum/withdraw
directory:enum/pay
directory:enum/travel
directory:enum/sell
directory:enum/buy
directory:enum/market
directory:config
unit_test:main

Other comment(s): Used for the shop display of money spent (relative to shop)
Money is removed from the vault

Calls function(s):
directory:transaction/transfer
directory:seller/message/success_sell
directory:seller/use/factory
directory:player/inventory_writer/run
directory:seller/use/float_tooltip
directory:shop/event/use

Calls function(s):
directory:heap/get/data

Other comment(s): Append all left over items to output

Calls function(s):
directory:seller/use/factory

Other comment(s): > Remove any nbt that doesn't need to be filter here first

Calls function(s):
directory:seller/use/checker/loop
directory:seller/use/fail
directory:seller/use/success

Other comment(s): define tag ep.trait.shop
define tag ep.trait.seller

Calls function(s):
directory:seller/constructor/builder

Other comment(s): define storage ep:memory RAM storage
> RAM should be clear frequently because of this bug: https://bugs.mojang.com/browse/MC-92264

Other comment(s): > TODO

Calls function(s):
directory:player_shop/method/return_item

Other comment(s): define tag ep.player_shop.owner

Calls function(s):
directory:ram/clear
directory:player_shop/method/get_name
directory:player_shop/message/broadcast

# does permanent display

Other comment(s): execute if score @s ep.state = #ep.enum.sell.broadcast ep.state run function directory:player_shop/sale

Calls function(s):
directory:player_shop/sale

Other comment(s): define tag ep.trait.player_shop

Displays the tooltip (item and time)

Other comment(s): removes the entity for being killed, since a player is looking at it
Summons the item/AEC if it doesn't exist

Other comment(s): Raycasts to find the shop the player is looking at

Calls function(s):
directory:player/tooltip/found
directory:player/tooltip/raycast

Initial raycast function for tooltips

Calls function(s):
directory:player/tooltip/raycast

When a shop is found, this command is ran to display the items

Other comment(s): Clears the ram used for data storage
Sets score of #ep.target_uid ep.uid to shop's uid, and owner uid (if available)

Calls function(s):
directory:ram/clear
directory:heap/get/data
directory:player/tooltip/tooltip
directory:player/tooltip/tooltip
directory:player/tooltip/display

Sets up correct display for the shop/sign tooltips (ran by the shop)

Calls function(s):
directory:shop/method/formatted_time
directory:shop/method/formatted_earned
directory:shop/method/formatted_number

Other comment(s): Detects if player is near a bed

When ran at the player (or any entity for that matter) it gets the coords and stores in ep.position.x and so on

Author(s): dvancement grant @s[advancements={economy_plus:bank_interest=false}] only economy_plus:bank_interest

Other comment(s): Displays to player that they have increased their debt due to interest

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Tells the player that their interest rate has increased
function directory:tracker/currency/displace

Other comment(s): Tells player they can no longer purchase from shops
function directory:tracker/currency/displace

Other comment(s): Displays to player that they are no longer blacklisted to shops
function directory:tracker/currency/displace

Other comment(s): Displays to player that they have increased their debt due to interest

Calls function(s):
directory:tracker/currency/displace

Other comment(s): Displays to player that they have increased their debt due to interest

Calls function(s):
directory:tracker/currency/displace

Executes as every player with the ep.player.init tag

Other comment(s): If a player is in debt, run this command to work on it
If a player is near a shop, the player runs this command

Calls function(s):
directory:player/event/debt_time
directory:player/event/bank_interest_time
directory:player/event/tax_time
directory:player/tooltip/main
directory:tracker/area
directory:tracker/command
directory:tracker/currency
directory:tracker/interaction
directory:player/event/awaiting_teleport
directory:player/advancement

Determines if player is eligible for taxation

Calls function(s):
directory:player/event/take_tax

Calculates and increments player's interest

Calls function(s):
directory:player/message/take_tax

If the player walks away from their spot

Other comment(s): Remove TP tags

Other comment(s): scoreboard players operation #ep.sender ep.money = MAX_INT ep.variable
scoreboard players operation #ep.receiver ep.money = @s ep.money
scoreboard players operation #ep.transaction ep.money = #ep.mob.drop ep.variable
function directory:transaction/transfer
scoreboard players operation @s ep.money = #ep.receiver ep.money
function directory:player/message/kill_mob

Other comment(s): This function handles player debt
Calculates the relativistic time since last loan increase
Calculates the relativistic time since the debt was created
runs different functions depending on the player's debt state
Calculates when/if a player is to receive interest
detects if a player must have an increase in debt

Calls function(s):
directory:player/event/debt_time/remove_bad_credit
directory:player/event/debt_time/blacklist
directory:player/event/debt_time/not_paying
directory:player/event/debt_interest

Other comment(s): Resets a player's bad credit after they have waited

Calls function(s):
directory:player/message/debt_time/bad_credit

Other comment(s): Sets players to debt level 2, which increases their interest rate

Calls function(s):
directory:player/message/debt_time/not_paying

Other comment(s): Blacklists players from shop when they are in bad credit

Calls function(s):
directory:player/message/debt_time/blackhole

Other comment(s): Calculates and increments player's interest

Calls function(s):
directory:player/message/debt_interest

Determines if player is eligible for bank interest

Calls function(s):
directory:player/event/bank_interest

Calculates and increments player's interest

Calls function(s):
directory:player/message/bank_interest

Runs when the player is waiting to be teleported title @s times 0 50 5 scoreboard players remove @s ep.pre_tp 1 scoreboard players operation #ep.cool_down ep.variable = @s ep.pre_tp scoreboard players add #ep.cool_down ep.variable 20 scoreboard players operation #ep.cool_down ep.variable /= SECOND ep.variable title @s[tag=ep.trait.player.teleport.shop] subtitle [{"text":"Traveling to ","color":"gray","bold":false},{"text":"Shop","color":"light_purple","bold":true},{"text":" in ","color":"gray","bold":false},{"score":{"name":"#ep.cool_down","objective":"ep.variable"},"color":"dark_gray","bold":true},{"text":" seconds.","color":"gray","bold":false}] title @s[tag=ep.trait.player.teleport.home] subtitle [{"text":"Traveling to ","color":"gray","bold":false},{"text":"Home","color":"white","bold":true},{"text":" in ","color":"gray","bold":false},{"score":{"name":"#ep.cool_down","objective":"ep.variable"},"color":"dark_gray","bold":true},{"text":" seconds.","color":"gray","bold":false}] title @s[tag=ep.trait.player.teleport.spawn] subtitle [{"text":"Traveling to ","color":"gray","bold":false},{"text":"Spawn","color":"aqua","bold":true},{"text":" in ","color":"gray","bold":false},{"score":{"name":"#ep.cool_down","objective":"ep.variable"},"color":"dark_gray","bold":true},{"text":" seconds.","color":"gray","bold":false}] title @s[tag=ep.trait.player.teleport.auction] subtitle [{"text":"Traveling to ","color":"gray","bold":false},{"text":"Auction","color":"red","bold":true},{"text":" in ","color":"gray","bold":false},{"score":{"name":"#ep.cool_down","objective":"ep.variable"},"color":"dark_gray","bold":true},{"text":" seconds.","color":"gray","bold":false}] title @s[tag=ep.trait.player.teleport.bank] subtitle [{"text":"Traveling to ","color":"gray","bold":false},{"text":"Bank","color":"yellow","bold":true},{"text":" in ","color":"gray","bold":false},{"score":{"name":"#ep.cool_down","objective":"ep.variable"},"color":"dark_gray","bold":true},{"text":" seconds.","color":"gray","bold":false}] title @s title {"text":"Teleporting...","color":"green","bold":true} # player has moved: execute store result score #ep.temp ep.position.x run data get entity @s Pos[0] execute store result score #ep.temp ep.position.y run data get entity @s Pos[1] execute store result score #ep.temp ep.position.z run data get entity @s Pos[2] execute unless score @s ep.position.x = #ep.temp ep.position.x run function directory:player/event/leave_teleport execute if score @s ep.position.x = #ep.temp ep.position.x unless score @s ep.position.y = #ep.temp ep.position.y run function directory:player/event/leave_teleport execute if score @s ep.position.x = #ep.temp ep.position.x if score @s ep.position.y = #ep.temp ep.position.y unless score @s ep.position.z = #ep.temp ep.position.z run function directory:player/event/leave_teleport # time is up, and successful execute if score @s[tag=ep.trait.player.teleport.shop] ep.pre_tp matches ..0 run function directory:terminal/teleport/shop execute if score @s[tag=ep.trait.player.teleport.home] ep.pre_tp matches ..0 run function directory:terminal/teleport/home execute if score @s[tag=ep.trait.player.teleport.spawn] ep.pre_tp matches ..0 run function directory:terminal/teleport/spawn execute if score @s[tag=ep.trait.player.teleport.auction] ep.pre_tp matches ..0 run function directory:terminal/teleport/auction execute if score @s[tag=ep.trait.player.teleport.bank] ep.pre_tp matches ..0 run function directory:terminal/teleport/bank execute if score @s ep.pre_tp matches ..0 run scoreboard players reset ep.cool_down ep.variable execute if score @s ep.pre_tp matches ..0 run scoreboard players reset @s ep.pre_tp

Lookup table for if the player has any valid advancements execute if score @s[advancements={economy_plus:earn_any=false}] ep.money matches 0.. run advancement grant @s only economy_plus:earn_any execute if score @s[advancements={economy_plus:earn_100=false}] ep.money matches 100.. run advancement grant @s only economy_plus:earn_100 execute if score @s[advancements={economy_plus:earn_1000=false}] ep.money matches 1000.. run advancement grant @s only economy_plus:earn_1000 execute if score @s[advancements={economy_plus:earn_10000=false}] ep.money matches 10000.. run advancement grant @s only economy_plus:earn_10000 execute if score @s[advancements={economy_plus:earn_25000=false}] ep.money matches 25000.. run advancement grant @s only economy_plus:earn_25000 execute if score @s[advancements={economy_plus:earn_50000=false}] ep.money matches 50000.. run advancement grant @s only economy_plus:earn_50000 execute if score @s[advancements={economy_plus:earn_100000=false}] ep.money matches 100000.. run advancement grant @s only economy_plus:earn_100000 execute if score @s[advancements={economy_plus:earn_1000000=false}] ep.money matches 1000000.. run advancement grant @s only economy_plus:earn_1000000

Determines if the player is a buyer, or the owner of the market shop execute if score @s ep.uid = @e[type=area_effect_cloud,tag=ep.trait.market,limit=1,sort=nearest] ep.owner run function directory:market/use_sell/owner execute unless score @s ep.uid = @e[type=area_effect_cloud,tag=ep.trait.market,limit=1,sort=nearest] ep.owner run function directory:market/use_sell/seller kill @e[type=area_effect_cloud,tag=ep.trait.tooltip.currency_earned,limit=1,sort=nearest]

Allows other players to sell to player market sell shop

Other comment(s): Gets the inventory size of the market

Calls function(s):
directory:ram/clear
directory:market/use_sell/seller/main
directory:market/message/full_inventory
directory:market/message/seller/no_money
directory:market/use_sell/checker/main
directory:ram/clear

Calls function(s):
directory:heap/get/data

Removes items from seller's inventory & performs logistics

Other comment(s): Append all left over items to output

Calls function(s):
directory:seller/use/factory

Calls function(s):
directory:buyer/use/product

Runs if the player has the correct item in their inventory

Other comment(s): scoreboard players operation #ep.sender ep.money = MAX_INT ep.variable
scoreboard players operation #ep.receiver ep.money = @s ep.money
scoreboard players operation #ep.transaction ep.money = #ep.price ep.variable
function directory:transaction/transfer
scoreboard players operation @s ep.money = #ep.receiver ep.money

Calls function(s):
directory:market/message/success_sell
directory:market/use_buy/owner/factory
directory:player/inventory_writer/run
directory:market/message/owner/success_sell
directory:shop/event/market_owner_use

Sets values for the shop

Calls function(s):
directory:heap/get/data

Runs if the player doesn't have the required item(s)

Calls function(s):
directory:market/message/owner/full_inventory

Runs if the player doesn't have the required item(s)

Calls function(s):
directory:market/message/owner/fail_sell

Due to a problem with stacks of items more than 127 not being supported, this function will loop through the amount of items, spawning a stack or less at a time

Calls function(s):
directory:market/pickup_under_65
directory:market/pickup_over_64
directory:market/use_sell/owner/collect_loop

Adds items that have passed the check to the filtered_list

Checks if player has the correct item(s), and amount of item(s)

Other comment(s): > Remove any nbt that doesn't need to be filter here first

Calls function(s):
directory:market/use_sell/checker/loop
directory:market/message/seller/fail
directory:market/use_sell/seller/success

Loops through every item in the player's inventory to see if they can sell it

Calls function(s):
directory:market/use_sell/checker/pass
directory:market/use_sell/checker/fail
directory:market/use_sell/checker/loop

Adds all failed items to the failed_list in storage

Determines if the player is a buyer, or the owner of the market shop execute if score @s ep.uid = @e[type=area_effect_cloud,tag=ep.trait.market,limit=1,sort=nearest] ep.owner run function directory:market/use_buy/owner execute unless score @s ep.uid = @e[type=area_effect_cloud,tag=ep.trait.market,limit=1,sort=nearest] ep.owner run function directory:market/use_buy/buyer kill @e[type=area_effect_cloud,tag=ep.trait.tooltip.currency_earned,limit=1,sort=nearest]

Calls function(s):
directory:buyer/use/product

Runs if the player has the correct item in their inventory

Other comment(s): scoreboard players operation #ep.sender ep.money = MAX_INT ep.variable
scoreboard players operation #ep.receiver ep.money = @s ep.money
scoreboard players operation #ep.transaction ep.money = #ep.price ep.variable
function directory:transaction/transfer
scoreboard players operation @s ep.money = #ep.receiver ep.money

Calls function(s):
directory:market/message/success_sell
directory:market/use_buy/owner/factory
directory:player/inventory_writer/run
directory:market/message/owner/success_sell
directory:shop/event/market_owner_use

Sets values for the shop

Calls function(s):
directory:heap/get/data

Runs if the player doesn't have the required item(s)

Calls function(s):
directory:market/message/full_inventory

Runs if the player doesn't have the required item(s)

Calls function(s):
directory:market/message/owner/fail_sell

Does the "stocking" part

Other comment(s): Append all left over items to output

Calls function(s):
directory:market/use_buy/owner/factory

Runs when the shop owner collects money from the shop

Calls function(s):
directory:transaction/transfer
directory:market/message/owner/collect

Adds items that have passed the check to the filtered_list

Checks to see if the item the player has, is the same as the one in the market shop

Other comment(s): > Remove any nbt that doesn't need to be filter here first
loops through the player's inventory, adding together all sellable (same item) items
Gets how many items the sign can store
If the player has enough, it either fails or is successful

Calls function(s):
directory:market/use_buy/checker/loop
directory:market/use_buy/owner/fail
directory:market/use_buy/owner/full_inventory
directory:market/use_buy/owner/success

Loops through every item in the player's inventory to see if they can sell it

Calls function(s):
directory:market/use_buy/checker/pass
directory:market/use_buy/checker/fail
directory:market/use_buy/checker/loop

Adds all failed items to the failed_list in storage

Runs if player is able to purchase item from market shop

Other comment(s): Transfers money from player to shop
adds to the shops money storage

Calls function(s):
directory:transaction/transfer
directory:market/message/buyer/success_purchase
directory:market/use_buy/float_tooltip
directory:market/use_buy/buyer/factory
directory:shop/event/market_buyer_use

If the current value is under 65 execute store result block 29999999 5 29999999 Items[0].Count byte 1 run scoreboard players get #ep.left_quantity ep.variable scoreboard players reset #ep.left_quantity ep.variable

If the current value is over 64 data modify block 29999999 5 29999999 Items[0].Count set value 64 scoreboard players remove #ep.left_quantity ep.variable 64

Due to a problem with stacks of items more than 127 not being supported, this function will loop through the amount of items, spawning a stack or less at a time setblock 29999999 5 29999999 shulker_box setblock 29999999 6 29999999 shulker_box data modify block 29999999 5 29999999 Items[] set from storage ep:memory output_item execute if score #ep.left_quantity ep.variable matches ..64 run function directory:market/pickup_under_65 execute if score #ep.left_quantity ep.variable matches 65.. run function directory:market/pickup_over_64 loot insert 29999999 6 29999999 mine 29999999 5 29999999 stick{ucit:{id:"inventory_modifier"}} loot spawn ~ ~ ~ mine 29999999 6 29999999 stick{ucit:{id:"inventory_modifier"}} setblock 29999999 5 29999999 air setblock 29999999 6 29999999 air execute if score #ep.left_quantity ep.variable matches 1.. run function directory:market/pickup_loop

When the owner is standing in the item, this is ran ## Creates items and money for shop owner to collect later after the market shop has been destroyed execute positioned ~ ~1.7 ~ run kill @e[type=area_effect_cloud,tag=ep.trait.broken_market_shop.hover,distance=..0.5,limit=1] function directory:heap/get/quantity function directory:heap/get/data scoreboard players operation #ep.sender ep.money = MAX_INT ep.variable scoreboard players operation #ep.receiver ep.money = @s ep.money scoreboard players operation #ep.transaction ep.money = #ep.price ep.variable function directory:transaction/transfer scoreboard players operation @s ep.money = #ep.receiver ep.money function directory:market/message/owner/pickup execute store result score #ep.total_quantity ep.variable run data get storage ep:memory output_quantity scoreboard players operation #ep.total_quantity ep.variable *= #ep.use ep.variable scoreboard players operation #ep.left_quantity ep.variable = #ep.total_quantity ep.variable execute if score #ep.total_quantity ep.variable matches 1.. run function directory:market/pickup_loop function directory:heap/remove function directory:ui/remove execute as @e[tag=ep.trait.broken_market_shop,distance=..0.5] if score @s ep.owner = #ep.target_uid ep.owner run kill @s scoreboard players operation #ep.vault ep.variable -= #ep.market.sign_cost ep.variable

Tells the player the shop is full on stock

Tells the player they don't have the required item(s)

Calls function(s):
directory:tracker/currency/displace

Tells the player their item stocking was successful

Calls function(s):
directory:tracker/currency/displace

Tells the player their item stocking was successful

Calls function(s):
directory:tracker/currency/displace

Tells the player they don't have the required item(s)

Calls function(s):
directory:tracker/currency/displace

Tells the player they don't have the required item(s)

Calls function(s):
directory:tracker/currency/displace

Tells the player they don't have the required item(s)

Calls function(s):
directory:tracker/currency/displace

Tells the player they don't have the required item(s)

Calls function(s):
directory:tracker/currency/displace

Tells the player they don't have the required item(s)

Calls function(s):
directory:tracker/currency/displace

Tells the player the shop is full on stock

This is the floating chest entity if the player shop has been broken scoreboard players operation #ep.target_uid ep.owner = @s ep.owner scoreboard players operation #ep.target_uid ep.uid = @s ep.uid scoreboard players operation #ep.use ep.variable = @s ep.use scoreboard players operation #ep.price ep.variable = @s ep.stored_money execute as @p[distance=..0.5] if score @s ep.uid = #ep.target_uid ep.owner run function directory:market/owner_pickup tp @s[nbt={OnGround:1b}] ~ ~ ~ ~5 ~ data merge entity @s[nbt={OnGround:1b}] {NoGravity:1b} execute if entity @s[nbt={NoGravity:1b}] positioned ~ ~1.7 ~ unless entity @e[type=area_effect_cloud,tag=ep.trait.broken_market_shop.hover,distance=..0.1,limit=1] run summon area_effect_cloud ~ ~ ~ {Tags:['ep.trait.broken_market_shop.hover'],CustomNameVisible:1b,Duration:20,CustomName:'{"text":"Player Shop","color":"gray"}'}

Ran once player clicks sign, verifies that player has a valid item in hand

Calls function(s):
directory:market/init/setup/success
directory:market/init/setup/fail

If item is valid, sets item, and begins the terminal interface

Other comment(s): Temporarily stores the UID of the shop owner into #ep.shop_owner ep.uid

Calls function(s):
directory:market/constructor/new
directory:market/init/setup/builder

Is ran if the buy item is invalid, or doesn't exist (empty hand)

Calls function(s):
directory:shop/message/empty_hand
directory:shop/message/untradable

Other comment(s): define tag ep.trait.shop
define tag ep.trait.buyer

Calls function(s):
directory:market/constructor/builder

Sets up newly summoned AEC with default scores

Checks if the player's inv is full of items

Other comment(s): exclude offhand and armor slots

Other comment(s): Checks if the config has the pack enabled

Calls function(s):
directory:enabled

Calls function(s):
directory:heap/method/set_use

Calls function(s):
directory:heap/method/set_item

Calls function(s):
directory:heap/method/remove

Other comment(s): Gets the quantity of the item

Other comment(s): Gets the name for the item

Other comment(s): Copys to storage shop data

Calls function(s):
directory:heap/method/get_name
directory:heap/method/get_quantity

Calls function(s):
directory:heap/method/get_name

Other comment(s): sets up and calls the get data method

Calls function(s):
directory:heap/method/get_data

Other comment(s): define entity #ep.input.time

Other comment(s): define entity #ep.input.time

Other comment(s): define entity #ep.input.time

Calls function(s):
directory:floater/remove

Displays the amount the admin shops have earned and spent

Calls function(s):
directory:floater/type/spawn/display/summon_time

Summons the bank balance of the nearest player

Calls function(s):
directory:floater/method/formatted_time

Other comment(s): define tag ep.player.inside_floater
function directory:floater/visualize

Calls function(s):
directory:floater/type/shop/spawned
directory:tracker/area/event/enter_floater/shop
directory:floater/type/shop/display

Calls function(s):
directory:floater/remove

Displays the amount the admin shops have earned and spent

Calls function(s):
directory:floater/type/shop/display/summon_earned
directory:floater/type/shop/display/summon_spent

Summons the amount the admin shop has earned

Calls function(s):
directory:floater/method/formatted_earned

Summons the amount the admin shop has earned

Calls function(s):
directory:floater/method/formatted_earned

Calls function(s):
directory:floater/remove

Displays the amount the admin shops have earned and spent

Calls function(s):
directory:floater/type/bank/display/summon_bank_balance

Summons the bank balance of the nearest player

Calls function(s):
directory:floater/method/formatted_earned

Calls function(s):
directory:floater/remove

Other comment(s): Sets a custom name to time

Formats an currency amount for the floater texts

Other comment(s): define entity #ep.enum.withdraw.idle
define entity #ep.enum.withdraw.negative
define entity #ep.enum.withdraw.invalid_location
define entity #ep.enum.withdraw.not_enough_money
define entity #ep.enum.withdraw.too_big

Other comment(s): define entity #ep.enum.travel.init
define entity #ep.enum.travel.disabled

Other comment(s): define entity #ep.enum.sell.idle
define entity #ep.enum.sell.empty_hand
define entity #ep.enum.sell.untradable
define entity #ep.enum.sell.too_close

Other comment(s): define entity #ep.enum.sign.init 'init' enum state of a sign
define entity #ep.enum.sign.setup 'item setup' enum state of a sign
define entity #ep.enum.sign.quantity 'Amount setup' enum state of a sign
define entity #ep.enum.sign.price 'Price setup' enum state of a sign
define entity #ep.enum.sign.max_use 'Max usage setup' enum state of a sign
define entity #ep.enum.sign.reset_time 'Reset Timer setup' enum state of a sign
define entity #ep.enum.sign.finish 'Completed setup' enum state of a sign

Other comment(s): define entity #ep.enum.seller.idle
define entity #ep.enum.seller.blacklist
define entity #ep.enum.seller.in_cooldown

Other comment(s): define entity #ep.enum.sell.idle
define entity #ep.enum.sell.empty_hand
define entity #ep.enum.sell.untradable
define entity #ep.enum.sell.too_close
define entity #ep.enum.sell.item
define entity #ep.enum.sell.price
define entity #ep.enum.sell.broadcast

Other comment(s): define entity #ep.enum.pay.idle
define entity #ep.enum.pay.negative
define entity #ep.enum.pay.no_player
define entity #ep.enum.pay.not_enough_money
define entity #ep.enum.pay.too_big

Constant(s): maximum number of stored item sets

Other comment(s): define entity #ep.enum.market.idle
define entity #ep.enum.market.successful
define entity #ep.enum.market.not_enough_money

Other comment(s): define entity #ep.enum.loan.idle
define entity #ep.enum.loan.over_asset
define entity #ep.enum.loan.over_max_loan
define entity #ep.enum.loan.in_debt
define entity #ep.enum.loan.phase.1
define entity #ep.enum.loan.phase.2
define entity #ep.enum.loan.phase.3
define entity #ep.enum.loan.negative
define entity #ep.enum.loan.invalid_location

Other comment(s): define entity #ep.enum.deposit.idle
define entity #ep.enum.deposit.negative
define entity #ep.enum.deposit.invalid_location
define entity #ep.enum.deposit.not_enough
define entity #ep.enum.deposit.too_big

Other comment(s): define entity #ep.enum.debt.idle
define entity #ep.enum.debt.start
define entity #ep.enum.debt.not_paying
define entity #ep.enum.debt.blacklist
define entity #ep.enum.debt.bad_credit

Other comment(s): define entity #ep.enum.buyer.idle
define entity #ep.enum.buyer.blacklist
define entity #ep.enum.buyer.not_enough_balance
define entity #ep.enum.buyer.in_cooldown

Other comment(s): define entity #ep.enum.buy.idle
define entity #ep.enum.buy.not_enough_money
define entity #ep.enum.buy.shop_not_found

Other comment(s): define entity #ep.enum.bool.false Primitive 'FALSE' data type
define entity #ep.enum.bool.true Primitive 'TRUE' data type

Other comment(s): define entity #ep.enum.bid.idle
define entity #ep.enum.bid.illegal
define entity #ep.enum.bid.over
define entity #ep.enum.bid.under
define entity #ep.enum.bid.money
define entity #ep.enum.bid.no_auction
define entity #ep.enum.bid.invalid_location
define entity #ep.enum.bid.negative

Other comment(s): define entity #ep.enum.bank.idle
define entity #ep.enum.bank.over_debt
define entity #ep.enum.bank.over_balance
define entity #ep.enum.bank.not_in_debt
define entity #ep.enum.bank.negative
define entity #ep.enum.bank.invalid_location

Other comment(s): > Auction enum for /trigger auction command
define entity #ep.enum.auction.idle
define entity #ep.enum.auction.already_started
define entity #ep.enum.auction.invalid_location
> Auction enum for the auction system
define entity #ep.enum.auction.init
define entity #ep.enum.auction.item
define entity #ep.enum.auction.min_bid
define entity #ep.enum.auction.broadcast
> Auction enum for the auction gui
define entity #ep.enum.auction.item_not_found
define entity #ep.enum.auction.untradable_item

Other comment(s): Where everything is ran from
relativistic timeline
initializes players when they join for the first time
tags tooltips with a kill tag, that is removed if a player is looking at that sign (should be relocated to somewhere in the player folder)
runs for every initialized player every tick
kills any tooltip that is more than 6 blocks from a player
Ensures that the vault minimum is always the lowest value possible

Calls function(s):
directory:player/init
directory:player/main
directory:shop/main
directory:float_tooltip/main
directory:animation/main
directory:floater/main
directory:terminal/main
directory:player_shop/main
directory:currency_drop/main
directory:market/main
directory:currency_drop/drop
directory:currency_drop/inventory/clear
directory:auction/main

Calls function(s):
directory:currency_drop/pickup

Other comment(s): define entity #ep.list_statistic
define entity #ep.sidebar_statistic
define entity #ep.actionbar_statistic
define entity #ep.teleport
define entity #ep.enabled

Calls function(s):
config:list/enable
config:sidebar/enable
config:actionbar/enable
config:below_name/disable
config:teleport/enable
config:mob_currency/disable

Other comment(s): Used for the shop display of money earned (relative to shop)
Money is sent to the vault

Calls function(s):
directory:transaction/transfer
directory:buyer/message/success_purchase
directory:buyer/use/float_tooltip
directory:buyer/use/factory
directory:shop/event/use

Calls function(s):
directory:buyer/use/product

Calls function(s):
directory:buyer/use/product

Ran once player clicks sign, verifies that player has a valid item in hand

Calls function(s):
directory:buyer/init/setup/success
directory:buyer/init/setup/fail

If item is valid, sets item, and begins the terminal interface

Other comment(s): Sets the owner of the terminal, which can help prevent other players from clicking the terminal

Calls function(s):
directory:buyer/constructor/new
directory:buyer/init/setup/builder

Is ran if the buy item is invalid, or doesn't exist (empty hand)

Calls function(s):
directory:shop/message/empty_hand
directory:shop/message/untradable

Other comment(s): define tag ep.trait.shop
define tag ep.trait.buyer

Calls function(s):
directory:buyer/constructor/builder

Sets up newly summoned AEC with default scores

Checks if the player's inv is full of items

Other comment(s): exclude offhand and armor slots

Sets item for auction

Calls function(s):
directory:auction/init/item

Other comment(s): define entity #ep.auction.time

Calls function(s):
directory:auction/method/bossbar
directory:auction/method/end

Other comment(s): define storage ep:auction

Calls function(s):
directory:auction/clear/all
directory:auction/init/item
directory:auction/message/select_item

Date: ata merge entity @e[tag=ep.trait.auction_item,limit=1] {PickupDelay:0,CustomNameVisible:0b}

Other comment(s): tp @e[tag=ep.trait.auction_item,limit=1] @s

Calls function(s):
directory:terminal/remove
directory:terminal/init/auction_item_ui
directory:auction/state/item

Calls function(s):
directory:auction/init/item

Other comment(s): Clears the player's bids

Other comment(s): Clears the player's auction

Other comment(s): Clears all things auction

Calls function(s):
directory:auction/clear/auction
directory:auction/clear/bid

Sets minimum coordinates for spawn selection

Sets maximum coordinates for spawn selection