Ein lokales Web-Tool zum gezielten Kombinieren von Minecraft Resource Packs. Lade bis zu zwei Packs gleichzeitig hoch, wähle pro Textur, Sound oder Asset aus welchem Pack es stammen soll, und exportiere das Ergebnis als fertig spielbaren Resource Pack.
- Zwei Packs vergleichen – Lade bis zu zwei ZIP-Packs gleichzeitig hoch und sieh beide nebeneinander
- Kategorien – Durchsuche Blöcke, Items, GUI, Entitäten, Sounds, Partikel, Gemälde, Schriften und mehr
- 3D-Vorschau – Blöcke und Items werden mit dem echten Modell-JSON des Packs in Three.js gerendert
- Sound-Vorschau – OGG-Sounds direkt im Browser abspielen und einzeln auswählen
- Nur-Unterschiede-Filter – Zeigt ausschließlich Texturen, die sich zwischen den beiden Packs unterscheiden
- Suche – Echtzeit-Suche über alle Textur- und Sound-Namen
- Smarter Export – Exportiert Texturen, Modell-JSONs, Blockstates, Equipment-JSONs (ab 1.21.2) und
sounds.jsonin einem validen Pack - Standalone EXE – Kann per PyInstaller als Windows-EXE gebaut werden, die den Browser automatisch öffnet
(folgen)
- Python 3.11+
- pip
# 1. Repository klonen
git clone https://github.com/TheMRX13/MCRessourcePackager.git
cd MCRessourcePackager
# 2. Abhängigkeiten installieren
pip install -r requirements.txt
# 3. Server starten
python main.pyDer Browser öffnet sich automatisch auf http://127.0.0.1:5000.
build.batDas Skript installiert PyInstaller, baut die EXE und legt sie unter dist\MCRessourcePackager\ ab. Die EXE startet den lokalen Server und öffnet den Browser – kein Python erforderlich.
- Pack hochladen – ZIP-Datei in die Upload-Zone ziehen oder über den Datei-Dialog auswählen (max. 512 MB, max. 50 000 Dateien pro Pack)
- Kategorie wählen – Tabs oben: Blöcke, Items, GUI, Entitäten, Sounds, Weiteres
- Textur / Sound auswählen – Jede Karte zeigt beide Pack-Varianten; per Klick wird die gewünschte Quelle festgelegt
- Vorschau – Rechte Seitenleiste zeigt die aktive Textur als 3D-Modell (Blöcke/Items) oder 2D-Bild
- Pack-Name eingeben – Textfeld oben rechts
- Export – Schaltfläche „Export Pack" erstellt eine ZIP-Datei, die direkt in den Minecraft-
resourcepacks-Ordner gelegt werden kann
MCRessourcePackager/
├── app.py # Flask-Backend: API-Routen, Pack-Katalogisierung, Export
├── main.py # Einstiegspunkt: startet Server + Browser
├── requirements.txt # Python-Abhängigkeiten
├── build.bat # PyInstaller-Build-Skript (Windows)
├── MCRessourcePackager.spec# PyInstaller-Konfiguration
├── templates/
│ └── index.html # Einzige HTML-Seite der App
└── static/
├── css/style.css # Dark-Theme-Styles
└── js/
├── app.js # Frontend-Logik (State, Rendering, API-Calls)
└── preview3d.js # Three.js 3D-Renderer für Block- und Item-Modelle
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/api/packs |
Alle geladenen Packs mit Metadaten |
POST |
/api/upload |
Pack-ZIP hochladen und katalogisieren |
DELETE |
/api/packs/<id> |
Pack entfernen |
GET |
/api/texture/<id>/<cat>/<name> |
Einzelne Textur als PNG |
GET |
/api/icon/<id> |
Pack-Icon (pack.png) |
GET |
/api/model/<id>/<cat>/<name> |
Modell-JSON |
GET |
/api/sound/<id>/<path> |
Sound-Datei als OGG |
GET |
/api/textures/all |
Alle Texturen aller Packs aggregiert |
GET |
/api/sounds/all |
Alle Sound-Events aller Packs aggregiert |
POST |
/api/export |
Kombinierten Pack als ZIP exportieren |
| Bereich | Technologie |
|---|---|
| Backend | Python 3 · Flask · Werkzeug |
| Frontend | Vanilla JS · CSS Grid |
| 3D-Vorschau | Three.js r128 |
| Packaging | PyInstaller |
Das Tool läuft lokal und ist nicht für den Betrieb im Internet ausgelegt. Es enthält jedoch grundlegende Schutzmaßnahmen:
- Zip-Slip-Erkennung (Pfad-Traversal wird abgelehnt)
- Maximale unkomprimierte Größe: 2 GB
- Maximale Dateianzahl: 50 000
- Dateiname-Validierung per Regex für alle API-Parameter
Dieses Projekt steht unter der MIT License.
© 2026 PD Codes – TheMRX13 & Domekologe