Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DedsafioStarships

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

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

ModVersión usada por este proyecto
DedsafioStarships1.0.0
Superb Warfare ReFabricated1.21.1-0.8.9.2
Fabric API0.116.17+1.21.1
Veil Lib4.5.2
Forge Config API Port21.1.6
Fabric Language Kotlin1.13.2+kotlin.2.1.20
GeckoLib4.7.5
Cloth Config API15.0.140+fabric
Trinkets3.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:

ModVersión usada por este proyecto
Ad Astra1.16.26 para Fabric 1.21.1
Resourceful Lib3.0.12
Resourceful Config3.0.11
Common Storage Lib0.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

  1. Crea una instancia de Fabric para Minecraft 1.21.1 con Java 21.
  2. Coloca el addon y sus mods necesarios en la carpeta mods/ de la instancia.
  3. Añade Ad Astra y sus dependencias si quieres viajar entre planetas.
  4. 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

  1. Interactúa con la nave para ocupar el asiento del piloto. La puerta se cerrará automáticamente.
  2. Pulsa un control de movimiento de vehículos de SBW para encender el motor. Puedes usar avanzar, retroceder, ascender o descender.
  3. 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

EtapaQué ocurre
DespegueEl motor arranca, la cámara vibra y la nave comienza a ascender en vertical.
Tránsito atmosféricoLa nave continúa subiendo a través de la capa de nubes volumétricas.
Salida de la atmósferaAparece la vista orbital y la nave gira para viajar.
Selección de destinoEliges un planeta o el servidor selecciona su destino configurado.
Salto temporalComienzan 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ónLos efectos del salto se detienen y permanece la vista orbital del destino.
AproximaciónLa nave gira automáticamente hasta adoptar la orientación vertical de aterrizaje.
AterrizajeLa nave desciende entre las nubes, entra en el mundo de destino y frena sobre terreno seguro.
En tierraEl 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
AjusteSignificado
destinationDimensión de superficie de Ad Astra usada por la ruta fija.
arrivalXCoordenada X del centro de la zona de llegada preferida.
arrivalZCoordenada Z del centro de la zona de llegada preferida.
arrivalSpreadRadio, 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 EngineInfoValor predeterminadoSignificado
TakeoffAltitude750Altura 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.
TakeoffSpeed10Velocidad de ascenso vertical.
IgnitionTicks40Espera de encendido antes de ascender, incluida la vibración inicial de cámara.
OrbitRevealTicks100Duración de la transición hacia la orientación de viaje orbital.
JumpTicks240Duración mínima del salto. Puede prolongarse mientras se prepara el terreno del destino.
StabilizationTicks80Pausa en la vista orbital del destino después del salto.
ApproachTicks120Duración del giro hasta la orientación de aterrizaje.
LandingSpeed10Velocidad vertical máxima de descenso; la nave reduce la velocidad cerca del suelo.
LandingSearchRadius32Distancia de búsqueda alrededor del punto de llegada preferido. La búsqueda limita este valor a un rango de 8 a 64 bloques.
TerrainEntryAltitude591Altura 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.
CloudStartAltitude300Referencia inferior de la capa de nubes durante el ascenso.
CloudFadeOutAltitude580Altura en la que comienza a abrirse la capa de nubes durante el ascenso.
CloudFadeOutEndAltitude620Referencia superior de la transición de nubes. La apertura durante la salida continúa por encima de ella.
PlanetTier4Nivel 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:

CampoValor actualFunción
MaxHealth500Salud del vehículo.
MaxEnergy5000000Capacidad de energía.
EngineInfo.EnergyCostRate128Consumo de energía del motor por tick.
EngineSound"superbwarfare:a_10a_engine"Sonido del motor en marcha.
AllowFreeCamtrueHabilita el comportamiento de cámara libre de SBW.
DestroyInfo.ExplosionDamage800Daño de la explosión al destruirse.
DestroyInfo.ExplosionRadius16Radio 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
}
CampoFormatoFunción
dimensionIdentificador de dimensión con namespacePlaneta cuya apariencia orbital se quiere modificar.
land_colorCadena hexadecimal RGB de seis dígitos, sin #Color del terreno procedural.
water_colorCadena hexadecimal RGB de seis dígitos, sin #Color del agua procedural.
atmosphere_colorCadena hexadecimal RGB de seis dígitos, sin #Color de la atmósfera.
sea_levelNúmero entre 0 y 1Umbral del agua en la vista procedural del planeta. Si se omite, utiliza 0.
cloudsNúmero entre 0 y 1Cobertura 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.