Mod client-side per Minecraft Java (Fabric) che fa strip mining automatico mentre giochi: scava un tunnel rettilineo 2 alto × 1 largo, estrae i minerali vicini, evita le caverne e cambia piccone quando si consuma. Tutto il "lavoro fisico" (muoversi e rompere blocchi) lo fa Baritone tramite la sua API: il mod si limita a dargli gli ordini giusti.
| Componente | Versione | Note |
|---|---|---|
| Minecraft | 26.1.2 | Versioning a calendario (dopo 1.21.11). Già "deobfuscato". |
| Java (JDK) | 25 | Obbligatorio da MC 26.x. |
| Fabric Loader | 0.19.3 | |
| Fabric API | 0.151.0+26.1.2 | |
| Baritone | 26.1 (fork MeteorDevelopment) | Fornito a runtime da Meteor Client o dalla mod Baritone. |
| Mappings | Mojang ufficiali (no Yarn) | Da 26.x Yarn non esiste più: i nomi nel codice sono quelli Mojang. |
Il mod non impacchetta Baritone: lo usa solo in compilazione (
compileOnly) e si aspetta di trovarlo già installato quando giochi (tu usi Meteor Client 26.1.2, che include Baritone 26.1).
Se vuoi solo giocarci, scarica il .jar già pronto dalla pagina
Releases di questo repository: stripmine-mod-1.0.0.jar.
Poi vai a Come installare il .jar.
Serve un JDK 25 (Minecraft 26.x lo richiede). Il risultato è un .jar in build/libs/.
- Installa Java 25, ad esempio Temurin:
(su Linux/macOS usa il package manager o SDKMAN).
winget install EclipseAdoptium.Temurin.25.JDK # Windows
- Clona e builda, dalla cartella del progetto:
Se Java 25 non è quello di default, imposta prima
./gradlew build # Windows: .\gradlew.bat buildJAVA_HOMEsul JDK 25. - Output:
build/libs/stripmine-mod-1.0.0.jar— è il file da installare. (I file*-sources.jar/*-dev.jar, se presenti, non servono per giocare.)
Durante build vengono eseguiti anche i test della logica pura (29 controlli, vedi sotto).
- Installa Fabric Loader per Minecraft 26.1.2 (dal launcher ufficiale o dall'installer Fabric).
- Metti nella cartella
.minecraft/mods/:- Fabric API
0.151.0+26.1.2 - Baritone 26.1 — di solito ce l'hai già perché usi Meteor Client 26.1.2 (lo include). In alternativa la mod Baritone standalone per 26.1.
stripmine-mod-1.0.0.jar(questo mod)
- Fabric API
- Avvia Minecraft 26.1.2 con il profilo Fabric.
È un mod solo client: lo installi solo tu, non serve sul server.
Se usi Claude Code (o un assistente simile), incollagli questo prompt e fa tutto lui — scarica il mod, recupera Baritone e Fabric API e li mette nella cartella giusta:
Sei il mio assistente. Installa per me, passo-passo, un mod Minecraft Fabric. Fai tu i download e le copie.
CONTESTO
- Mod: "Stripmine Mod" (strip mining automatico pilotando Baritone), solo client.
- Repository: https://github.com/daviduuuul/stripmine-mod
- Minecraft: Java 26.1.2 (Fabric). Lancio il gioco con Prism Launcher.
- A runtime il mod richiede: Fabric Loader, Fabric API 0.151.0+26.1.2, Baritone 26.1 (Fabric).
(Minecraft 26.x gira su Java 25; questo serve solo se compili da sorgente.)
PASSI
1) Procurati il jar del mod, in UNO dei due modi:
a) Scaricalo dall'ultima Release:
https://github.com/daviduuuul/stripmine-mod/releases/latest -> "stripmine-mod-1.0.0.jar"
b) Oppure builda da sorgente (serve JDK 25 installato):
git clone https://github.com/daviduuuul/stripmine-mod
cd stripmine-mod
./gradlew build (su Windows: .\gradlew.bat build)
-> il jar finisce in build/libs/stripmine-mod-1.0.0.jar
2) Trova la cartella "mods" della mia istanza Prism su Minecraft 26.1.2:
Windows: %APPDATA%\PrismLauncher\instances\<istanza>\minecraft\mods
Linux: ~/.local/share/PrismLauncher/instances/<istanza>/minecraft/mods
macOS: ~/Library/Application Support/PrismLauncher/instances/<istanza>/minecraft/mods
Se ci sono piu' istanze, scegli quella la cui versione e' 26.1.2 (la trovi in
mmc-pack.json, componente con uid "net.minecraft"). Nei Prism vecchi la cartella
e' ".minecraft\mods" invece di "minecraft\mods".
3) Assicurati che in quella cartella "mods" ci siano anche questi (se mancano, scaricali e mettili li'):
- Fabric API 0.151.0+26.1.2 -> https://modrinth.com/mod/fabric-api/versions
- Baritone 26.1 per Fabric, dal maven di Meteor:
* apri https://maven.meteordev.org/snapshots/meteordevelopment/baritone/26.1-SNAPSHOT/maven-metadata.xml
* prendi l'ultimo valore snapshot (es. 26.1-20260423.173134-2)
* scarica https://maven.meteordev.org/snapshots/meteordevelopment/baritone/26.1-SNAPSHOT/baritone-<quel-valore>.jar
E' un mod Fabric completo (id "baritone-meteor"), include gia' nether-pathfinder: va bene da solo.
4) Copia "stripmine-mod-1.0.0.jar" nella stessa cartella "mods".
5) Verifica: nella cartella "mods" devono esserci 3 jar -> stripmine-mod, fabric-api, baritone.
Elencameli per conferma.
6) Avvisami quando e' fatto. Poi avvio l'istanza Prism, entro in un mondo con un PICCONE in hotbar
e uso /stripmine start (e /stripmine stop per fermare).
- Se in chat appare "[Stripmine] Avviato: direzione ..." -> funziona.
- Se appare "[Stripmine] Baritone non e' installato/attivo" -> Baritone manca o e' disattivato.
Il mod ha bisogno di Baritone a runtime: senza,
/stripmine startscrive in chat che Baritone non è attivo e non parte. Fabric API e Baritone vanno nella stessa cartellamods.
| Comando | Cosa fa |
|---|---|
/stripmine start |
Avvia il tunnel 2×1 al livello Y attuale, nella direzione in cui guardi. |
/stripmine stop |
Interrompe tutto e restituisce il controllo al giocatore. |
Il mod ti scrive in chat cosa sta facendo (avvio, minerali, caverne, cambio piccone, stop).
Al primo avvio viene creato un file di testo leggibile:
.minecraft/config/stripmine.properties
| Chiave | Default | Significato |
|---|---|---|
oreRadius |
4 |
Raggio (in blocchi) entro cui cercare i minerali attorno al fronte del tunnel. |
durabilityThreshold |
5 |
Sotto/uguale a questa durabilità residua, il piccone viene cambiato. |
tunnelLength |
64 |
Lunghezza del tunnel in blocchi. |
caveMode |
skip |
Come gestire le caverne: skip (aggira) oppure wall (mura). |
scanIntervalTicks |
10 |
Ogni quanti tick eseguire le scansioni (minerali / piccone / caverne). |
Modifica i valori con un editor di testo e riavvia il gioco (oppure ridai /stripmine start).
Il mod è una piccola macchina a stati che, una volta per tick, decide la mossa e la passa a Baritone. Priorità ad ogni tick: 1) piccone a posto → 2) minerali vicini → 3) avanza il tunnel gestendo le caverne.
Struttura del codice (in src/main/java/it/xtracom/stripmine/):
logic/— logica pura, senza Minecraft, quindi facile da testare:TunnelPlanner(geometria del tunnel),PickaxeManager(quale piccone scegliere),CaveAvoidance(decisione continua/aggira/mura), più i tipiCardinal,Cell,CaveMode.
game/— il "collante" con Minecraft/Baritone:BaritoneBridge(unico punto che parla con l'API di Baritone),OreScanner(trova i minerali col tagc:ores),CaveSensor(legge i blocchi davanti e mura),PickaxeSwapper(legge l'inventario e cambia slot).
- radice —
StripmineClient(entrypoint),StripmineController(il "cervello"),StripmineConfig(file di config),command/StripmineCommand(i comandi).
Quando davanti al fronte compare un grande vuoto d'aria:
skip(default, consigliato): salta oltre la caverna e riprende a scavare dall'altra parte. Robusto, non richiede nulla nell'inventario.wall: prova a murare l'apertura con dei blocchi presi dall'hotbar e poi si ferma al muro. Se nell'hotbar non ci sono blocchi di riempimento, ripiega su "fermati al bordo + avviso".
La decisione (continua / aggira / mura) è isolata e testata nella classe pura CaveAvoidance.
Quando il piccone in mano scende a/oltre durabilityThreshold (o non è un piccone), il mod sceglie
il miglior piccone disponibile (più durabilità residua) prima nell'hotbar, poi nell'inventario
principale (portandolo nell'hotbar). Se non resta nessun piccone usabile, ferma tutto e
scrive un avviso in chat. La scelta è isolata e testata nella classe pura PickaxeManager.
Per non aggiungere librerie (es. JUnit) oltre a quelle consentite, i test della logica pura sono scritti a mano e si lanciano così:
$env:JAVA_HOME = (Resolve-Path "..\.tooling\jdk25\jdk-25.0.3+9").Path
.\gradlew.bat selfTestVengono anche eseguiti automaticamente durante gradlew build. Stampano PASS/FAIL per ogni
controllo (29 in tutto): geometria del tunnel, scelta del piccone, decisione/skip delle caverne.
- Solo client: pilota il tuo personaggio, esattamente come fa Baritone.
- Richiede Baritone a runtime: se non è installato/attivo,
/stripmine startlo segnala e non parte. - La modalità
wallè "best-effort" (dipende dall'avere blocchi nell'hotbar); per un comportamento pienamente automatico è consigliataskip. - Cartelle rigenerabili e non versionate (cancellabili):
build/,.gradle/.
MIT.