Files
DirtCryptoStore/target/classes/config.yml
T
2026-06-20 16:10:38 -04:00

473 lines
11 KiB
YAML

settings:
debug: false
payment:
poll-seconds: 30
invoice-expire-minutes: 30
confirmations-required: 2
max-pending-per-player: 1
allow-cancel: true
auto-close-paid-invoice-seconds: 5
mark-expired-on-open: true
strict-exact-amount-match: true
allow-late-match-if-unclaimed: true
late-match-grace-minutes: 120
pricing:
mode: "LIVE_USD"
live-rate-provider: "COINGECKO"
cache-seconds: 60
fallback-to-base-sats: true
round-up-to-sat: true
coingecko-url: "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd"
micro-amount:
mode: "RANDOM_RANGE"
min-extra-sats: 1
max-extra-sats: 200
sequential-start-sats: 1
sequential-reset-when-server-restarts: false
avoid-duplicate-active-amounts: true
max-generation-attempts: 500
storage:
type: "SQLITE"
sqlite-file: "dirtcryptostore.db"
prune-enabled: true
prune-after-days: 30
prune-statuses:
- "FULFILLED"
- "EXPIRED"
- "CANCELLED"
qr:
enabled: true
map-title: "&8Crypto QR"
include-bitcoin-uri-in-lore: true
include-wallet-address-in-lore: true
include-expiry-in-lore: true
include-confirmations-in-lore: true
show-qr-item-in-payment-gui: true
fallback-material-if-map-fails: "PAPER"
blockchain:
watcher-mode: "API"
provider: "BLOCKCHAIN_INFO"
request-timeout-seconds: 10
user-agent: "DirtCryptoStore/1.0.0"
wallet-cache-seconds: 20
tx-cache-seconds: 20
commands:
dispatch-as-console: true
stop-on-command-failure: false
log-dispatch: true
hooks:
use-placeholderapi-if-present: false
use-luckperms-context-if-present: false
wallets:
default:
enabled: true
display-name: "&6Bitcoin Wallet"
coin: "BTC"
address: "PUT_YOUR_CAKE_WALLET_BTC_ADDRESS_HERE"
explorer-type: "BTC"
min-confirmations: 2
allow-products: ["tip_jar", "gold_dust", "dirt_rich"]
messages:
prefix: "&8[&6DirtCryptoStore&8] "
no-permission: "&cYou do not have permission."
player-only: "&cOnly players can use this command."
reloaded: "&aDirtCryptoStore reloaded."
opening-store: "&aOpening crypto store..."
admin-reload-usage: "&eUse: /cryptostore reload"
already-has-pending: "&cYou already have a pending payment."
no-pending-payment: "&cYou do not have a pending payment."
invoice-created: "&aInvoice created for &f%product%&a."
invoice-expired: "&cThis payment request expired."
invoice-cancelled: "&eYour pending payment was cancelled."
invoice-paid-already: "&eThis invoice is already paid."
invoice-view-only: "&eThis invoice can no longer be changed."
pricing-unavailable: "&cLive BTC pricing is currently unavailable. Please try again in a moment."
payment-detected: "&aPayment detected for &f%product%&a. Waiting for confirmations..."
payment-confirmed: "&aYour crypto payment for &f%product% &ahas been confirmed."
payment-fulfilled: "&aYour purchase has been delivered."
payment-under-review: "&cThis payment requires staff review."
payment-not-found-yet: "&7No matching payment detected yet."
payment-status-waiting: "&eStatus: WAITING"
payment-status-detected: "&aStatus: DETECTED"
payment-status-confirming: "&6Status: CONFIRMING"
payment-status-paid: "&aStatus: PAID"
payment-status-expired: "&cStatus: EXPIRED"
payment-status-cancelled: "&cStatus: CANCELLED"
qr-expiry-line: "&7Expires in: &f%time%"
confirm-line: "&7Required confirmations: &f%confirmations%"
wallet-line: "&7Wallet: &f%wallet%"
wallet-address-line: "&7Address: &f%address%"
amount-line: "&7Amount: &f%amount%"
amount-sats-line: "&7Amount (sats): &f%amount_sats%"
product-line: "&7Product: &f%product%"
txid-line: "&7TXID: &f%txid%"
gui-cancel-button: "&cCancel Payment"
gui-back-button: "&eBack"
gui-close-button: "&cClose"
gui-refresh-button: "&bRefresh"
gui-confirmed-button: "&aPaid"
gui-expired-button: "&cExpired"
gui-pending-button: "&ePending"
sounds:
enabled: true
store-open:
sound: "BLOCK_ENDER_CHEST_OPEN"
volume: 1.0
pitch: 1.0
click:
sound: "UI_BUTTON_CLICK"
volume: 1.0
pitch: 1.0
invoice-created:
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
volume: 1.0
pitch: 1.2
payment-detected:
sound: "BLOCK_NOTE_BLOCK_PLING"
volume: 1.0
pitch: 1.5
payment-confirmed:
sound: "ENTITY_PLAYER_LEVELUP"
volume: 1.0
pitch: 1.0
cancelled:
sound: "ENTITY_VILLAGER_NO"
volume: 1.0
pitch: 1.0
expired:
sound: "BLOCK_ANVIL_LAND"
volume: 0.7
pitch: 1.0
effects:
enabled: true
store-open:
enabled: false
type: "VILLAGER_HAPPY"
count: 10
offset-x: 0.3
offset-y: 0.6
offset-z: 0.3
extra: 0.0
invoice-created:
enabled: true
type: "TOTEM_OF_UNDYING"
count: 12
offset-x: 0.4
offset-y: 0.8
offset-z: 0.4
extra: 0.0
payment-detected:
enabled: true
type: "COMPOSTER"
count: 8
offset-x: 0.3
offset-y: 1.0
offset-z: 0.3
extra: 0.0
payment-confirmed:
enabled: true
type: "FIREWORK"
count: 20
offset-x: 0.5
offset-y: 1.0
offset-z: 0.5
extra: 0.0
cancelled:
enabled: false
type: "SMOKE"
count: 8
offset-x: 0.2
offset-y: 0.4
offset-z: 0.2
extra: 0.0
expired:
enabled: false
type: "SMOKE"
count: 8
offset-x: 0.2
offset-y: 0.4
offset-z: 0.2
extra: 0.0
titles:
enabled: true
invoice-created:
title: "&6Crypto Invoice"
subtitle: "&7Scan the QR and pay the exact amount"
fade-in: 10
stay: 50
fade-out: 10
payment-detected:
title: "&aPayment Detected"
subtitle: "&7Waiting for confirmations"
fade-in: 10
stay: 40
fade-out: 10
payment-confirmed:
title: "&aPayment Confirmed"
subtitle: "&fYour purchase has been delivered"
fade-in: 10
stay: 60
fade-out: 10
cancelled:
title: "&cPayment Cancelled"
subtitle: "&7Your pending invoice was cancelled"
fade-in: 10
stay: 40
fade-out: 10
gui:
use-custom-model-data: false
store:
title: "&8Crypto Store"
size: 27
open-sound: true
items:
filler:
enabled: true
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: []
slots:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
close:
enabled: true
material: "BARRIER"
name: "&cClose"
lore:
- "&7Close the store."
slot: 26
refresh:
enabled: true
material: "SUNFLOWER"
name: "&eRefresh"
lore:
- "&7Refresh the store view."
slot: 18
info:
enabled: true
material: "BOOK"
name: "&6How Crypto Payments Work"
lore:
- "&7Click a product to create a payment invoice."
- "&7You must send the exact amount shown."
- "&7Your QR expires after &f30 minutes&7."
- "&7You can cancel your payment from the payment menu."
slot: 22
payment:
title: "&8Crypto Payment"
size: 27
items:
filler:
enabled: true
material: "BLACK_STAINED_GLASS_PANE"
name: " "
lore: []
slots:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 17
- 18
- 20
- 24
- 25
- 26
product:
enabled: true
material: "CHEST"
name: "&6Purchase Details"
lore:
- "&7Product: &f%product%"
- "&7Price: &f%amount%"
- "&7Wallet: &f%wallet%"
- "&7Address: &f%address%"
- "&7Status: &f%status%"
- "&7Expires in: &f%time%"
slot: 11
qr:
enabled: true
material: "FILLED_MAP"
name: "&aScan QR To Pay"
lore:
- "&7Scan this QR with your wallet app."
- "&7"
- "&7Amount: &f%amount%"
- "&7Address: &f%address%"
- "&7"
- "&7If your wallet does not scan maps well,"
- "&7use the URI manually:"
- "&f%bitcoin_uri%"
slot: 13
status:
enabled: true
material: "CLOCK"
name: "&ePayment Status"
lore:
- "&7Current: &f%status%"
- "&7TXID: &f%txid%"
- "&7Confirmations: &f%current_confirmations%/%confirmations%"
- "&7Expires in: &f%time%"
slot: 15
back:
enabled: true
material: "ARROW"
name: "&eBack"
lore:
- "&7Return to the store."
slot: 18
cancel:
enabled: true
material: "BARRIER"
name: "&cCancel Payment"
lore:
- "&7Cancel this pending payment."
slot: 22
refresh:
enabled: true
material: "SUNFLOWER"
name: "&bRefresh Status"
lore:
- "&7Refresh this payment screen."
slot: 26
products:
tip_jar:
enabled: true
display-name: "&aTip Jar"
material: "EMERALD"
custom-model-data: 0
glow: true
slot: 11
wallet: "default"
price-usd: 3.49
base-sats: 15000
permission-required: ""
purchasable-once: false
commands:
- "lp user %player% parent add tipjar"
lore:
- "&7Buy the &aTip Jar &7rank with crypto."
- "&7Normal store price: &c$4.99"
- "&7Crypto store price: &a$3.49"
- "&7Wallet: &f%wallet%"
- "&7Approx base amount: &f%amount%"
- "&7Click to generate a live-priced invoice."
gold_dust:
enabled: true
display-name: "&bGold Dust"
material: "GOLD_INGOT"
custom-model-data: 0
glow: true
slot: 13
wallet: "default"
price-usd: 6.99
base-sats: 27000
permission-required: ""
purchasable-once: false
commands:
- "lp user %player% parent add golddust"
lore:
- "&7Buy the &bGold Dust &7rank with crypto."
- "&7Normal store price: &c$9.99"
- "&7Crypto store price: &a$6.99"
- "&7Wallet: &f%wallet%"
- "&7Approx base amount: &f%amount%"
- "&7Click to generate a live-priced invoice."
dirt_rich:
enabled: true
display-name: "&6Dirt Rich"
material: "DIAMOND"
custom-model-data: 0
glow: false
slot: 15
wallet: "default"
price-usd: 13.99
base-sats: 9750
permission-required: ""
purchasable-once: false
commands:
- "lp user %player% parent add dirtrich"
lore:
- "&7Buy the &6Dirt Rich &7rank with crypto."
- "&7Normal store price: &c$19.99"
- "&7Crypto store price: &a$13.99"
- "&7Wallet: &f%wallet%"
- "&7Approx base amount: &f%amount%"
- "&7Click to generate a live-priced invoice."