Upload file prepare-minecraft-items.ps1 via GUI

This commit is contained in:
2026-02-14 09:11:47 +01:00
parent 4f476e478e
commit 0e99638960

360
prepare-minecraft-items.ps1 Normal file
View File

@@ -0,0 +1,360 @@
# ====================================================================
# Minecraft Items & Blocks fuer WIS Shop vorbereiten
# Autor: M_Viper
# Version: 1.1 (Emoji-frei)
# ====================================================================
# Farben definieren
$Green = "Green"
$Yellow = "Yellow"
$Cyan = "Cyan"
$Magenta = "Magenta"
$Red = "Red"
# ====================================================================
# PFADE KONFIGURIEREN
# ====================================================================
$BASE_PATH = "C:\Users\Viper\Downloads\minecraft-assets-1.21.11\minecraft-assets-1.21.11\assets\minecraft\textures"
$ITEM_DIR = "$BASE_PATH\item"
$BLOCK_DIR = "$BASE_PATH\block"
$OUTPUT_DIR = "C:\Users\Viper\Downloads\wis-shop-items"
# ====================================================================
# BANNER ANZEIGEN
# ====================================================================
Clear-Host
Write-Host ""
Write-Host " ===================================================================" -ForegroundColor $Cyan
Write-Host " MINECRAFT TEXTURES PREPARATION" -ForegroundColor $Cyan
Write-Host " WIS Shop - Item Textures Vorbereitung v1.1" -ForegroundColor $Yellow
Write-Host " ===================================================================" -ForegroundColor $Cyan
Write-Host ""
# ====================================================================
# SCHRITT 1: PFADE PRUEFEN
# ====================================================================
Write-Host "[SCHRITT 1] Pfade pruefen..." -ForegroundColor $Magenta
Write-Host ""
# Items-Ordner pruefen
if (-not (Test-Path $ITEM_DIR)) {
Write-Host "[FEHLER] Items-Ordner nicht gefunden!" -ForegroundColor $Red
Write-Host "Erwartet: $ITEM_DIR" -ForegroundColor $Yellow
Write-Host ""
Write-Host "LOESUNG:" -ForegroundColor $Cyan
Write-Host "1. Pruefe ob die minecraft-assets heruntergeladen sind" -ForegroundColor $Yellow
Write-Host "2. Passe den Pfad im Script an (Zeile 18)" -ForegroundColor $Yellow
Write-Host ""
Read-Host "Druecke Enter zum Beenden"
exit
}
# Bloecke-Ordner pruefen
if (-not (Test-Path $BLOCK_DIR)) {
Write-Host "[FEHLER] Bloecke-Ordner nicht gefunden!" -ForegroundColor $Red
Write-Host "Erwartet: $BLOCK_DIR" -ForegroundColor $Yellow
Write-Host ""
Read-Host "Druecke Enter zum Beenden"
exit
}
Write-Host "[OK] Items-Ordner gefunden: $ITEM_DIR" -ForegroundColor $Green
Write-Host "[OK] Bloecke-Ordner gefunden: $BLOCK_DIR" -ForegroundColor $Green
Write-Host ""
# Anzahl Dateien zaehlen
$itemCount = (Get-ChildItem -Path $ITEM_DIR -Filter "*.png" | Measure-Object).Count
$blockCount = (Get-ChildItem -Path $BLOCK_DIR -Filter "*.png" | Measure-Object).Count
Write-Host "GEFUNDENE TEXTUREN:" -ForegroundColor $Cyan
Write-Host "- Items: $itemCount PNG-Dateien" -ForegroundColor $Yellow
Write-Host "- Bloecke: $blockCount PNG-Dateien" -ForegroundColor $Yellow
Write-Host "- Gesamt: $($itemCount + $blockCount) Dateien" -ForegroundColor $Green
Write-Host ""
# ====================================================================
# SCHRITT 2: AUSGABEORDNER VORBEREITEN
# ====================================================================
Write-Host "[SCHRITT 2] Ausgabeordner vorbereiten..." -ForegroundColor $Magenta
Write-Host ""
if (Test-Path $OUTPUT_DIR) {
$fileCount = (Get-ChildItem -Path $OUTPUT_DIR -Filter "*.png" | Measure-Object).Count
if ($fileCount -gt 0) {
Write-Host "[WARNUNG] Ausgabeordner existiert bereits mit $fileCount Dateien" -ForegroundColor $Yellow
Write-Host "Pfad: $OUTPUT_DIR" -ForegroundColor $Yellow
Write-Host ""
$response = Read-Host "Moechtest du den Ordner leeren? (j/n)"
if ($response -eq "j" -or $response -eq "J") {
Write-Host ""
Write-Host "Loesche alte Dateien..." -ForegroundColor $Yellow
Remove-Item "$OUTPUT_DIR\*" -Force
Write-Host "[OK] Ordner geleert" -ForegroundColor $Green
} else {
Write-Host "[INFO] Behalte existierende Dateien" -ForegroundColor $Cyan
}
} else {
Write-Host "[OK] Ausgabeordner existiert (leer)" -ForegroundColor $Green
}
} else {
Write-Host "Erstelle neuen Ausgabeordner..." -ForegroundColor $Cyan
New-Item -ItemType Directory -Force -Path $OUTPUT_DIR | Out-Null
Write-Host "[OK] Ausgabeordner erstellt" -ForegroundColor $Green
}
Write-Host ""
Write-Host "ZIELORDNER: $OUTPUT_DIR" -ForegroundColor $Cyan
Write-Host ""
# ====================================================================
# SCHRITT 3: ITEMS VERARBEITEN
# ====================================================================
Write-Host "[SCHRITT 3] Items kopieren & umbenennen..." -ForegroundColor $Magenta
Write-Host ""
$itemsCopied = 0
$itemsSkipped = 0
$itemsFailed = 0
$items = Get-ChildItem -Path $ITEM_DIR -Filter "*.png"
$totalItems = $items.Count
$currentItem = 0
foreach ($file in $items) {
$currentItem++
$oldName = $file.Name
$baseName = $file.BaseName
# Fortschrittsanzeige
$percent = [math]::Round(($currentItem / $totalItems) * 100)
Write-Progress -Activity "Items verarbeiten" -Status "$currentItem von $totalItems ($percent%)" -PercentComplete $percent
# Neuer Name: minecraft_ITEMNAME.png
$newName = "minecraft_$baseName.png"
$destPath = Join-Path -Path $OUTPUT_DIR -ChildPath $newName
try {
if (Test-Path $destPath) {
$itemsSkipped++
} else {
Copy-Item -Path $file.FullName -Destination $destPath -Force -ErrorAction Stop
$itemsCopied++
}
} catch {
Write-Host "[FEHLER] Bei: $oldName" -ForegroundColor $Red
$itemsFailed++
}
}
Write-Progress -Activity "Items verarbeiten" -Completed
Write-Host "[OK] Items verarbeitet!" -ForegroundColor $Green
Write-Host "- Kopiert: $itemsCopied" -ForegroundColor $Green
Write-Host "- Uebersprungen: $itemsSkipped" -ForegroundColor $Yellow
if ($itemsFailed -gt 0) {
Write-Host "- Fehler: $itemsFailed" -ForegroundColor $Red
}
Write-Host ""
# ====================================================================
# SCHRITT 4: BLOECKE VERARBEITEN
# ====================================================================
Write-Host "[SCHRITT 4] Bloecke kopieren & umbenennen..." -ForegroundColor $Magenta
Write-Host ""
$blocksCopied = 0
$blocksSkipped = 0
$blocksFailed = 0
$blocks = Get-ChildItem -Path $BLOCK_DIR -Filter "*.png"
$totalBlocks = $blocks.Count
$currentBlock = 0
foreach ($file in $blocks) {
$currentBlock++
$oldName = $file.Name
$baseName = $file.BaseName
# Fortschrittsanzeige
$percent = [math]::Round(($currentBlock / $totalBlocks) * 100)
Write-Progress -Activity "Bloecke verarbeiten" -Status "$currentBlock von $totalBlocks ($percent%)" -PercentComplete $percent
# Neuer Name: minecraft_BLOCKNAME.png
$newName = "minecraft_$baseName.png"
$destPath = Join-Path -Path $OUTPUT_DIR -ChildPath $newName
try {
# Nur kopieren wenn noch nicht vorhanden (Items haben Vorrang)
if (Test-Path $destPath) {
$blocksSkipped++
} else {
Copy-Item -Path $file.FullName -Destination $destPath -Force -ErrorAction Stop
$blocksCopied++
}
} catch {
Write-Host "[FEHLER] Bei: $oldName" -ForegroundColor $Red
$blocksFailed++
}
}
Write-Progress -Activity "Bloecke verarbeiten" -Completed
Write-Host "[OK] Bloecke verarbeitet!" -ForegroundColor $Green
Write-Host "- Kopiert: $blocksCopied" -ForegroundColor $Green
Write-Host "- Uebersprungen: $blocksSkipped" -ForegroundColor $Yellow
if ($blocksFailed -gt 0) {
Write-Host "- Fehler: $blocksFailed" -ForegroundColor $Red
}
Write-Host ""
# ====================================================================
# SCHRITT 5: ZUSAMMENFASSUNG
# ====================================================================
$totalCopied = $itemsCopied + $blocksCopied
$totalSkipped = $itemsSkipped + $blocksSkipped
$totalFailed = $itemsFailed + $blocksFailed
Write-Host ""
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host "FERTIG!" -ForegroundColor $Green
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host ""
Write-Host "ZUSAMMENFASSUNG:" -ForegroundColor $Magenta
Write-Host ""
Write-Host "Erfolgreich kopiert:" -ForegroundColor $Green
Write-Host "- Items: $itemsCopied" -ForegroundColor $Yellow
Write-Host "- Bloecke: $blocksCopied" -ForegroundColor $Yellow
Write-Host "- GESAMT: $totalCopied Dateien" -ForegroundColor $Green
Write-Host ""
if ($totalSkipped -gt 0) {
Write-Host "Uebersprungen: $totalSkipped (bereits vorhanden)" -ForegroundColor $Yellow
Write-Host ""
}
if ($totalFailed -gt 0) {
Write-Host "[WARNUNG] Fehler: $totalFailed Dateien konnten nicht kopiert werden" -ForegroundColor $Red
Write-Host ""
}
Write-Host "ALLE DATEIEN IN:" -ForegroundColor $Cyan
Write-Host "$OUTPUT_DIR" -ForegroundColor $Yellow
Write-Host ""
# ====================================================================
# SCHRITT 6: ZIP ERSTELLEN (OPTIONAL)
# ====================================================================
Write-Host "[SCHRITT 5] ZIP-Datei erstellen? (Optional)" -ForegroundColor $Magenta
Write-Host ""
Write-Host "Eine ZIP-Datei ist praktisch fuer:" -ForegroundColor $Cyan
Write-Host "- WordPress Plugin Upload" -ForegroundColor $Yellow
Write-Host "- Gitea Upload (falls Web-Interface limitiert ist)" -ForegroundColor $Yellow
Write-Host "- Backup" -ForegroundColor $Yellow
Write-Host ""
$createZip = Read-Host "ZIP erstellen? (j/n)"
if ($createZip -eq "j" -or $createZip -eq "J") {
$zipPath = "C:\Users\Viper\Downloads\wis-shop-items.zip"
Write-Host ""
Write-Host "Erstelle ZIP-Datei..." -ForegroundColor $Cyan
Write-Host "(Dies kann 1-3 Minuten dauern bei $totalCopied Dateien)" -ForegroundColor $Yellow
Write-Host ""
# Alte ZIP loeschen falls vorhanden
if (Test-Path $zipPath) {
Remove-Item $zipPath -Force
}
# ZIP erstellen
try {
Compress-Archive -Path "$OUTPUT_DIR\*" -DestinationPath $zipPath -CompressionLevel Optimal
$zipSize = [math]::Round((Get-Item $zipPath).Length / 1MB, 2)
Write-Host "[OK] ZIP-Datei erstellt!" -ForegroundColor $Green
Write-Host "Pfad: $zipPath" -ForegroundColor $Yellow
Write-Host "Groesse: $zipSize MB" -ForegroundColor $Yellow
Write-Host ""
} catch {
Write-Host "[FEHLER] Beim Erstellen der ZIP-Datei" -ForegroundColor $Red
Write-Host "$($_.Exception.Message)" -ForegroundColor $Yellow
Write-Host ""
}
} else {
Write-Host ""
Write-Host "[INFO] ZIP-Erstellung uebersprungen" -ForegroundColor $Cyan
Write-Host ""
}
# ====================================================================
# SCHRITT 7: NAECHSTE SCHRITTE
# ====================================================================
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host "NAECHSTE SCHRITTE" -ForegroundColor $Magenta
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host ""
Write-Host "OPTION A - Gitea Upload (Empfohlen):" -ForegroundColor $Yellow
Write-Host ""
Write-Host "1. Erstelle ein neues Repository in Gitea:" -ForegroundColor $Cyan
Write-Host " Name: minecraft-items" -ForegroundColor $Yellow
Write-Host ""
Write-Host "2. Erstelle einen Ordner 'images' im Repository" -ForegroundColor $Cyan
Write-Host ""
Write-Host "3. Lade alle PNG-Dateien hoch:" -ForegroundColor $Cyan
Write-Host " Von: $OUTPUT_DIR" -ForegroundColor $Yellow
Write-Host ""
Write-Host "4. Kopiere die Raw-URL:" -ForegroundColor $Cyan
Write-Host " Format: https://dein-gitea.com/user/minecraft-items/raw/branch/main/images/" -ForegroundColor $Green
Write-Host ""
Write-Host "5. In WordPress eintragen:" -ForegroundColor $Cyan
Write-Host " Ingame Shop -> Einstellungen -> Bilder Basis-URL" -ForegroundColor $Yellow
Write-Host ""
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host ""
Write-Host "OPTION B - WordPress direkter Upload:" -ForegroundColor $Yellow
Write-Host ""
Write-Host "1. Gehe zu: Ingame Shop -> Bilder" -ForegroundColor $Cyan
Write-Host ""
Write-Host "2. Waehle 'ZIP Hochladen'" -ForegroundColor $Cyan
Write-Host ""
Write-Host "3. Waehle: wis-shop-items.zip" -ForegroundColor $Cyan
Write-Host ""
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host ""
# ====================================================================
# SCHRITT 8: ORDNER OEFFNEN
# ====================================================================
Write-Host "Moechtest du den Ausgabeordner jetzt oeffnen?" -ForegroundColor $Magenta
$openFolder = Read-Host "Ordner oeffnen? (j/n)"
if ($openFolder -eq "j" -or $openFolder -eq "J") {
explorer $OUTPUT_DIR
Write-Host ""
Write-Host "[OK] Ordner geoeffnet!" -ForegroundColor $Green
}
Write-Host ""
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host "Viel Erfolg mit deinem WIS Shop!" -ForegroundColor $Green
Write-Host "===================================================================" -ForegroundColor $Cyan
Write-Host ""
Write-Host "Druecke Enter zum Beenden..." -ForegroundColor $Yellow
Read-Host