first commit

This commit is contained in:
2026-06-20 16:10:38 -04:00
commit 6ec944bb44
63 changed files with 4148 additions and 0 deletions
+99
View File
@@ -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 players 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