Saltar al contenido principal

Custom Biome

Biomas personalizados con sus propios colores, niebla, cielo y clima; píntalos o muéstraselos a un solo jugador.

Gratuitasv0.9Mundo y construcción
RequiereTypeWriter0.9Quest extensionPacketEventsWorldEditopcionalPlaceholderAPIopcional

Descripción general​

Custom Biome te permite crear tus propios biomas desde el panel web de TypeWriter: colores de hierba, follaje, agua, cielo y niebla, ajustes de nubes y sol, temperatura y precipitación. Un bioma nuevo parte de un bioma base de vanilla, así que los spawns de mobs, las features y otras propiedades se heredan, y solo sobrescribes lo que quieres cambiar.

Un bioma se puede usar de dos maneras. Puedes pintarlo en el mundo, en un radio de bloques, una selección de WorldEdit o una región capturada, y restaurar más tarde los biomas anteriores a partir de una instantánea. O puedes mostrarlo solo a un jugador o a una audiencia, mediante una superposición por jugador: el mundo no se toca y nadie más ve el cambio. Así es como un bosque corrupto puede aparecer solo durante una misión.

Características​

  • Definiciones de bioma — colores (hierba, follaje, follaje seco, agua, cielo, niebla, niebla del agua, nubes, luz del cielo, amanecer/atardecer), distancias de niebla y nubes, ajustes de sol, luna y estrellas, temperatura y precipitación.
  • Preajustes — comparte una paleta entre varios biomas y sobrescribe solo lo que difiere.
  • Registro en vivo — los biomas se inyectan en el registro del servidor cuando es posible y se escriben en un datapack generado para que sobrevivan a los reinicios.
  • Pintado del mundo — aplica un bioma alrededor de un jugador o sobre una región, con una instantánea opcional para deshacerlo.
  • Superposiciones por jugador — muestra un bioma a un jugador o a una audiencia, mediante una acción, una audiencia o una cinemática.
  • Eventos de entrada y salida — activa entradas cuando un jugador entra o sale de un bioma.
  • Descubrimiento — recuerda qué biomas ha visitado cada jugador y úsalo en facts y misiones.
  • Facts, variables y placeholders — lee el bioma actual, sus propiedades y el número de descubrimientos.
  • Comandos de operador — lista biomas, inspecciona el bioma bajo un jugador, pinta, refresca y captura una región.
  • Compatible con Folia — las escrituras se programan en la región propietaria de cada chunk.

Instalación​

  1. Instala PacketEvents. Las superposiciones y los refrescos de chunks se envían con él; sin él, las superposiciones quedan desactivadas.
  2. Instala la extensión Quest de TypeWriter desde la pestaña Extensions del panel web (el objetivo la usa).
  3. Opcional: instala WorldEdit o FastAsyncWorldEdit para pintar la selección que hiciste en el juego.
  4. Opcional: instala PlaceholderAPI para usar los placeholders que se indican más abajo.
  5. Coloca el JAR de Custom Biome en plugins/Typewriter/extensions/ y reinicia el servidor.

Las definiciones de bioma se escriben en un datapack llamado typewriter_custom_biomes dentro de la carpeta datapacks del mundo.

nota

Los atributos visuales (distancias de niebla, altura de las nubes, ajustes de sol, luna y estrellas) están marcados en el código fuente para Minecraft 1.21.11 y posteriores. En versiones anteriores solo se aplican los colores y el clima.

Primeros pasos​

Crea un bosque púrpura y muéstralo a los jugadores en un paso de misión:

  1. En el panel web de TypeWriter, abre una página de manifest y añade una entrada Custom Biome Definition.
  2. Establece biomeId (minúsculas, guiones bajos, por ejemplo corrupted_forest) y deja namespace como typewriter. Establece baseBiome en minecraft:forest.
  3. Rellena en hexadecimal los colores que quieras cambiar, por ejemplo grassColor #6a3d9a y foliageColor #4b2a73. Los campos vacíos heredan del bioma base.
  4. Publica y luego ejecuta /tw biome list en el juego para comprobar que el bioma está activo. Si aparece como pendiente de reinicio, reinicia el servidor.
  5. En una página de manifest, añade una Biome Overlay Audience, elige la definición en biome y colócala bajo una audiencia que corresponda a tu paso de misión. El jugador ve el bioma mientras está en la audiencia y el bioma real vuelve cuando la abandona (restoreOnExit).
  6. Para limitarlo a una zona, establece cornerA y cornerB, o colócate en el juego con una selección de WorldEdit y ejecuta /tw biome region <entry> para rellenar las esquinas.

Para cambiar el propio mundo, usa Apply Biome o Paint Biome Region en una secuencia de acciones. Dale un snapshotId al pintado si quieres que Restore Biome pueda deshacerlo.

consejo

Crea un Custom Biome Preset para una familia de biomas que compartan el mismo cielo y niebla, y selecciónalo en preset de cada definición. Los valores establecidos en la definición prevalecen sobre el preajuste, y el preajuste prevalece sobre el bioma base.

Cómo funciona​

Pintar escribe el bioma en los datos del mundo, por lo que afecta a todos los jugadores y sobrevive a un reinicio. Una superposición solo se envía al cliente del jugador: no se guarda nada y, al quitarla, vuelve el bioma real. Cuando varias superposiciones cubren el mismo chunk, se muestra la aplicada en último lugar y, al quitarla, se revela la anterior.

Los facts, las variables y los placeholders leen por defecto el bioma que el jugador ve (PLAYER_VIEW, superposiciones incluidas). Establece source en REAL_WORLD en facts y variables para leer lo que el mundo contiene realmente.

Configuración​

Los datos de ejecución se almacenan en plugins/Typewriter/custombiome/:

CarpetaContenido
discovery/Un archivo JSON por jugador (<uuid>.json) con los biomas que ha visitado.
snapshots/Biomas registrados por Paint Biome Region cuando se establece snapshotId.

Comandos​

El comando raíz es /tw biome, que requiere typewriter.biome. Cada subcomando requiere además su propio permiso.

ComandoDescripción
/tw biomeMuestra la lista de comandos.
/tw biome listLista los biomas personalizados e indica si cada uno está activo, pendiente de reinicio o no registrado.
/tw biome info [player]Muestra el bioma en el que está un jugador: nombre, ID, si es personalizado, temperatura, precipitación y bioma base.
/tw biome apply <biome> [radius]Pinta un bioma alrededor de ti o de un jugador objetivo, dentro de un radio en bloques.
/tw biome refresh [radius]Reenvía los datos de bioma (radio de 1 a 16 chunks) de los chunks que esta extensión pintó cerca del jugador.
/tw biome region <entry>Copia tu selección de WorldEdit en cornerA y cornerB de una entrada de región; después publica la página.

Textos editables​

Todo lo que imprimen los comandos /tw biome en el juego es un snippet de TypeWriter, así que puedes reformularlo, traducirlo o cambiarle el color sin recompilar nada. Abre plugins/Typewriter/snippets.yml, busca la clave bajo content.custombiome, cambia el valor y ejecuta /tw reload. La extensión registra todos sus snippets con su texto por defecto al iniciarse, así que aparecen en el archivo tras el primer arranque.

Los textos son MiniMessage. Un {name} en un texto se sustituye por el valor indicado en la tabla; un placeholder que omites simplemente no se muestra, y uno que no existe se queda tal cual. Los placeholders de PlaceholderAPI (%...%) también se leen cuando el comando lo ejecuta un jugador. Solo el prefijo de respuesta de Typewriter en las respuestas cortas (Typewriter ») viene del motor y no forma parte de estos snippets, y el registro de la consola del servidor sigue en inglés.

Snippet (bajo content.custombiome.)Por defectoPlaceholders
command.list.empty<yellow>No custom biomes registered.</yellow>ninguno
command.list.header<gradient:#00d4ff:#0099ff><b>Custom Biomes ({count})</b></gradient>, con una línea en blanco antes{count}
command.list.strategy<dark_gray>Strategy: {strategy}</dark_gray>, con una línea en blanco después{strategy}
command.list.strategy_livelive registry injection (reflection)ninguno
command.list.strategy_unsupportedunsupported ({reason}){reason} (técnico, en inglés)
command.list.icon_live, icon_waiting, icon_missing• en verde, ⚠ en amarillo, ✖ en rojoninguno
command.list.status_live, status_waiting, status_missingtextos al pasar el cursor: Live in the registry, Written to the datapack — needs a restart, Not registeredninguno
command.list.entryuna línea por bioma, con texto al pasar el cursor y clic para copiar{icon}, {status}, {name}, {key}, {temperature}, {downfall}
command.list.temperature, command.list.downfall T:{value} y D:{value} en gris{value}
command.info.headerBiome Info for {player}{player}
command.info.name, id, temperature, downfall, base_biomeName:, ID:, Temperature:, Downfall:, Base Biome:, seguido del valor{value}
command.info.custom_yes, custom_noCustom: Yes y Custom: Noninguno
command.help.titleCustom Biome Commandsninguno
command.help.list, info, apply, refresh, regionuna línea de ayuda por comandoninguno
command.region.no_selectionNo WorldEdit selection (or WorldEdit is not installed).ninguno
command.region.page_not_foundCould not find the page holding '{entry}'.{entry}
command.region.write_failedCould not write the region: {failures}{failures} (técnico, en inglés)
command.region.doneRegion of {entry} set to {min} → {max} in {world}.{entry}, {min}, {max} (como x, y, z), {world}
command.region.publish_hintPublish the page for it to take effect.ninguno
command.refresh.noneNo painted chunks near {player} to refresh.{player}
command.refresh.doneResent biome data for {chunks} painted chunk(s) to {player}.{chunks}, {player}
command.apply.unknownUnknown biome: {biome}{biome}
command.apply.unknown_hintUse /tw biome list to see available custom biomes.ninguno
command.apply.nothingNothing to paint at that location.ninguno
command.apply.donePainting {biome} over {cells} cell(s) across {chunks} chunk(s).{biome}, {cells}, {chunks}
placeholder.unknownunknownninguno
nota

Los tres snippets de texto al pasar el cursor de /tw biome list van dentro de un argumento MiniMessage entre comillas simples, así que no deben contener una comilla simple.

placeholder.unknown es lo que devuelven %typewriter_temperature%, %typewriter_downfall% y la variable Biome Property para un bioma que no es personalizado. Los true y false que devuelve %typewriter_is_custom% siguen siendo fijos, porque las condiciones los comparan.

Permisos​

PermisoConcede
typewriter.biomeAcceso al árbol de comandos /tw biome.
typewriter.biome.list/tw biome list
typewriter.biome.info/tw biome info
typewriter.biome.apply/tw biome apply
typewriter.biome.refresh/tw biome refresh
typewriter.biome.region/tw biome region

Placeholders​

Placeholders de PlaceholderAPI, servidos por la expansión typewriter. Los placeholders de jugador leen el bioma que se le muestra al jugador.

PlaceholderDevuelve
%typewriter_current% o %typewriter_id%Clave del bioma bajo el jugador, por ejemplo minecraft:plains.
%typewriter_name%Nombre legible del bioma.
%typewriter_key%Solo la parte de la clave.
%typewriter_namespace%Solo la parte del namespace.
%typewriter_is_custom%true o false.
%typewriter_temperature%Temperatura de un bioma personalizado, unknown en caso contrario.
%typewriter_downfall%Precipitación de un bioma personalizado, unknown en caso contrario.
%typewriter_base%Bioma base de un bioma personalizado, o la propia clave del bioma.
%typewriter_count%Número de biomas personalizados registrados.
%typewriter_list%Nombres visibles de los biomas personalizados, separados por comas.
%typewriter_discovered_count%Número de biomas que el jugador ha visitado.
%typewriter_discovered_list%Claves de los biomas que el jugador ha visitado.
nota

La extensión responde a los nombres simples indicados arriba (%typewriter_current%, %typewriter_count%, etc.). El comentario de su código fuente menciona un prefijo custombiome_, pero el código solo reconoce los nombres simples.

Entradas​

20 entradas, generadas a partir del código fuente de la extensión.

Acciones5
Eventos2
Objetivos1
Hechos4
Audiencias2
Cinemáticas1
Variables3
Manifiestos2

Solución de problemas​

/tw biome list muestra una señal de advertencia y "needs a restart". El servidor no pudo añadir el bioma a su registro en vivo, por lo que solo existe en el datapack generado. Reinicia el servidor. El motivo se escribe una vez en la consola.

Una acción o un evento no encuentra mi bioma. Los identificadores de bioma son namespace:id, por ejemplo typewriter:corrupted_forest. Consulta /tw biome list para ver la clave exacta. Un identificador desconocido se registra como advertencia (unknown biome '…') y la acción no hace nada.

Un jugador nunca ve la superposición. Las superposiciones necesitan PacketEvents: de lo contrario, la consola muestra PacketEvents unavailable: per-player biome overlays are disabled. Comprueba también que el jugador está en la audiencia, que hay un bioma configurado (una definición personalizada o vanillaBiome) y, en el caso de una región, que ambas esquinas están en un mundo cargado.

Paint Biome Region no hace nada. Con region establecido en WORLDEDIT_SELECTION, el jugador que lo activa necesita una selección de WorldEdit y WorldEdit debe estar instalado; la consola registra has no WorldEdit selection. En caso contrario, usa RADIUS_AROUND_PLAYER.

Restore Biome dice que la instantánea no existe. Las instantáneas solo se registran cuando la acción de pintado tiene un snapshotId, y la restauración debe usar el mismo nombre. Si consume está activado, la instantánea se elimina tras una restauración.