first commit
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# DirtCryptoStore
|
||||
|
||||
DirtCryptoStore is a Paper 1.21.x crypto shop plugin.
|
||||
|
||||
## Features
|
||||
|
||||
- GUI crypto store
|
||||
- Live BTC/USD pricing
|
||||
- Unique BTC invoice amounts per player
|
||||
- QR map generation
|
||||
- QR placed in player off-hand
|
||||
- SQLite storage
|
||||
- Expired invoice pruning
|
||||
- Auto payment watching
|
||||
- Admin review tools
|
||||
|
||||
## Requirements
|
||||
|
||||
- Paper 1.21.x
|
||||
- Java 21
|
||||
- Maven 3.8.7+
|
||||
|
||||
## Build
|
||||
|
||||
mvn clean package
|
||||
|
||||
Jar:
|
||||
target/DirtCryptoStore.jar
|
||||
|
||||
## Install
|
||||
|
||||
1. Put the jar in your server plugins folder
|
||||
2. Start the server
|
||||
3. Edit plugins/DirtCryptoStore/config.yml
|
||||
4. Restart the server or use /cryptostore reload
|
||||
|
||||
## Player Commands
|
||||
|
||||
/cryptostore
|
||||
Opens the store GUI
|
||||
|
||||
/cryptostore status
|
||||
Shows the player’s pending invoice status
|
||||
|
||||
## Admin Commands
|
||||
|
||||
/cryptostore reload
|
||||
Reloads plugin config and watcher
|
||||
|
||||
/cryptostore review
|
||||
Shows invoices marked UNDER_REVIEW
|
||||
|
||||
/cryptostore forceconfirm <invoiceId>
|
||||
Manually fulfills an invoice
|
||||
|
||||
/cryptostore cancelinvoice <invoiceId>
|
||||
Cancels an invoice
|
||||
|
||||
## Permissions
|
||||
|
||||
dirtcryptostore.use
|
||||
Default: true
|
||||
|
||||
dirtcryptostore.admin
|
||||
Default: op
|
||||
|
||||
dirtcryptostore.bypass
|
||||
Reserved for future use
|
||||
|
||||
## Payment Flow
|
||||
|
||||
1. Player runs /cryptostore
|
||||
2. Player clicks a product
|
||||
3. Plugin converts USD price to BTC
|
||||
4. Plugin adds a unique sat offset
|
||||
5. Invoice is created
|
||||
6. QR map is placed in off-hand
|
||||
7. Player pays exact BTC amount
|
||||
8. Plugin watches blockchain
|
||||
9. After confirmations, commands run
|
||||
|
||||
## Storage
|
||||
|
||||
SQLite database file:
|
||||
plugins/DirtCryptoStore/dirtcryptostore.db
|
||||
|
||||
## Pruning
|
||||
|
||||
Old invoices can be pruned with config options:
|
||||
- prune-enabled
|
||||
- prune-after-days
|
||||
- prune-statuses
|
||||
|
||||
## Notes
|
||||
|
||||
- BTC-focused
|
||||
- Live pricing uses CoinGecko
|
||||
- Payment watching uses blockchain.info
|
||||
- Large public deployments should later add provider fallback and audit logging
|
||||
Reference in New Issue
Block a user