Patrón
<pattern>Muchos comandos de WorldEdit aceptan un patrón como argumento. Un patrón determina qué bloques se colocan y cómo se distribuyen durante una operación.
Un patrón describe el bloque, mezcla, degradado o distribución generada que WorldEdit coloca durante una operación.
El marcador de patrón aparece como:
Marcador de patrón
<pattern> El marcador no se escribe literalmente. Reemplázalo con un patrón válido:
Ejemplos de patrones
stone
stone,andesite,gravel
70%stone,20%andesite,10%gravel
$wood.rad
#blob5(stone,dirt) Patrones de un solo bloque
El patrón más sencillo es un identificador de bloque.
Identificadores de bloques
stone
spruce_planks
glowstone Los bloques de Minecraft también pueden utilizar el espacio de nombres completo:
Bloque con espacio de nombres
minecraft:stone Los bloques de otro complemento deben incluir su espacio de nombres:
Espacio de nombres personalizado
my_addon:custom_block Para inspeccionar el identificador del bloque que estás mirando:
Inspeccionar identificador de bloque
;blockid Estados de bloques
Los estados de bloques controlan propiedades como la orientación, el eje, el crecimiento, la variante o la colocación superior e inferior.
Utiliza corchetes después del identificador del bloque:
Sintaxis de un solo estado
block[state=value] Separa varios estados con comas:
Sintaxis de varios estados
block[state1=value,state2=value] Ejemplo:
Ejemplo de estado de bloque
stone_slab[stone_slab_type=brick,top_slot_bit=true] Cuando se omite un estado, WorldEdit utiliza el estado predeterminado de ese bloque.
Valores de datos
Algunas variantes antiguas de bloques pueden utilizar un valor de datos numérico:
Sintaxis de valor de datos
block:value Ejemplo:
Ejemplo de variante antigua
wool:1 Para inspeccionar un identificador de bloque junto con su valor de datos:
Inspeccionar valor de datos
;blockid -d No combines un valor de datos y estados de bloque en el mismo patrón:
Sintaxis mixta no válida
wool:1[state=value] Para construcciones nuevas, utiliza preferentemente identificadores de bloques escritos y estados explícitos.
Mezclas aleatorias
Una mezcla aleatoria selecciona uno de varios patrones para cada posición afectada.
Separa las entradas con comas y no añadas espacios:
Mezcla aleatoria uniforme
stone,andesite,gravel Sin pesos, cada entrada tiene aproximadamente la misma probabilidad:
| Patrón | Probabilidad aproximada |
|---|---|
stone | 33.33% |
andesite | 33.33% |
gravel | 33.33% |
Otro ejemplo:
Mezcla de maderas
spruce_planks,stripped_spruce_wood,mangrove_wood Mezclas aleatorias ponderadas
Coloca un peso antes de % para controlar la frecuencia con la que se selecciona cada entrada.
Sintaxis de mezcla ponderada
weight%pattern,weight%pattern Ejemplo:
Mezcla por porcentajes
70%stone,20%andesite,10%gravel Los pesos también pueden ser relativos y no necesitan sumar 100:
Mezcla con pesos relativos
7%stone,2%andesite,1%gravel La proporción 7/2/1 equivale a 70/20/10.
Normalizar pesos relativos
Utiliza esta fórmula para convertir pesos relativos en porcentajes:
Fórmula de normalización de pesos
porcentaje = peso individual / suma de todos los pesos × 100 Para los pesos 7, 2 y 1:
Ejemplo de normalización de pesos
peso total = 7 + 2 + 1 = 10
stone = 7 / 10 × 100 = 70%
andesite = 2 / 10 × 100 = 20%
gravel = 1 / 10 × 100 = 10% Cada entrada ponderada también puede ser otro tipo de patrón:
Patrón complejo ponderado
20%*wool,80%stone En este ejemplo:
20%*woolutiliza estados válidos aleatorios para la lana.80%stoneutiliza un patrón fijo de piedra.
Cantidades estimadas de bloques
La selección aleatoria produce totales exactos diferentes en cada ejecución, pero puedes calcular una estimación.
Fórmula de bloques estimados
bloques estimados = posiciones totales × porcentaje / 100 Para 10,000 posiciones y la siguiente mezcla:
Distribución de ejemplo
70%stone,20%andesite,10%gravel La distribución estimada es:
| Patrón | Cálculo | Bloques estimados |
|---|---|---|
stone | 10,000 × 70 / 100 | 7,000 |
andesite | 10,000 × 20 / 100 | 2,000 |
gravel | 10,000 × 10 / 100 | 1,000 |
Para 3,456 posiciones:
Ejemplo de estimación decimal
stone = 3456 × 0.70 = 2419.2
andesite = 3456 × 0.20 = 691.2
gravel = 3456 × 0.10 = 345.6 Los bloques no pueden ser fraccionarios, por lo que los resultados reales serán números enteros cercanos y pueden variar porque el patrón es aleatorio.
Calcular un porcentaje a partir de una cantidad deseada
Fórmula de cantidad deseada
porcentaje = bloques deseados / posiciones totales × 100 Para obtener aproximadamente 750 bloques de glowstone en 5,000 posiciones:
Ejemplo de cantidad deseada
750 / 5000 × 100 = 15% El patrón resultante puede escribirse así:
Mezcla con porcentaje calculado
15%glowstone,85%stone Estados aleatorios con *
El prefijo * selecciona estados válidos aleatorios para el identificador de bloque indicado.
Sintaxis de estados aleatorios
*block Ejemplo:
Estados aleatorios de troncos
*log Otro ejemplo:
Estados aleatorios de escaleras
*oak_stairs El resultado depende de los estados admitidos por ese identificador de bloque.
*logno garantiza todos los tipos de madera porque varias maderas utilizan identificadores diferentes.
Conservar o cambiar estados con ^
El prefijo ^ cambia un tipo de bloque o estados seleccionados mientras intenta conservar las propiedades restantes.
Cambiar el tipo y conservar los estados
Conservar estados existentes
^acacia_stairs Esto puede cambiar el material de una escalera mientras intenta conservar su orientación y colocación.
Cambiar únicamente estados específicos
Patrón únicamente de estados
^[growth=7] Esto conserva el tipo de bloque actual y cambia únicamente el estado especificado.
También se pueden combinar un tipo de bloque y estados:
Patrón de tipo y estado
^block[state=value] Patrón del portapapeles
#clipboard utiliza el contenido copiado como un patrón repetitivo.
Patrón del portapapeles
#clipboard Utiliza un desplazamiento para mover el origen del patrón:
Sintaxis de desplazamiento del portapapeles
#clipboard@[x,y,z] Ejemplo:
Ejemplo de desplazamiento del portapapeles
#clipboard@[0,1,0] Esto desplaza el origen del patrón repetitivo un bloque hacia arriba.
Patrón de la mano
#hand utiliza el bloque sostenido en la mano principal.
Patrón del bloque sostenido
#hand El objeto sostenido debe representar un bloque válido.
El patrón void
void no coloca ningún bloque en esa posición.
Patrón void
void Resulta útil cuando se combina con otros patrones:
Espacios aleatorios
stone,void Aproximadamente la mitad de las posiciones recibe piedra, mientras que las demás permanecen sin cambios.
Una versión ponderada proporciona mayor control:
Mezcla ponderada con void
25%glowstone,75%void Comparación entre void y air
Patrón de aire
air air reemplaza el bloque existente con aire.
Patrón void
void void omite la posición y conserva el bloque existente.
Degradados
Un degradado crea una transición ordenada entre varios niveles de patrones.
Crear un degradado
Sintaxis para crear un degradado
;gradient create <name> <pattern1> <pattern2> <pattern3> Ejemplo:
Ejemplo de creación de degradado
;gradient create nature stone dirt grass_block Los espacios separan los niveles del degradado.
Las comas crean una mezcla aleatoria dentro de un nivel:
Degradado con niveles mixtos
;gradient create terrain stone,andesite dirt,coarse_dirt grass_block,moss_block Los niveles se interpretan así:
Orden de niveles del degradado
stone,andesite
↓
dirt,coarse_dirt
↓
grass_block,moss_block Referenciar un degradado guardado
Un degradado guardado utiliza el prefijo $:
Patrón de degradado guardado
$nature El prefijo $ es obligatorio.
Direcciones absolutas
Direcciones de degradado
$nature.north
$nature.south
$nature.east
$nature.west
$nature.up
$nature.down Aquí no se utilizan direcciones relativas como left, right, forward o back.
Degradado radial
Patrón de degradado radial
$nature.rad Un degradado radial avanza desde el centro de la operación hacia su límite exterior:
Orden del degradado radial
primer patrón = centro
último patrón = límite exterior Definición de ejemplo:
Crear degradado radial
;gradient create light deepslate_gold_ore spruce_planks glowstone birch_planks Utilízalo como patrón radial:
Utilizar degradado radial
$light.rad Degradado desde el jugador
Degradado con origen en el jugador
$nature.lit Esto utiliza la posición del jugador como referencia del degradado.
Crear un degradado a partir de una selección
Sintaxis de degradado desde selección
;gradient create -s <name> Ejemplo:
Ejemplo de degradado desde selección
;gradient create -s wall WorldEdit lee la selección a lo largo de su lado más largo y la utiliza como mapa del degradado.
Controlar la transición
Sintaxis de desvanecimiento del degradado
;gradient create -f <fade> <name> <patterns...> Ejemplo con una transición brusca:
Ejemplo de transición brusca
;gradient create -f 0 contrast black_concrete white_concrete Administrar degradados guardados
Administración de degradados
;gradient list
;gradient delete nature Crear un degradado con un nombre existente reemplaza su definición anterior.
Comprender el orden del degradado
Un degradado es ordenado, no ponderado aleatoriamente.
Orden del degradado lineal
inicio → A → B → C → D → final Para un degradado radial:
Orden radial
centro → A → B → C → D → límite exterior Invierte la lista de patrones para invertir la transición:
Orden de degradado invertido
D C B A La cantidad exacta de bloques asignada a cada etapa depende de la forma, el tamaño y la dirección de la operación.
Patrones blob
Un patrón blob agrupa los materiales en manchas en lugar de seleccionar cada posición de manera independiente.
Sintaxis de patrón blob
#blob<size>(patterns) Ejemplo básico:
Patrón blob básico
#blob5(stone,dirt) Un número menor crea grupos más pequeños:
Grupos blob pequeños
#blob2(stone,andesite) Un número mayor crea grupos más amplios:
Grupos blob grandes
#blob10(stone,andesite) Los patrones blob pueden contener entradas ponderadas:
Patrón blob ponderado
#blob6(70%stone,30%andesite) Ejemplo con varios materiales de terreno:
Patrón blob de terreno
#blob8(dirt,coarse_dirt,podzol) Combinar tipos de patrones
Se pueden anidar o mezclar distintos tipos de patrones.
Material aleatorio con posiciones sin cambios
Material aleatorio y void
20%glowstone,80%void Estados aleatorios con un bloque fijo
Estados aleatorios y bloque fijo
25%*log,75%stone Blob con varios materiales
Blob de varios materiales
#blob5(stone,andesite,gravel) Blob ponderado
Blob ponderado de varios materiales
#blob6(70%stone,20%andesite,10%gravel) Degradado creado con mezclas aleatorias
Degradado con niveles mixtos
;gradient create terrain stone,andesite dirt,coarse_dirt grass_block,moss_block En esta definición:
- Las comas crean una mezcla aleatoria dentro de un nivel.
- Los espacios separan los niveles ordenados del degradado.
Selector de patrones
El selector de patrones es un objeto incluido en el kit de WorldEdit. Permite seleccionar materiales sin escribir manualmente sus identificadores.
Para obtener el kit:
Obtener el kit de WorldEdit
;kit Utiliza el selector de patrones sobre un bloque sin agacharte para elegir un patrón.
Agáchate y úsalo sobre bloques adicionales para añadir esos materiales a la mezcla.
La documentación no define un identificador de patrón para comandos como $picker. En los comandos escritos, introduce el patrón explícitamente.
Ejemplo mínimo de uso
Esta página se centra en la sintaxis de los patrones y no en los comandos que los utilizan. El siguiente ejemplo solo muestra dónde aparece el argumento de patrón:
Patrón dentro de un comando
;set 60%stone,25%andesite,15%gravel La parte correspondiente al patrón es:
Patrón extraído
60%stone,25%andesite,15%gravel El mismo patrón puede utilizarse en cualquier lugar donde WorldEdit espere un argumento <pattern>.
Errores comunes
Traducir identificadores de bloques
Incorrecto:
Identificador traducido no válido
birch_planks_in_spanish Correcto:
Identificador de bloque válido
birch_planks Confundir troncos y bloques de madera
Identificadores de tronco y madera
oak_log
oak_wood
stripped_oak_log
stripped_oak_wood Inspecciona el identificador exacto del bloque cuando sea necesario:
Inspeccionar identificador de bloque
;blockid Confundir void con air
Diferencia entre void y air
air = reemplaza el bloque actual con aire
void = deja la posición actual sin cambios Olvidar $ en un degradado
Incorrecto:
Referencia de degradado no válida
wood.rad Correcto:
Referencia de degradado válida
$wood.rad Añadir espacios dentro de una mezcla aleatoria
Evita:
Mezcla con espacios no válida
stone, andesite, gravel Utiliza:
Mezcla compacta válida
stone,andesite,gravel Confundir comas y espacios en los degradados
Ejemplo de separadores de degradado
stone,andesite dirt,coarse_dirt grass_block - Las comas mezclan patrones dentro de un nivel.
- Los espacios separan diferentes niveles del degradado.
Suponer que el selector de patrones tiene un identificador
No existe un identificador de patrón documentado como $picker para utilizarlo en comandos escritos.
Referencia rápida
| Patrón | Propósito |
|---|---|
stone | Un solo bloque |
minecraft:stone | Bloque con un espacio de nombres explícito |
stone_slab[state=value] | Bloque con estados |
wool:1 | Variante con valor de datos antiguo |
stone,andesite,gravel | Mezcla aleatoria uniforme |
20%stone,80%andesite | Mezcla aleatoria ponderada |
*log | Estados válidos aleatorios |
^acacia_stairs | Cambia el tipo intentando conservar los estados |
^[growth=7] | Cambia únicamente los estados seleccionados |
#clipboard | Contenido del portapapeles |
#clipboard@[0,1,0] | Patrón del portapapeles con desplazamiento |
#hand | Bloque sostenido en la mano principal |
void | Deja la posición sin cambios |
$name | Degradado guardado |
$name.north | Degradado dirigido al norte |
$name.up | Degradado hacia arriba |
$name.rad | Degradado radial |
$name.lit | Degradado referenciado desde el jugador |
#blob5(stone,dirt) | Distribución blob agrupada |
Plantillas reutilizables
Plantilla de un solo bloque
<block> Plantilla de mezcla uniforme
<block1>,<block2>,<block3> Plantilla de mezcla ponderada
<weight>%<block1>,<weight>%<block2> Plantilla de estado aleatorio
*<block> Plantilla que conserva estados
^<block>[state=value] Plantilla de patrón blob
#blob<size>(<pattern1>,<pattern2>) Plantilla de degradado radial
$<name>.rad