DedsafioStarships
DedsafioStarships es un addon de Fabric para Superb Warfare ReFabricated. Añade una nave de despegue vertical con puerta de cabina automática, sonidos de motor y cámara libre en tercera persona.
Instala Ad Astra para viajar entre planetas. El piloto automático se encarga del despegue, el salto temporal, la aproximación atmosférica y el aterrizaje. Durante el vuelo verás vistas orbitales, nubes volumétricas, llamas del motor y efectos de reentrada.
Sin Ad Astra, la nave permite ascender automáticamente en vertical hasta una altura configurable. Las rutas entre planetas y los aterrizajes automáticos en ellos requieren Ad Astra.
Por dónde empezar
- Consulta Instalación para conocer los mods y las versiones necesarias.
- Sigue Tu primer vuelo para colocar la nave y despegar.
- Lee Vuelo y piloto automático para conocer la secuencia del viaje y el funcionamiento de la cabina.
Los administradores pueden fijar un destino y elegir una zona de llegada mediante la Configuración del servidor. Los creadores de modpacks pueden ajustar los parámetros de vuelo y los colores de los planetas en órbita siguiendo la Referencia de datapacks.
Esta wiki documenta la versión actual del mod para Minecraft 1.21.1.
Instalación
Usa Minecraft 1.21.1, Fabric Loader 0.19.5 o posterior y Java 21. Instala las ediciones de Fabric de los mods indicados a continuación.
Mods necesarios
| Mod | Versión usada por este proyecto |
|---|---|
| DedsafioStarships | 1.0.0 |
| Superb Warfare ReFabricated | 1.21.1-0.8.9.2 |
| Fabric API | 0.116.17+1.21.1 |
| Veil Lib | 4.5.2 |
| Forge Config API Port | 21.1.6 |
| Fabric Language Kotlin | 1.13.2+kotlin.2.1.20 |
| GeckoLib | 4.7.5 |
| Cloth Config API | 15.0.140+fabric |
| Trinkets | 3.10.0 |
El addon requiere la versión de SBW indicada en la tabla. Las demás versiones corresponden a las dependencias actuales del proyecto; la tabla no garantiza compatibilidad con todas las versiones posteriores.
El JAR publicado de SBW incluye otras bibliotecas, como Cardinal Components, Extensible Enums y ModernKeyBinding. Conserva esas bibliotecas incluidas.
Viajes opcionales entre planetas
Instala estos mods para habilitar los destinos planetarios y la secuencia completa del piloto automático:
| Mod | Versión usada por este proyecto |
|---|---|
| Ad Astra | 1.16.26 para Fabric 1.21.1 |
| Resourceful Lib | 3.0.12 |
| Resourceful Config | 3.0.11 |
| Common Storage Lib | 0.0.10 |
Ad Astra añade los planetas. DedsafioStarships añade la secuencia de vuelo de la nave y sus transiciones visuales.
Instalar en un cliente o servidor
- Crea una instancia de Fabric para Minecraft 1.21.1 con Java 21.
- Coloca el addon y sus mods necesarios en la carpeta
mods/de la instancia. - Añade Ad Astra y sus dependencias si quieres viajar entre planetas.
- Inicia la instancia para generar los archivos de configuración.
En multijugador, instala el addon y el mismo conjunto de dependencias tanto en el servidor como en todos los clientes que se conecten. No necesitas instalar un paquete de shaders aparte para los efectos de vuelo: el addon los renderiza mediante Veil.
Tu primer vuelo
Coloca la nave
Usa el contenedor de vehículo Starship de SBW para colocar la nave en un terreno despejado. Deja espacio alrededor de las alas y encima de la cabina. La puerta comienza abierta.
Los operadores también pueden generar la entidad con:
/summon dedsafiostarships:starship ~ ~ ~
La nave utiliza el sistema de energía de SBW. Comprueba que tenga energía antes de intentar despegar.
Sube y despega
- Interactúa con la nave para ocupar el asiento del piloto. La puerta se cerrará automáticamente.
- Pulsa un control de movimiento de vehículos de SBW para encender el motor. Puedes usar avanzar, retroceder, ascender o descender.
- Espera a que termine el encendido. El sonido de arranque, la vibración de cámara y las llamas del motor comienzan antes del ascenso vertical.
La nave usa las teclas de vehículos de SBW. Revisa el menú de controles de Minecraft si las has cambiado o si otro mod utiliza las mismas teclas.
Elige un destino
Con Ad Astra instalado, despega desde uno de sus mundos de superficie compatibles. La nave ascenderá hasta la vista orbital antes de abrir el menú de destinos.
Elige un planeta para iniciar el salto. Selecciona Volver a tierra para aterrizar en el mundo actual. Cerrar el menú también selecciona el regreso a la superficie actual.
Si el servidor tiene activada la regla starshipFixedDestination, el piloto automático elegirá el destino configurado y omitirá la selección libre. Despegar desde ese planeta te llevará de vuelta a la Tierra. Consulta Configuración del servidor.
Deja que el piloto automático aterrice
Permanece a bordo mientras la nave completa el salto y el descenso. Girará hasta adoptar la posición de aterrizaje, buscará terreno despejado y frenará cerca del suelo. Tras aterrizar, el motor se apagará y la puerta se abrirá, aunque sigas sentado.
Suelta los controles de movimiento después de tocar tierra antes de iniciar otro vuelo.
Volar sin Ad Astra
El motor arranca con normalidad y la nave asciende en vertical hasta TakeoffAltitude, cuyo valor predeterminado es Y=750. El menú de destinos y la secuencia de aterrizaje planetario no están disponibles. Esta altura corresponde a la coordenada Y del mundo, no a una distancia medida desde el punto de despegue.
Vuelo y piloto automático
La secuencia completa requiere Ad Astra y un mundo de despegue registrado como planeta de superficie. El piloto automático controla el movimiento de la nave durante toda la ruta.
Secuencia de vuelo
| Etapa | Qué ocurre |
|---|---|
| Despegue | El motor arranca, la cámara vibra y la nave comienza a ascender en vertical. |
| Tránsito atmosférico | La nave continúa subiendo a través de la capa de nubes volumétricas. |
| Salida de la atmósfera | Aparece la vista orbital y la nave gira para viajar. |
| Selección de destino | Eliges un planeta o el servidor selecciona su destino configurado. |
| Salto temporal | Comienzan los efectos del salto y el planeta de destino aumenta gradualmente de tamaño en la vista. El servidor prepara la zona de aterrizaje. |
| Estabilización | Los efectos del salto se detienen y permanece la vista orbital del destino. |
| Aproximación | La nave gira automáticamente hasta adoptar la orientación vertical de aterrizaje. |
| Aterrizaje | La nave desciende entre las nubes, entra en el mundo de destino y frena sobre terreno seguro. |
| En tierra | El motor se apaga y la puerta de la cabina se abre. |
Con los valores predeterminados, las nubes comienzan durante el ascenso en Y=300. La apertura de su parte superior deja ver el planeta desde órbita al llegar al espacio. Las llamas de despegue se apagan durante las etapas orbitales.
Durante el descenso, se forma un efecto de escudo térmico debajo de la nave. Cerca del suelo, el motor genera llamas de frenado y una vibración de cámara más suave.
Cámaras y cabina
El asiento del piloto sigue la orientación vertical del cohete. La vista en primera persona utiliza la cámara de la cabina y la tercera persona permite usar la cámara libre de SBW. Cambia la vista con el control de perspectiva de Minecraft y los controles de cámara de SBW.
La puerta se abre al colocar la nave, se cierra cuando sube el piloto y se abre tras un aterrizaje automático. También se abre cuando el asiento del piloto queda vacío.
Mientras estés a bordo de una Starship con salud, estarás protegido de las comprobaciones de oxígeno, temperatura y lluvia ácida de Ad Astra. Esa protección termina al salir de la nave. Lleva el equipo que necesites en el destino antes de desembarcar.
Destinos y zonas de aterrizaje
El menú de destinos muestra los planetas de superficie disponibles en Ad Astra cuyo nivel no supere el PlanetTier de la nave. El nivel predeterminado es 4. La configuración de planetas desactivados de Ad Astra también afecta a los destinos disponibles.
En los viajes normales, el piloto automático usa la ubicación de llegada de Ad Astra como zona preferida. En una ruta fija del servidor, utiliza el área X/Z configurada. Busca terreno sólido cercano con espacio suficiente para la nave y evita aterrizar dentro de otra Starship.
La vista orbital del planeta es una representación procedural configurable mediante datapacks. No es un mapa en tiempo real del terreno que hay debajo.
Cambio de mundo
El servidor prepara los chunks del destino durante el salto. El cambio real de dimensión ocurre durante el descenso, dentro de la capa de nubes, en Y=591 de forma predeterminada. El addon mantiene visible la vista de vuelo durante el cambio y oculta la pantalla habitual de carga de terreno en esta secuencia.
Consulta Referencia de datapacks antes de cambiar las alturas de las nubes o del cambio de dimensión. La superposición de ambas oculta el paso entre la vista orbital y el terreno del destino.
Configuración del servidor
Los ajustes del servidor utilizan Forge Config API Port. La restricción de destinos es una regla de juego de Minecraft, por lo que puedes activarla o desactivarla sin cambiar la ruta configurada.
Restringir la selección de destino
Activa la ruta fija con:
/gamerule starshipFixedDestination true
La regla está desactivada (false) de forma predeterminada. Al activarla, la nave elige automáticamente el destino configurado después de alcanzar la órbita. Los jugadores no pueden cambiarlo mediante un paquete de selección de destino.
Para permitir de nuevo la selección libre:
/gamerule starshipFixedDestination false
Configurar la ruta
Inicia el mundo o servidor una vez para generar dedsafiostarships-server.toml. Detén el mundo o servidor antes de editarlo y vuelve a iniciarlo para aplicar los cambios. Usa el archivo que Forge Config API Port haya generado para esa instancia; en la instancia de desarrollo se encuentra dentro de config/.
La configuración predeterminada es:
[autopilot]
destination = "ad_astra:moon"
arrivalX = 0
arrivalZ = 0
arrivalSpread = 64
| Ajuste | Significado |
|---|---|
destination | Dimensión de superficie de Ad Astra usada por la ruta fija. |
arrivalX | Coordenada X del centro de la zona de llegada preferida. |
arrivalZ | Coordenada Z del centro de la zona de llegada preferida. |
arrivalSpread | Radio, en bloques, del desplazamiento aleatorio de llegada. Admite valores entre 0 y 4096. |
El servidor calcula la altura Y del aterrizaje a partir del terreno. No añadas un ajuste de Y.
arrivalX y arrivalZ admiten valores entre -29 999 000 y 29 999 000. La zona de aterrizaje también debe quedar dentro del borde del mundo de destino.
Por ejemplo, para enviar las naves hacia una zona de Marte:
[autopilot]
destination = "ad_astra:mars"
arrivalX = 1200
arrivalZ = -800
arrivalSpread = 96
Cada vuelo elige un punto aleatorio dentro de ese radio. La búsqueda de terreno seguro puede desplazar la posición final a un lugar cercano, así que el radio no es un límite estricto para el punto de aterrizaje. Los desplazamientos aleatorios reducen la acumulación de naves, pero no reservan una plataforma exclusiva para cada una.
El radio de búsqueda de terreno seguro se configura por separado mediante LandingSearchRadius en el datapack. Consulta Referencia de datapacks.
Volver a la Tierra
Con la regla activada, despegar desde el planeta configurado envía la nave a la Tierra (minecraft:overworld). La zona de regreso sigue la información de llegada registrada por Ad Astra y aplica arrivalSpread alrededor de ella.
La ruta predeterminada produce este recorrido:
Earth -> Moon -> Earth
Las coordenadas arrivalX y arrivalZ configuradas se aplican al planeta seleccionado, sin sustituir las coordenadas de regreso a la Tierra.
Destinos no disponibles
La dimensión configurada debe existir, estar disponible como destino de superficie de Ad Astra y no superar el nivel de la nave. Si no está disponible, la nave permanece en órbita y muestra un error. No habilita la selección libre como alternativa.
Referencia de datapacks
La definición del vehículo utiliza el sistema de datapacks de SBW. DedsafioStarships lee sus campos adicionales de vuelo desde el mismo objeto EngineInfo mediante el lector JSON de SBW. La apariencia de los planetas utiliza archivos separados dentro de starship_planets/.
Crear un pack
Minecraft 1.21.1 utiliza el formato de datapack 48. Un pack que sustituye la configuración de la nave y la apariencia orbital de la Tierra tiene esta estructura:
starship-settings/
pack.mcmeta
data/
dedsafiostarships/
sbw/
vehicles/
starship.json
starship_planets/
earth.json
Crea pack.mcmeta en la raíz del pack:
{
"pack": {
"pack_format": 48,
"description": "Configuración de vuelo de Starship"
}
}
Coloca la carpeta en el directorio datapacks/ del mundo. Ejecuta /reload y usa /datapack list para comprobar que el pack está activado. Inicia un vuelo nuevo después de cambiar los ajustes; evita recargar los datos de vuelo durante un viaje.
Sustituir la definición del vehículo
Copia la definición completa del vehículo incluida en el addon a esta ruta de tu pack:
data/dedsafiostarships/sbw/vehicles/starship.json
El original está incluido en esa misma ruta dentro del JAR del mod. En el proyecto se encuentra dentro de src/main/resources/.
Conserva el resto de la definición copiada, incluidos los asientos, las cajas de colisión y el tipo de motor. Edita los campos que necesites dentro de EngineInfo. Un fragmento de EngineInfo por sí solo no es una definición completa del vehículo.
Campos de vuelo
Los nombres de los campos JSON distinguen entre mayúsculas y minúsculas. Las duraciones se miden en ticks, con 20 ticks por segundo a la velocidad normal del servidor. Las velocidades se expresan en bloques por segundo y las alturas corresponden a coordenadas Y del mundo.
Campo de EngineInfo | Valor predeterminado | Significado |
|---|---|---|
TakeoffAltitude | 750 | Altura objetivo del ascenso. En vuelos planetarios se exige además un mínimo de 128 bloques sobre el límite de construcción del mundo. |
TakeoffSpeed | 10 | Velocidad de ascenso vertical. |
IgnitionTicks | 40 | Espera de encendido antes de ascender, incluida la vibración inicial de cámara. |
OrbitRevealTicks | 100 | Duración de la transición hacia la orientación de viaje orbital. |
JumpTicks | 240 | Duración mínima del salto. Puede prolongarse mientras se prepara el terreno del destino. |
StabilizationTicks | 80 | Pausa en la vista orbital del destino después del salto. |
ApproachTicks | 120 | Duración del giro hasta la orientación de aterrizaje. |
LandingSpeed | 10 | Velocidad vertical máxima de descenso; la nave reduce la velocidad cerca del suelo. |
LandingSearchRadius | 32 | Distancia de búsqueda alrededor del punto de llegada preferido. La búsqueda limita este valor a un rango de 8 a 64 bloques. |
TerrainEntryAltitude | 591 | Altura del descenso en la que ocurre el cambio real al mundo de destino, con un mínimo de 128 bloques sobre la superficie de aterrizaje. |
CloudStartAltitude | 300 | Referencia inferior de la capa de nubes durante el ascenso. |
CloudFadeOutAltitude | 580 | Altura en la que comienza a abrirse la capa de nubes durante el ascenso. |
CloudFadeOutEndAltitude | 620 | Referencia superior de la transición de nubes. La apertura durante la salida continúa por encima de ella. |
PlanetTier | 4 | Nivel máximo de los planetas de Ad Astra que puede seleccionar la nave. |
EngineStartSound | "superbwarfare:a_10a_engine_start" | Sonido que se reproduce al encender el motor. |
Por ejemplo, estos valores dentro del objeto EngineInfo existente hacen que el encendido dure tres segundos y el salto dure al menos dieciséis segundos:
"IgnitionTicks": 60,
"JumpTicks": 320
Estas dos líneas son un ejemplo de edición, no un archivo JSON completo. Conserva el objeto que las contiene y el resto de la configuración del vehículo.
Usa valores numéricos finitos, velocidades y duraciones positivas, y alturas de nubes ordenadas de menor a mayor. Mantén el cambio de dimensión dentro de la capa de nubes del descenso si quieres ocultarlo. Cambiar únicamente la altura de transferencia puede dejar visible el cambio de mundo.
Otros ajustes del vehículo de SBW
Estos campos ya están presentes en la definición completa del vehículo:
| Campo | Valor actual | Función |
|---|---|---|
MaxHealth | 500 | Salud del vehículo. |
MaxEnergy | 5000000 | Capacidad de energía. |
EngineInfo.EnergyCostRate | 128 | Consumo de energía del motor por tick. |
EngineSound | "superbwarfare:a_10a_engine" | Sonido del motor en marcha. |
AllowFreeCam | true | Habilita el comportamiento de cámara libre de SBW. |
DestroyInfo.ExplosionDamage | 800 | Daño de la explosión al destruirse. |
DestroyInfo.ExplosionRadius | 16 | Radio de la explosión al destruirse. |
El EngineType es AirShip. El addon implementa el vuelo automático sobre ese motor.
Apariencia de los planetas
Para cambiar la vista orbital de la Tierra, sustituye:
data/dedsafiostarships/starship_planets/earth.json
El archivo predeterminado es:
{
"dimension": "minecraft:overworld",
"land_color": "83934b",
"water_color": "165384",
"atmosphere_color": "4d9be0",
"sea_level": 0.48,
"clouds": 0.5
}
| Campo | Formato | Función |
|---|---|---|
dimension | Identificador de dimensión con namespace | Planeta cuya apariencia orbital se quiere modificar. |
land_color | Cadena hexadecimal RGB de seis dígitos, sin # | Color del terreno procedural. |
water_color | Cadena hexadecimal RGB de seis dígitos, sin # | Color del agua procedural. |
atmosphere_color | Cadena hexadecimal RGB de seis dígitos, sin # | Color de la atmósfera. |
sea_level | Número entre 0 y 1 | Umbral del agua en la vista procedural del planeta. Si se omite, utiliza 0. |
clouds | Número entre 0 y 1 | Cobertura de nubes en la vista orbital del planeta. Si se omite, utiliza 0. |
clouds controla la apariencia del planeta desde órbita. Las nubes volumétricas alrededor de la nave utilizan los campos de altura de EngineInfo. Estos archivos no cambian el terreno, el clima ni los océanos reales del mundo.
El addon incluye earth.json, moon.json, mars.json, venus.json, mercury.json y glacio.json. Sustituye el archivo existente del planeta que quieras modificar. Añadir un archivo de apariencia no registra un destino nuevo en Ad Astra.
Solución de problemas
Fabric indica que faltan mods o que son incompatibles
Comprueba las tablas de Instalación y usa las ediciones para Fabric 1.21.1. El addon requiere SBW 1.21.1-0.8.9.2 y Java 21.
Si Fabric indica que faltan extensibleenums, mkb o Cardinal Components, comprueba que hayas instalado el JAR completo publicado de SBW. Esa versión incluye estas bibliotecas. Un entorno de desarrollo y una instalación normal del launcher pueden resolver de forma distinta las bibliotecas incluidas dentro de otros JAR.
La nave no despega
Ocupa el asiento del piloto, comprueba la energía y la salud de la nave, y pulsa un control de movimiento de vehículos de SBW. La espera de encendido predeterminada es de dos segundos. Revisa los conflictos de teclas en el menú de controles si el motor no responde.
Después de un aterrizaje automático, suelta los controles de movimiento antes de pulsarlos de nuevo para arrancar.
La nave sube, pero no aparece el menú de destinos
La secuencia planetaria requiere Ad Astra. También exige despegar desde una dimensión registrada por Ad Astra como planeta de superficie. Si no se cumplen estas condiciones, la nave utiliza su comportamiento de ascenso vertical.
Si starshipFixedDestination está activada, es normal que no aparezca un menú de selección: el servidor elige el destino. Consulta Configuración del servidor.
Falta un planeta en el menú
Comprueba que su dimensión exista en el servidor, que Ad Astra no lo tenga desactivado y que su nivel no supere el PlanetTier de la nave. Las dimensiones espaciales no se ofrecen como destinos de aterrizaje en superficie.
La nave indica que el destino configurado no está disponible
Revisa destination en dedsafiostarships-server.toml. Debe ser una dimensión de superficie disponible en Ad Astra cuyo nivel no supere el de la nave. El valor predeterminado es ad_astra:moon.
Si la ruta fija no es válida, la nave permanece en órbita en lugar de permitir otro destino.
No se ha encontrado un lugar seguro para aterrizar
La búsqueda necesita una base sólida y seca de 3 por 3 bloques, sin hojas debajo del punto de aterrizaje, y un espacio despejado de unos 10 bloques de ancho y 7 de alto. También comprueba el borde del mundo y las Starships cercanas.
Mueve el centro de llegada configurado a un terreno más abierto o ajusta LandingSearchRadius dentro de su rango admitido. Los edificios muy juntos, los océanos, el terreno escarpado y las zonas de aterrizaje ocupadas pueden impedir una llegada segura.
El salto tarda más de lo esperado
JumpTicks es una duración mínima. El servidor espera a los chunks del destino antes de continuar. Si la preparación falla, la nave muestra un error y permanece en órbita.
Revisa el registro del servidor y la disponibilidad del mundo de destino. El terreno nuevo puede tardar más en prepararse que una zona ya generada.
Faltan efectos de vuelo o falla la carga de un shader
Comprueba que Veil Lib 4.5.2 esté instalado. Busca errores de compilación de shaders o de carga de recursos en logs/latest.log. Si utilizas otros mods de renderizado o paquetes de shaders, incluye sus nombres y versiones al informar del problema.
No aparece un cambio realizado mediante datapack
Comprueba /datapack list, ejecuta /reload y busca errores JSON en el registro. Respeta las rutas, el namespace y las mayúsculas de los campos indicados en Referencia de datapacks. Conserva la definición completa del vehículo al sustituir starship.json.
Inicia un vuelo nuevo para evaluar los cambios de duración o altura.
Informar de un problema
Incluye las versiones de Minecraft, Fabric Loader, SBW, Veil, Ad Astra y el addon, junto con logs/latest.log y cualquier informe de fallo. Describe la dimensión de despegue, el destino seleccionado, la etapa de vuelo y los ajustes relevantes del datapack o del servidor. Para problemas visuales, incluye la perspectiva de cámara y una captura o una grabación corta.