{"id":29215241,"url":"https://github.com/cubiclauncher/neox","last_synced_at":"2025-07-03T00:08:54.587Z","repository":{"id":297850376,"uuid":"998086709","full_name":"CubicLauncher/neox","owner":"CubicLauncher","description":"Modulo para descargar versiones de minecraft para @CubicLauncher","archived":false,"fork":false,"pushed_at":"2025-06-28T19:43:21.000Z","size":48,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-28T20:33:46.319Z","etag":null,"topics":["launcher","library","minecraft","minecraft-launcher"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@cubiclauncher/neox-core","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CubicLauncher.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-07T20:47:03.000Z","updated_at":"2025-06-28T19:43:24.000Z","dependencies_parsed_at":"2025-06-07T22:28:49.260Z","dependency_job_id":"1157d4b7-36d5-4db9-b2fa-0106eff45ba5","html_url":"https://github.com/CubicLauncher/neox","commit_stats":null,"previous_names":["cubiclauncher/neox"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/CubicLauncher/neox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CubicLauncher%2Fneox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CubicLauncher%2Fneox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CubicLauncher%2Fneox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CubicLauncher%2Fneox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CubicLauncher","download_url":"https://codeload.github.com/CubicLauncher/neox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CubicLauncher%2Fneox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263234961,"owners_count":23434921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["launcher","library","minecraft","minecraft-launcher"],"created_at":"2025-07-03T00:08:53.818Z","updated_at":"2025-07-03T00:08:54.489Z","avatar_url":"https://github.com/CubicLauncher.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neox Minecraft Downloader - Versión Mejorada\n\nUn módulo TypeScript optimizado para descargar versiones de Minecraft de manera eficiente y rápida.\n\n## 🚀 Características Principales\n\n### Mejoras de Rendimiento\n- **Descargas Concurrentes**: Hasta 15 archivos simultáneos (configurable)\n- **Verificación de Archivos**: Evita re-descargas innecesarias verificando hashes SHA1\n- **Caché de Manifiestos**: Cachea la lista de versiones por 5 minutos\n- **Reintentos Automáticos**: 3 intentos con backoff exponencial\n- **Streaming Optimizado**: Mejor manejo de memoria para archivos grandes\n\n### Funcionalidades\n- ✅ Descarga de client JAR\n- ✅ Descarga de librerías Java\n- ✅ Descarga de assets del juego\n- ✅ Descarga de librerías nativas\n- ✅ Verificación de integridad con SHA1\n- ✅ Progreso detallado en tiempo real\n- ✅ Manejo robusto de errores\n\n## 📦 Instalación\n\n```bash\nnpm install\n```\n\n## 🎯 Uso Básico\n\n```typescript\nimport { MinecraftDownloader } from '@cubiclauncher/neox-core';\n\nconst downloader = new MinecraftDownloader('./minecraft');\n\n// Configurar listeners de eventos\ndownloader.on('progress', (progress) =\u003e {\n  console.log(`${progress.type}: ${progress.percent}%`);\n});\n\ndownloader.on('status', (message) =\u003e {\n  console.log(message);\n});\n\ndownloader.on('complete', (version) =\u003e {\n  console.log(`¡Descarga completada para ${version}!`);\n});\n\n// Descargar una versión\nawait downloader.download('1.20.1');\n```\n\n## ⚡ Configuración Avanzada\n\n### Ajustar Concurrencia\n```typescript\n// Aumentar el número de descargas simultáneas (1-50)\ndownloader.setMaxConcurrentDownloads(20);\n```\n\n### Limpiar Caché\n```typescript\n// Forzar re-descarga del manifiesto de versiones\ndownloader.clearCache();\n```\n\n## 📊 Eventos Disponibles\n\n### `progress`\nInformación detallada del progreso de descarga:\n```typescript\n{\n  version: string;\n  percent: number;\n  type: 'client' | 'library' | 'asset' | 'native';\n  currentFile?: string;\n  totalFiles?: number;\n  downloadedFiles?: number;\n  totalSize?: number;\n  downloadedSize?: number;\n}\n```\n\n### `status`\nMensajes de estado del proceso:\n```typescript\n(message: string) =\u003e void\n```\n\n### `file-complete`\nNotificación cuando un archivo se completa:\n```typescript\n(filename: string, type: string) =\u003e void\n```\n\n### `error`\nErrores durante la descarga:\n```typescript\n(error: Error) =\u003e void\n```\n\n### `complete`\nDescarga finalizada:\n```typescript\n(version: string) =\u003e void\n```\n\n## 🧪 Ejemplo Completo\n\nEjecuta el ejemplo mejorado:\n\n```bash\nnpx ts-node src/test/improved-download.ts\n```\n\nEste ejemplo demuestra:\n- Configuración de concurrencia\n- Eventos detallados con emojis\n- Medición de tiempo de descarga\n- Manejo de errores\n\n## 📈 Mejoras de Rendimiento\n\n### Antes vs Después\n\n| Característica | Versión Anterior | Versión Mejorada |\n|----------------|------------------|------------------|\n| Descargas | Secuenciales | Concurrentes (15 simultáneas) |\n| Verificación | Sin verificación | SHA1 automático |\n| Caché | Sin caché | 5 minutos |\n| Reintentos | Sin reintentos | 3 intentos automáticos |\n| Progreso | Básico | Detallado con bytes |\n| Memoria | Alta | Optimizada |\n\n### Beneficios Esperados\n- **3-5x más rápido** en conexiones rápidas\n- **Menos uso de ancho de banda** (evita re-descargas)\n- **Mayor confiabilidad** (reintentos automáticos)\n- **Mejor experiencia de usuario** (progreso detallado)\n\n## 🔧 Configuración de Red\n\nEl módulo incluye configuraciones optimizadas:\n- Timeout de 30 segundos por archivo\n- Chunks de 1MB para streaming\n- Backoff exponencial en reintentos\n- Control de concurrencia para evitar sobrecarga\n\n## 📁 Estructura de Archivos\n\n```\nminecraft/\n├── versions/\n│   └── 1.20.1/\n│       ├── 1.20.1.json\n│       └── 1.20.1.jar\n├── libraries/\n│   └── [librerías Java]\n├── assets/\n│   ├── indexes/\n│   └── objects/\n└── natives/\n    └── [librerías nativas]\n```\n\n## 🤝 Contribuir\n\n1. Fork el proyecto\n2. Crea una rama para tu feature\n3. Commit tus cambios\n4. Push a la rama\n5. Abre un Pull Request\n\n## 📄 Licencia\n\nLGPL-2.1 license  - ver [LICENSE](LICENSE) para detalles.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcubiclauncher%2Fneox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcubiclauncher%2Fneox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcubiclauncher%2Fneox/lists"}