8000
Skip to content

MarvinSur/Pack-Optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Minecraft Resource Pack Optimizer

Tool otomatis untuk optimize resource pack Minecraft dengan 2 level optimization

Optimize resource pack Minecraft kamu dengan aman. Pilih level sesuai kebutuhan pack kamu.

Optimize Level 1 Optimize Level 2 License


πŸ“‹ Daftar Isi


🎯 2 Level Optimization

Level 1: Balanced Optimization βœ…

  • PNG: Lossless compression (OptiPNG + AdvPNG)
  • OGG: Basic compression (qscale 3)
  • 100% aman untuk custom model data
  • Reduction: ~25-35%

Cocok untuk: Semua jenis pack, especially yang ada custom model data

β†’ Optimize dengan Level 1


Level 2: Maximum Audio Compression πŸ”Š

  • PNG: Lossless compression (sama seperti Level 1) - TETEP AMAN!
  • OGG: Aggressive compression + normalization + silence removal (qscale 2)
  • Aman untuk custom model data (PNG tetep lossless)
  • Reduction: ~30-45% (extra dari audio)

Trade-off:

  • ⚠️ Volume sounds jadi normalized (consistency tapi hilang dynamic range)
  • ⚠️ Silence di awal/akhir audio dipotong (timing bisa berubah)

Cocok untuk: Pack dengan banyak audio files yang mau maximum compression

β†’ Optimize dengan Level 2


✨ Fitur

βœ… 2 Level Optimization - Pilih sesuai kebutuhan
βœ… 100% Safe untuk Custom Model Data (kedua level pake PNG lossless)
βœ… GitHub Actions Otomatis - Submit issue, dapet hasil
βœ… Parallel Processing - Proses banyak file sekaligus
βœ… Progress Bar - Tracking real-time
βœ… Laporan Ukuran - Before/after statistics
βœ… Tahan Error - Continue meski ada file error
βœ… Cross-Platform - Linux, macOS, Windows (WSL)


🎯 Cara Pakai

Level 1: Balanced Optimization

Untuk semua jenis pack, terutama yang ada custom model data.

Langkah-langkah:

  1. Upload resource pack kamu ke file hosting public (Dropbox, Google Drive, dll)

  2. Buat issue Level 1

  3. Paste link .zip kamu di form

  4. Submit issue - Workflow otomatis jalan

  5. Tunggu ~15-20 menit (tergantung size)

  6. Download hasil dari link di comment

    • Artifact name: pack-teroptimasi

Level 2: Maximum Audio Compression

Untuk pack dengan banyak audio yang mau compression maksimal.

Langkah-langkah:

  1. Upload pack kamu ke hosting public

  2. Buat issue Level 2

  3. Paste link .zip kamu

  4. Submit issue

  5. Tunggu ~15-25 menit

  6. Download hasil dari link di comment

    • Artifact name: pack-teroptimasi-level2
  7. Test audio in-game - Pastikan volume dan timing masih ok


Script Lokal

Untuk optimize di local machine dengan menu interaktif.

git clone https://github.com/MarvinSur/pack-optimizer.git
cd pack-optimizer
chmod +x optimize_script.sh
./optimize_script.sh

Pilih level saat runtime:

  • 1 = Level 1 (balanced)
  • 2 = Level 2 (audio max)

Masukin path pack kamu, tunggu selesai, ambil optimized-pack-level1.zip atau optimized-pack-level2.zip.


πŸ› οΈ Apa yang Dioptimize

Yang Dioptimize:

File Type Level 1 Level 2
PNG (Texture) OptiPNG + AdvPNG (lossless) OptiPNG + AdvPNG (lossless)
OGG (Audio) Basic compression (qscale 3) Aggressive (normalize + silence removal + qscale 2)

Yang TIDAK Disentuh:

  • ❌ .json - Models, predicates, items, blocks
  • ❌ .mcmeta - Pack metadata, animations
  • ❌ .txt - Credits, info
  • ❌ .properties - Configs
  • ❌ .fsh / .vsh - Shaders
  • ❌ File lainnya yang bukan PNG/OGG

Struktur folder tetep sama. KEDUA LEVEL AMAN untuk custom model data!


πŸ† Kelebihan vs Optimizer Lain

Fitur pack-optimizer Generic Tools MC Optimizer Lain
2 Level Options βœ… Balanced & Audio Max ❌ Single mode ⚠️ Jarang
100% Lossless PNG βœ… Both levels ⚠️ Varies ⚠️ Sering lossy
Aman Custom Model βœ… Both levels ❌ Gak dijamin ❌ Sering rusak
Audio Optimization βœ… 2 levels ❌ Rare ⚠️ Basic
GitHub Actions βœ… Full auto ❌ Manual ❌ Manual
Progress Reporting βœ… Real-time ⚠️ Basic ⚠️ Basic

⚠️ Kekurangan & Keterbatasan

Level 1 (Balanced):

βœ… Gak ada kekurangan signifikan - Safe dan reliable
⚠️ Audio compression basic (kalo mau maximum, pake Level 2)

Level 2 (Audio Max):

⚠️ Audio normalization - Volume sounds jadi seragam (hilang artistic dynamic range)
⚠️ Silence removal - Dead air dipotong (timing bisa berubah sedikit)
⚠️ Lower bitrate - Slight audio quality degradation (tapi minimal)

Kapan JANGAN pake Level 2:

  • ❌ Pack dengan cinematic sounds (need dynamic range)
  • ❌ Music discs (need high quality)
  • ❌ Ambient sounds dengan intentional silence

πŸ“Š Benchmark Performa

Level 1: Noesantara All-Version Pack

Metrik Detail
Ukuran Original 32 MB
Ukuran Teroptimasi 23.4 MB
Size Reduction 8.6 MB (27%)
Waktu Processing ~15 menit
Custom Model Data βœ… Berfungsi sempurna

Breakdown:

  • PNG optimization: 14m 46s
  • OGG compression: 36s
  • Other steps: ~1 min

Level 2: Estimasi (Pack dengan Banyak Audio)

Original Teroptimasi Audio Reduction Total Reduction
30 MB (10MB audio) ~18-20 MB ~40-50% ~33-40%
50 MB (20MB audio) ~30-35 MB ~40-50% ~35-42%

Note: Level 2 memberikan extra 5-15% reduction dibanding Level 1, terutama untuk pack dengan banyak audio.


πŸ”§ Detail Teknis

Level 1 - PNG Pipeline:

# Pass 1: OptiPNG (lossless)
optipng -o7 -fix texture.png

# Pass 2: AdvPNG (extra squeeze)
advpng -z -4 texture.png

Level 1 - OGG Pipeline:

# Basic compression
ffmpeg -i sound.ogg -c:a libvorbis -qscale:a 3 output.ogg

Level 2 - PNG Pipeline:

Sama seperti Level 1 (100% lossless, RGB preserved)

Level 2 - OGG Pipeline (Aggressive):

# Normalization + Silence Removal + Lower Bitrate
ffmpeg -i sound.ogg \
  -af "loudnorm=I=-16:TP=-1.5:LRA=11,silenceremove=1:0:-50dB" \
  -c:a libvorbis -qscale:a 2 \
  -ar 44100 \
  output.ogg

Fitur Level 2 Audio:

  • loudnorm: EBU R128 normalization (-16 LUFS)
  • silenceremove: Potong silence <-50dB di start/end
  • qscale 2: Lower bitrate (~96kbps vs ~112kbps)

❓ FAQ

Q: Mana yang harus gw pilih, Level 1 atau Level 2?

A:

  • Level 1: Default choice, aman untuk semua pack
  • Level 2: Kalo pack lu punya banyak audio files dan mau maximum compression

Keduanya aman untuk custom model data!


Q: Level 2 bakal ngrusak custom model data gak?

A: ENGGAK! Level 2 tetep pake PNG lossless (sama persis kayak Level 1). Yang beda cuma audio compression nya lebih aggressive.


Q: Apa bedanya audio Level 1 vs Level 2?

A:

  • Level 1: Basic compression, preserve original volume & timing
  • Level 2: Normalize volume, remove silence, lower bitrate

Extra reduction Level 2: ~10-20% lebih kecil di audio files


Q: Kapan JANGAN pake Level 2?

A: Jangan pake Level 2 kalo:

  • Pack punya music discs (need high quality)
  • Cinematic sounds dengan intentional loud/soft contrast
  • Ambient sounds dengan purposeful silence/delays

Q: Bisa optimize pack yang udah dioptimize?

A:

  • Level 1 β†’ Level 1 lagi = minimal gain (~2-5%)
  • Level 1 β†’ Level 2 = extra ~10-15% dari audio optimization

Q: Waktu processing berapa lama?

A:

  • Level 1: ~15-20 menit untuk 30MB pack
  • Level 2: ~15-25 menit (audio processing lebih lama)

Q: Gimana cara download hasil?

A:

  1. Buka link di comment issue
  2. Scroll ke "Artifacts"
  3. Download:
    • Level 1: pack-teroptimasi
    • Level 2: pack-teroptimasi-level2

Q: Level 2 ngubah RGB values gak?

A: ENGGAK. Level 2 tetep pake lossless PNG compression. RGB values exact sama seperti original.


πŸ‘¨β€πŸ’» Kredit

Dibuat oleh: MarvinSur
Repository: github.com/MarvinSur/pack-optimizer

Powered By:


πŸ“„ Lisensi

Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail.


🀝 Kontribusi

Kontribusi welcome!

  • Report bug via Issues
  • Suggest fitur baru
  • Submit pull request

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

0