- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Minecraft Snapshot 25w03a
La instantánea de esta semana incluye una gran actualización de las pruebas de juego. Ahora se puede acceder al sistema de pruebas de juego a través de paquetes de datos con el nuevo comando de prueba. Ahora puedes ejecutar pruebas basadas en bloques con el nuevo bloque de prueba o configurar pruebas aún más versátiles desde el código en mods.
Cambios
La hojarasca se puede utilizar en el compostador.
Las sillas de montar equipadas en cerdos o zancudos ahora mantendrán propiedades como el nombre personalizado cuando se suelten.
Cambios técnicos
La versión del paquete de datos ahora es 63
La versión del paquete de recursos ahora es 48
El nuevo punto de entrada net.minecraft.gametest.Main está presente en el archivo jar del servidor
Inicia automáticamente un servidor y ejecuta todas las pruebas de juego disponibles.
Prueba del juego principal
Este nuevo punto de entrada inicia automáticamente un servidor, ejecuta todas las pruebas de juego disponibles y luego existe.
Opciones:
--help - Muestra información de uso
--packs <ruta> - Establece una carpeta de paquetes de datos para incluir en el mundo
Se incluye cualquier archivo zip o carpeta con un archivo pack.mcmeta
--report <ruta> - Exporta los resultados en un informe XML similar a junit en la ruta indicada
--tests <selection> - Especifica qué pruebas ejecutar con una selección - una expresión comodín que coincide con los identificadores de instancia de prueba del espacio de nombres
Si se omite o se usa con un ID vacío, ejecuta todas las pruebas
--universe <path> - La ruta hacia donde se creará el mundo del servidor de prueba
Cualquier carpeta existente será reemplazada
Predeterminado: gametestserver
--verify <boolean> - Habilita la verificación de pruebas
Ejecuta las pruebas especificadas con test o testNamespace 100 veces por cada paso de rotación de 90 grados
Predeterminado: falso
Ejemplo de uso: java -DbundlerMainClass="net.minecraft.gametest.Main" -jar server.jar --packs mytestpacks
Versiones del paquete de datos 63
El sistema de pruebas de juego ahora es accesible a través de paquetes de datos y mods.
Las variantes de entidad ahora se configuran y consultan con componentes
Se agregó una ranura para equipo de silla de montar , impulsada por el componente equipable . Solo los monstruos que normalmente admiten sillas de montar admitirán la conducción y la representación de la silla de montar. Los elementos en la ranura para silla de montar pueden aplicar modificadores de atributos como con otros equipos.
Pruebas de juego
El sistema Game Tests es un nuevo sistema integrado para probar aspectos del juego. Cada prueba es un recurso que define algunos parámetros sobre cómo se ejecuta la prueba, combinado con un archivo de estructura guardado que contiene una configuración básica.
Generalmente, el marco de prueba espera ejecutar pruebas en un mundo superplano separado.
Instancias de prueba
Las instancias de prueba se definen en el registro test_instance . Son pequeños recursos que definen una prueba que se ejecutará.
Campos:
entorno : ID con espacio de nombres del entorno de prueba para ejecutar esta prueba como parte de
estructura : El ID del espacio de nombres de la estructura que se utilizará para la prueba
max_ticks : un entero positivo que representa la cantidad máxima de ticks que se permiten antes de que se considere que la prueba ha expirado
setup_ticks : entero no negativo opcional (predeterminado: 0 ) que representa una cantidad de ticks a esperar después de colocar la estructura antes de comenzar la prueba
requerido : booleano opcional (valor predeterminado verdadero ): si se considera que la prueba debe aprobarse para que se apruebe el conjunto de pruebas completo
rotación : Rotación opcional para aplicar a la estructura de prueba
Uno de ninguno (predeterminado), clockwise_90 , 180 y counterclockwise_90
manual_only : booleano opcional (predeterminado false ), establecido en true para pruebas que no están incluidas como parte de ejecuciones de pruebas automatizadas
sky_access : si la prueba necesita acceso libre al cielo
De manera predeterminada ( falso ), las pruebas están encerradas en bloques de barrera: si se establece en verdadero , la parte superior queda abierta.
max_attempts : Número de intentos para ejecutar la prueba (predeterminado 1 )
required_successes : Número de intentos que deben tener éxito para que la prueba se considere exitosa (predeterminado 1 )
tipo : El tipo de prueba, una basada en bloque y una función
Pruebas de función
Las pruebas de función se basan en funciones integradas para ejecutar una prueba e indicar el éxito o el fracaso. Tienen un campo adicional:
función : El ID del espacio de nombres de la función de prueba que se ejecutará
Consulte la sección del registro de cambios "Uso del marco de pruebas de juego desde el código" para obtener más información.
Pruebas basadas en bloques
Las pruebas basadas en bloques utilizan bloques de prueba en la estructura de prueba para ejecutar la prueba e indicar el éxito o el fracaso.
Entornos de prueba
Los entornos de prueba son una forma de agrupar pruebas y darles las condiciones previas adecuadas para su ejecución. Un entorno de prueba es un activo en el registro test_environment . Cada definición de entorno de prueba tiene un campo de tipo que determina su configuración:
Las definiciones all_of aplican la configuración de varias subdefiniciones en el campo de definiciones
Las definiciones de funciones utilizan archivos mcfunction como configuración y desmontaje.
configuración : ID de espacio de nombres opcional de la mcfunction que se utilizará para la configuración, si corresponde
teardown : ID de espacio de nombres opcional de la mcfunction que se usará para el desmontaje, si corresponde
game_rules : las definiciones establecen cualquier número de reglas del juego
bool_rules : una lista de reglas de juego booleanas para establecer y el valor a establecer
int_rules : una lista de reglas de juego de números enteros para establecer y el valor a establecer
Cada regla es un objeto con dos campos:
regla : El nombre exacto de la regla a establecer
valor : El valor a establecer
Las reglas del juego se restablecen a sus valores predeterminados una vez completado el entorno de prueba.
Las definiciones meteorológicas establecen el estado del clima.
Tiempo : El tiempo que se avecina: despejado , lluvioso y con truenos.
Las definiciones de time_of_day establecen una hora determinada del día
hora : La hora del día que se establecerá en número de ticks, como un entero no negativo
El juego proporciona un único entorno de prueba vacío de forma predeterminada: minecraft:default .
Bloques de prueba
El bloque de prueba es un bloque que se utiliza para implementar pruebas basadas en bloques. Tiene cuatro modos:
Inicio : activa un pulso de piedra roja cuando comienza la prueba.
log : registra un mensaje en el archivo de registro cuando se activa con redstone
fail : falla la prueba cuando está alimentado por redstone
aceptar : completa la prueba cuando está encendido con redstone
Se requiere que las pruebas basadas en bloques tengan al menos un bloque de inicio y un bloque de aceptación en la estructura.
ElpruebaDominio
El comando de prueba es un nuevo comando que se utiliza para crear y ejecutar pruebas.
Sintaxis:
test clearall [<radius>]
test clearthat
test clearthese
test create <test> [<width>] [<height> <depth>]
test locate <selector>
test resetclosest
test reseetthese
test resetthat
test pos [<variable>]
test run <selector> [<numberOfTimes>] [<untilFailed>] [<rotationSteps>] [<testsPerRow>]
test runclosest [<numberOfTimes>] [<untilFailed>]
test runfailed [<numberOfTimes>] [<untilFailed>] [<rotationSteps>] [<testsPerRow>]
test runmultiple <selector> [<amount>]
test runthat [<numberOfTimes>] [<untilFailed>]
test runthese [<numberOfTimes>] [<untilFailed>]
test stop
test verify <tests>
Parámetros:
radio : el radio para borrar las pruebas dentro
prueba : El ID del espacio de nombres de una prueba
selector : Un selector habilitado con comodines para identificaciones de prueba
Admite * y ? para hacer coincidir identificaciones con espacios de nombres
Si no se proporciona el espacio de nombres, el valor predeterminado es Minecraft
Ejemplos:
*:* - coincide con todos los ID
* - coincide con todo en el espacio de nombres de Minecraft
custom:folder/*_test_? - coincide con los ID en la carpeta folder del espacio de nombres personalizado , con un prefijo seguido de _test_ seguido de un único carácter válido
ancho : el ancho de la estructura de prueba; si se omite, se utiliza 5
altura : la altura de la estructura de prueba; si se omite, se utiliza el ancho
profundidad : la profundidad de la estructura de prueba; si se omite, se utiliza el ancho
variable : el nombre de la variable que se incluirá en el fragmento de código copiado
numberOfTimes : la cantidad de veces que se repetirá cada prueba; si se omite, se utiliza 1
UntilFailed : booleano (predeterminado: falso ) que indica que la prueba debe detenerse tan pronto como falle una iteración
rotationSteps : Número de pasos de 90 grados adicionales que se aplicarán a la prueba; si se omite, se utiliza 0
testsPerRow : Número de pruebas a colocar por fila en un diseño de cuadrícula; si se omite, se utiliza 8
prueba clara*
Estos subcomandos borran las estructuras y los bloques asociados con las pruebas seleccionadas.
prueba crear
Este subcomando crea una configuración de prueba en la ubicación actual para la prueba dada, preparándola para una estructura del tamaño dado. Esto proporciona un punto de partida para crear la estructura para la prueba.
prueba localizar
Intenta localizar la prueba indicada. Tenga en cuenta que solo se buscan fragmentos cargados.
prueba de reinicio*
Estos subcomandos restablecen las estructuras para las pruebas seleccionadas, eliminando cualquier barrera circundante y colocando la estructura desde cero.
prueba pos
Muestra las coordenadas locales del bloque al que se apunta en la prueba. Si se especifica el nombre de la variable opcional, este nombre de variable se utiliza en un fragmento de código que se obtiene al hacer clic en las coordenadas en el mensaje de salida.
prueba de funcionamiento*
Ejecuta una o más pruebas. Si se ejecutan varias pruebas a la vez, se colocan en una cuadrícula y se ejecutan en paralelo, aunque solo hasta cierto límite. Más allá de ese límite, las pruebas se ejecutan en rondas, donde cada ronda se completa antes de que comiencen las pruebas de la ronda siguiente.
Para cada prueba, se carga la estructura indicada y se ejecuta la prueba asociada. Cada ubicación de prueba tendrá una señal luminosa que mostrará el estado de la prueba.
Baliza gris = en progreso
Rojo = reprobado (prueba obligatoria)
Naranja = reprobado (prueba opcional)
Verde = éxito
Si una prueba falla, el error se muestra en un libro de atril y en una superposición.
Tenga en cuenta que las pruebas de juego están diseñadas para ejecutarse en mundos superplanos estándar. El área alrededor de cada prueba se reemplaza con piedra cuando se ejecuta, y la prueba en ejecución está encerrada en bloques de barrera.
parada de prueba
Esto detiene todas las pruebas en ejecución. Ten en cuenta que los eventos de juego activados por las pruebas pueden permanecer activos.
prueba verificar*
Verifica una o más pruebas ejecutando múltiples instancias de la misma prueba.
Bloques de instancias de prueba
Para ejecutar una prueba en un mundo, se utiliza un bloque de instancia de prueba. Este tipo de bloque representa la prueba tal como se encuentra en el mundo y se utiliza para interactuar con esa prueba, guardar la estructura, restablecer o ejecutar la prueba.
Al usar el comando de prueba para ejecutar o crear una prueba, también se colocará un bloque de instancia de prueba para controlar esa prueba.
Uso del marco de prueba de juegos desde el código
El Game Test Framework también se puede utilizar desde el código de una manera más versátil que las pruebas basadas en bloques. Para que esto funcione, debes modificar el juego para agregar tus funciones de prueba al registro test_function ( Registries.TEST_FUNCTION ).
Conéctese a algún método de inicio (arranque previo al registro) para agregar su cargador: llame a TestFunctionLoader.registerLoader() con una implementación de TestFunctionLoader . Su implementación puede usar el consumidor de registro provisto para registrar funciones de prueba con sus identificadores de espacio de nombres. Luego, se puede hacer referencia a este identificador de espacio de nombres en una instancia de prueba de tipo de función .
Una función de prueba es un Consumer<GameTestHelper> , que utiliza esa instancia de GameTestHelper para manipular el mundo y hacer afirmaciones sobre el estado del mundo resultante.
El asistente se puede utilizar para invocar monstruos, colocar bloques, consultar bloques y entidades y confirmar el estado de la prueba. La mayoría de los métodos de GameTestHelper toman coordenadas locales de la prueba, que también puedes encontrar usando /test pos .
Código de ejemplo que podría acompañar a una estructura de prueba con una tolva bloqueada que contiene un bacalao, apuntando hacia un horno:
public void furnace_smelts_item(final GameTestHelper helper) {
helper.setBlock(0, 4, 0, Blocks.AIR);
helper.succeedWhen(() -> helper.assertContainerContainsSingle(new BlockPos(0, 0, 0), Items.COOKED_COD));
}
Las configuraciones más complicadas a menudo usarán helper.startSequence() para modelar secuencias de eventos que deben suceder.
A diferencia de las pruebas basadas en bloques, las pruebas de función que fallan a menudo producirán mensajes de error más útiles, incluida la ubicación de lo que falló y lo que se esperaba en esa ubicación.
Comandos
El espacio para objetos horse.saddle ha cambiado de nombre a Saddle y ahora admite cualquier entidad que pueda equipar una Saddle.
Formato de datos del componente de texto
Eventos flotantes
Para la acción show_text :
El campo de texto ha cambiado de nombre a valor
Etiquetas
Etiquetas de entidad
Se agregó #can_equip_saddle : entidades que pueden equiparse con una silla de montar.
Nota: esto no significa que el sillín funcionará, solo que se puede equipar en la ranura del sillín.
Datos de la entidad
Los campos ArmorItems , HandItems y body_armor_item se han fusionado en un campo de equipo .
Formato: mapa entre el tipo de ranura de equipo y la pila de elementos
Ranuras de equipo válidas: cabeza , pecho , piernas , pies , mano principal , mano secundaria , cuerpo , silla de montar
Si no se especifica o se elimina, la entidad no tendrá equipo.
p. ej. equipo:{pecho:{id:'minecraft:diamond_chestplate'}}
Esto afecta a todos los mobs y soportes de armadura, pero los jugadores no se ven afectados.
El formato de datos de las sillas de montar se ha unificado entre mobs como Caballos y Cerdos, convirtiéndose en un nuevo tipo de espacio de equipo (y se almacena en el campo equipment.saddle )
Este es un cambio de nombre puro del SaddleItem anterior en mobs similares a caballos.
Esto también reemplaza la bandera booleana Saddle de Pigs and Striders
La caída de la silla al morir ahora se ve afectada por el campo drop_chances , al igual que con otras ranuras de equipo.
El campo FallDistance se ha cambiado de flotante a doble y ahora se llama fall_distance
Componentes del artículo
armacomponente
El campo damage_per_attack pasó a llamarse item_damage_per_attack
EquipableComponente
Ahora se puede aplicar a la ranura de silla de montar
Ahora cualquier monstruo puede tener equipo agregado en la ranura del cuerpo siempre que el componente lo permita ( allowed_entities )
Se agregó un nuevo campo opcional: equip_on_interaction (booleano)
Si es verdadero , los jugadores pueden equipar este objeto en un monstruo objetivo haciendo clic derecho en él (siempre que este objeto pueda equiparse en el objetivo)
El objeto no se equipará si el objetivo ya tiene un objeto en la ranura correspondiente.
Si no se especifica, el valor predeterminado es falso
Componentes de la variante de entidad
Las entidades ahora tienen un conjunto de componentes para configurar variantes y otros aspectos de la apariencia.
Si esos componentes están presentes en el elemento generador (como huevos generadores, cubos de monstruos, minecraft:painting , minecraft:item_frame ), se aplicarán a la nueva entidad.
Actualmente, los componentes no se restauran cuando se selecciona un huevo de generación de una entidad existente
Nuevos componentes:
aldeano/variante - uno de desierto , jungla , llanura , sabana , nieve , pantano , taiga
wolf/variant - id con espacio de nombres del registro wolf_variant
Lobo/collar : uno de los 16 colores de tinte
zorro/variante - uno de color rojo , nieve
Salmón/tamaño : uno de pequeño , mediano , grande
loro/variante - uno de rojo_azul , azul , verde , amarillo_azul , gris
tropical_fish/pattern - uno de los siguientes: kob , sunstreak , snooper , dasher , brinely , spotty , flopper , stripey , glitter , blockfish , betty , clayfish
tropical_fish/base_color : uno de los 16 colores de tinte
tropical_fish/pattern_color : uno de los 16 colores de tinte
hongo/variante : uno de color rojo y marrón
conejo/variante - uno de los siguientes: marrón , blanco , negro , blanco con manchas , dorado , sal , malvado
pig/variant - id con espacio de nombres del registro pig_variant
frog/variant - id con espacio de nombres del registro frog_variant
caballo/variante - uno de blanco , cremoso , castaño , marrón , negro , gris , marrón oscuro
pintura/variante : id con espacio de nombres del registro painting_variant
Llama/variante : una de color crema , blanca , marrón , gris.
Axolotl/variante - uno de Lucy , salvaje , dorado , cian , azul
cat/variant - id con espacio de nombres del registro cat_variant
Gato/collar : uno de los 16 colores de tinte
oveja/color - uno de los 16 colores de tinte
shulker/color - uno de los 16 colores de tinte
Los contenedores y pinturas de Mob disponibles en el menú creativo ahora usarán nuevas variantes en lugar del componente minecraft:entity_data
Las descripciones emergentes personalizadas para los elementos Cubo de peces tropicales y Pintura ahora se basan en nuevos componentes en lugar de minecraft:bucket_entity_data y minecraft:entity_data
Predicados
Predicados de entidad
Se ha añadido un nuevo campo opcional al predicado de entidad: componentes
Cuando está presente, el predicado coincidirá con el contenido de los componentes de la entidad (de manera similar a los componentes de campo en el predicado del elemento que funciona en pilas de elementos)
Formato: mapa de la clave del tipo de componente con los valores de los componentes coincidentes
Los siguientes subpredicados de entidad se han eliminado y reemplazado con una combinación de componentes de predicado y componentes de entidad variante:
minecraft:axolotl
minecraft:zorro
Minecraft:seta
Minecraft: conejo
minecraft:caballo
Minecraft: llama
Minecraft:aldeano
minecraft:loro
minecraft:salmón
minecraft:peces tropicales
minecraft:pintura
Minecraft: gato
minecraft:rana
minecraft:lobo
minecraft:cerdo
Se ha eliminado el color del campo del subpredicado minecraft:sheep
Paquete de recursos versión 48
Se agregó un nuevo tipo de capa de activos de equipo para cerdos y zancudos, y se movieron las texturas de la silla de montar.
Se modificó el tamaño de la textura pig_saddle
Activos de equipo
Los activos de equipo ahora pueden definir nuevos tipos de capas:
pig_saddle - capa de equipamiento para sillas de montar Pig
strider_saddle - capa de equipamiento para sillines Strider
camel_saddle - capa de equipamiento para sillas de montar Camel
horse_saddle - capa de equipamiento para sillas de montar para caballos
donkey_saddle - capa de equipamiento para sillas de montar Donkey
mule_saddle - capa de equipamiento para sillas de montar de mula
skeleton_horse_saddle : capa de equipamiento para sillas de montar Skeleton Horse
zombie_horse_saddle - capa de equipamiento para las sillas de montar de Zombie Horse
Se han movido las siguientes texturas para admitir el uso de recursos de equipo para sillines:
entidad/cerdo/silla_de_cerdo.png -> entidad/equipo/silla_de_cerdo/silla.png
entidad/strider/strider_saddle.png -> entidad/equipo/strider_saddle/saddle.png
Las siguientes texturas se han separado de su textura de entidad base para admitir el uso de recursos de equipo para sillines:
entidad/camello/camello.png -> entidad/equipo/silla_de_camello/silla_de_montar.png
entidad/caballo/caballo_<variante>.png -> entidad/equipo/silla_de_caballo/silla_de_montar.png
entidad/caballo/burro.png -> entidad/equipo/burro_silla/silla.png
entidad/caballo/mula.png -> entidad/equipo/mula_silla/silla.png
entidad/caballo/esqueleto_de_caballo.png -> entidad/equipo/esqueleto_de_caballo_silla/silla.png
entidad/caballo/caballo_zombie.png -> entidad/equipo/silla_de_caballo_zombie/silla_de_montar.png
Modelos de artículos
minecraft:componentSeleccionar propiedad
Se ha añadido una nueva fuente de datos para seleccionar el modelo de artículo: componente
Devuelve el valor del componente en el artículo, si lo hay
Campos:
componente - ID del tipo de componente con espacio de nombres
Valores posibles: depende del tipo de componente
Ejemplo: si el componente se establece en minecraft:wolf/collar , la lista de casos aceptará colores de tinte, como lima
Errores corregidos en 25w03a
MC-13738 - Silla de montar invisible al usar poción de invisibilidad en un caballo, burro o mula
MC-80243 - Las sillas de montar no aplican modificadores de atributos cuando las usan entidades
MC-189525 - Las entidades blindadas de mundos anteriores a la versión 1.9 se actualizan a armaduras de doble empuñadura
MC-190000 - Las sillas de montar equipadas en los caballos no se pueden reemplazar sin quitarlas primero
MC-256469 - Los camellos invisibles no muestran sus monturas
MC-266912 - Los sonidos de equipamiento de silla de montar no se reproducen cuando se equipan sillas de montar en caballos, burros, mulas o camellos poco después de que se invoca dicha entidad.
MC-269637 - Los caballos pueden usar varias sillas de montar, pero no varias armaduras.
MC-270192 - Las sillas de montar de algunas entidades permanecen visibles durante su animación de muerte.
MC-270197 - La silla de montar de los cerdos y los zancudos permanece visible durante su animación de muerte.
MC-272100 - Píxeles de paleta sin usar en texturas de caballos (horse_[brown/chestnut/creamy/white].png)
MC-272790 - Las cajas Shulker y otros bloques en el portal de salida final cuando cambia de estado no se eliminan como elementos
MC-274258 - Todas las texturas de caballos contienen una textura de bolsa de pecho sin usar
MC-278673 - La rotación x de /teleport está limitada a ±90 grados en relación con el ángulo original de la entidad
MC-279208 - Los jugadores ya no pueden comenzar a correr al presionar primero una tecla de movimiento lateral
MC-279211 - Las cajas Shulker conservan y dejan caer su contenido al romperse mediante ciertos métodos, lo que provoca la duplicación de elementos.
MC-279213 - Los bloques de hongos no pueden reemplazar la hojarasca
MC-279221 - La hojarasca reemplaza las hojas en el mundo gen
MC-279224 - El uso de harina de huesos en praderas no genera flores silvestres
MC-279226 - Los orbes de experiencia de cualquier valor se representan como el valor más pequeño.
MC-279233 - Las cajas Shulker dejan caer su contenido cuando se rompen
MC-279234 - El sonido minecraft:entity.generic.execute_fire no se reproduce cuando se extingue el fuego de una entidad
MC-279238 - Morir a causa de un carro minero con TNT encendido por una bola de fuego no cuenta como muerte por incendio.
MC-279239 - El movimiento del TNT preparado es entrecortado y tembloroso.
MC-279245 - La mayoría de los mobs hostiles no aparecen ni siquiera en las condiciones adecuadas
MC-279248 - La colisión de lava es demasiado alta
MC-279281 - Se produce daño por caída al saltar desde 2 bloques hacia arriba.
MC-279282 - Los loros con UUID de propietario que no es jugador provocan un bloqueo al aparecer
MC-279285 - Los orbes de experiencia aceleran abruptamente hacia el suelo muy rápido
MC-279301 - El jugador muere al caer desde 22.00001 bloques en lugar de 23 bloques
MC-279313 - El movimiento de las entidades de los elementos es entrecortado y tembloroso en determinadas circunstancias
MC-279314 - Los proyectiles se mueven hacia arriba y hacia abajo ligeramente mientras vuelan por el aire.
MC-279316 - El movimiento de los flotadores de pesca es entrecortado y nervioso.
MC-279339 - El orden de actualización de los rieles inclinados es incorrecto
MC-279340 - Los osos polares bebés son demasiado pequeños
MC-279345 - Los pétalos rosados y las flores silvestres ya no se pueden cultivar con harina de huesos.
MC-279357 - El jugador puede caerse de los bordes mientras se escabulle
MC-279434 - Estar de pie sobre nieve en polvo y fuego al mismo tiempo genera un sonido de extinción de incendios.
MC-279459 - /setblock y otros rellenos no actualizan correctamente las entidades de bloque
- Obtener vínculo
- X
- Correo electrónico
- Otras apps

Comentarios
Publicar un comentario