Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Tanto las mesas de botín como las de comercio comparten un conjunto de funciones similares. Si bien la mayoría sirve para las dos, algunas solo funcionan dentro de un tipo específico. Existen limitaciones para las mesas de botín/comercio en general: por ejemplo, no hay forma de agregar can_place_on
o can_destroy
en un elemento mediante las mesas de botín o de comercio. Consulta a continuación las diferentes funciones disponibles y un ejemplo de cómo se pueden utilizar.
Con este tutorial, aprenderás lo siguiente:
- Una variedad de funciones de mesas de botín y comercio y cómo pueden modificar un elemento.
Requisitos
Se recomienda que completes lo siguiente antes de comenzar este tutorial.
Hechizar
Estas diferentes funciones de hechizo o encantamiento te permiten establecer parámetros de encantamiento únicos.
enchant_book_for_trading (solo para mesa de comercio)
Esta función hechiza un libro usando el algoritmo para hechizar elementos que venden los aldeanos. Se necesitan cuatro parámetros: base_cost
, base_random_cost
, per_level_random_cost
y per_level_cost
.
{
"item": "minecraft:book",
"quantity": 1,
"functions": [
{
"function": "enchant_book_for_trading",
"base_cost": 2,
"base_random_cost": 5,
"per_level_random_cost": 10,
"per_level_cost": 3
}
]
}
Por el momento, definir estos parámetros no afectará el encantamiento recibido. Actualmente, los valores predeterminados que se muestran arriba están preestablecidos. En el futuro, podrás modificar estos valores para ayudar a reducir cuáles son los encantamientos y los niveles de encantamiento que produce esta función.
enchant_random_gear
Hechiza un elemento utilizando el mismo algoritmo que se utiliza al hechizar el equipo con el que se generan las criaturas originales. Toma un modificador chance
para manipular el algoritmo. Ten en cuenta que un modificador chance
de 1.0 no significa un 100% de probabilidad de que el equipo quede hechizado. En realidad, la probabilidad se modifica en función de la dificultad. En las dificultades Pacífico y Fácil, la probabilidad siempre será del 0%, independientemente de lo que suceda. En la dificultad Difícil, un chance
de 1.0 será del 100%, pero la probabilidad es aproximadamente 2/3 de lo que representa en una dificultad Normal.
{
"type": "item",
"name": "minecraft:chainmail_boots",
"weight": 1,
"functions": [
{
"function": "enchant_random_gear",
"chance": 0.25
}
]
}
Si aumentas el valor de chance
a un número superior a 1.0, eso puede ayudar a contrarrestar la disminución de posibilidades con la dificultad Normal. Por ejemplo, si estableces chance
en 2.0, el elemento se hechizará siempre, tanto en la dificultad Normal como en la Difícil.
enchant_randomly
Genera un encantamiento aleatorio que es compatible con el elemento. Es compatible con el boolean
(verdadero/falso) del tesoro opcional para permitir que los encantamientos del tesoro se activen y desactiven. Los encantamientos de tesoro son encantamientos que no se pueden obtener a través de la mesa de encantamientos, incluidos Paso helado, Reparación, Velocidad de alma, Maldición de atadura y Maldición de desaparición.
{
"type": "item",
"name": "minecraft:leather_helmet",
"weight": 1,
"functions": [
{
"function": "enchant_randomly",
"treasure": true
}
]
}
enchant_with_levels
Aplica un encantamiento como si se hiciera a través de una mesa de encantamiento usando un nivel de EXP mínimo y máximo definido mediante el parámetro levels
. El booleano treasure
(verdadero/falso) permitirá que se utilicen encantamientos exclusivos para tesoros. Los encantamientos de tesoro son encantamientos que no se pueden obtener a través de la mesa de encantamientos, incluidos Paso helado, Reparación, Velocidad de alma, Maldición de atadura y Maldición de desaparición.
{
"type": "item",
"name": "minecraft:diamond_sword",
"weight": 1,
"functions": [
{
"function": "enchant_with_levels",
"treasure": true,
"levels": {
"min": 20,
"max": 39
}
}
]
}
specific_enchants
Esta función te permite establecer una lista de encantamientos específicos para un elemento. También te permite aplicar encantamientos a elementos que normalmente no serían encantables en el juego.
{
"type": "item",
"name": "minecraft:stick",
"weight": 1,
"functions": [
{
"function": "specific_enchants",
"enchants": [
"knockback",
"fire_aspect"
]
}
]
}
También puedes definir los encantamientos como objetos para definir específicamente un nivel de encantamiento. Los niveles máximos de encantamiento están preestablecidos y no se pueden sobrescribir.
{
"type": "item",
"name": "minecraft:stick",
"weight": 1,
"functions": [
{
"function": "specific_enchants",
"enchants": [
{
"id": "knockback",
"level": 1
},
{
"id": "unbreaking",
"level": 3
}
]
}
]
}
Modificación de elementos
El siguiente conjunto de funciones te permite modificar los resultados de diferentes maneras, como establecer qué cantidad se devuelve de un elemento, establecer el valor de sus datos o incluso establecer el nombre y la historia de un elemento.
looting_enchant (solo mesa de botín)
Esta función te permite modificar el recuento de cuántos elementos se devuelven cuando una entidad es asesinada por un elemento con el encantamiento de saqueo. Debido a eso, solo funciona con mesas de botín, y solo si se llama a esa mesa de botín por la muerte de una entidad.
{
"type": "item",
"name": "minecraft:stick",
"weight": 1,
"functions": [
{
"function": "looting_enchant",
"count": {
"min": 0,
"max": 1
}
}
]
}
random_block_state
Esto te permite aleatorizar el estado de bloque del elemento resultante. El siguiente código de ejemplo puede soltar piedra (0), granito (1), granito pulido (2), diorita (3), diorita pulida (4) o andesita (5).
{
"type": "item",
"name": "minecraft:stone",
"weight": 1,
"functions": [
{
"function": "random_block_state",
"block_state": "stone_type",
"values": {
"min": 0,
"max": 5
}
}
]
}
random_aux_value
Similar a random_block_state
, esto te permite elegir un valor auxiliar aleatorio para un elemento. El siguiente ejemplo dará como resultado un tinte de color aleatorio.
{
"type": "item",
"name": "minecraft:dye",
"weight": 1,
"functions": [
{
"function": "random_aux_value",
"values": {
"min": 0,
"max": 15
}
}
]
}
set_actor_id
Esta función solo actúa con un huevo de generación y se usa para establecer el ID de entidad de ese huevo.
{
"type": "item",
"name": "minecraft:stone",
"weight": 1,
"functions": [
{
"function": "set_actor_id",
"id": "compass:cool_entity"
}
]
}
También puedes heredar el id. de la entidad que está asociada con esa mesa de botín (es decir, hacer que un conejo suelte un huevo generador de conejo) al omitir el id
.
{
"type": "item",
"name": "minecraft:spawn_egg",
"weight": 1,
"functions": [
{
"function": "set_actor_id"
}
]
}
Ten en cuenta que si usas set_actor_id
en la mesa de botín de un cofre y omites el valor de id
, se generará un huevo de generación de cualquier cosa que abra el cofre (el jugador). Un huevo de generación de jugador producirá un "jugador" que simplemente se queda de pie y arroja errores de Molang (ya que está tratando de usar el archivo de comportamiento del jugador, así como los controles del jugador). Si rompes un cofre que contiene una mesa de botín que usa un ID heredado de set_actor_id
, suelta un huevo de generación predeterminado que no genera nada.
set_banner_details
Esta función solo se usa para estandartes y actualmente solo admite estandartes type
1
. Un estandarte type
1
da como resultado un estandarte de illano.
{
"type": "item",
"name": "minecraft:banner",
"weight": 1,
"functions": [
{
"function": "set_banner_details",
"type": 1
}
]
}
set_book_contents
Esta función te permite configurar el contenido de un libro.
{
"type": "item",
"name": "minecraft:written_book",
"functions": [
{
"function": "set_book_contents",
"author": "Steve",
"title": "Creator Woes",
"pages": [
"Once upon a time there were some marketplace partners that had to edit items using NBT. And it made them sad.",
"Then the Bedrock team added the ability to customize items from JSON and everyone rejoiced."
]
}
]
}
También puedes usar rawtext
para localizar el contenido del libro. Cuando uses rawtext
, recuerda escapar siempre (\
) los caracteres especiales como "
y \
.
{
"type": "item",
"name": "minecraft:written_book",
"functions": [
{
"function": "set_book_contents",
"author": "Steve",
"title": "Creator Woes",
"pages": [
"{\"rawtext\":[ {\"translate\":\"custom.book.page.1\"}]}",
"{\"rawtext\":[ {\"translate\":\"custom.book.page.2\"}]}"
]
}
]
}
Ten en cuenta que solo puedes usar rawtext
en el contenido del libro (pages
); en el momento de escribir esto, rawtext
no funciona para las etiquetas author
o title
.
set_count
Establece la cantidad de artículos que se devuelven según el valor count
. Puede ser un número exacto como en este ejemplo:
{
"type": "item",
"name": "minecraft:stone",
"weight": 1,
"functions": [
{
"function": "set_count",
"count": 5
}
]
}
O puede estar dentro de un rango mínimo/máximo:
{
"type": "item",
"name": "minecraft:stone",
"weight": 1,
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 6
}
}
]
}
set_damage
Permite configurar el valor damage
para establecer el porcentaje de durabilidad restante para los elementos que tienen durabilidad. 1.0 es el 100% de durabilidad restante (sin daños), mientras que 0.0 es sin durabilidad restante.
Puedes configurarlo con una durabilidad exacta como en el siguiente ejemplo, donde configuramos el elemento para que tenga un 50% de durabilidad restante.
{
"type": "item",
"name": "minecraft:iron_leggings",
"weight": 1,
"functions": [
{
"function": "set_damage",
"damage": 0.5
}
]
}
O puedes definir una cantidad mínima/máxima para que el juego elija al azar entre esos valores. El siguiente ejemplo establece la durabilidad entre el 30% y el 90% restante.
{
"type": "item",
"name": "minecraft:iron_leggings",
"weight": 1,
"functions": [
{
"function": "set_damage",
"damage": {
"min": 0.3,
"max": 0.9
}
}
]
}
set_data
Establece el valor de los datos de un bloque o elemento en un identificador exacto. El siguiente ejemplo dará como resultado un bloque de diorita pulido.
{
"type": "item",
"name": "minecraft:stone",
"functions": [
{
"function": "set_data",
"data": 4
}
]
}
set_data_from_color_index
Hereda el valor de los datos del elemento resultante del índice de color de la entidad asociada. Un ejemplo en el juego sería una oveja rosa que suelta lana rosa al morir. Si la entidad asociada no tiene un índice de color establecido (o se usa dentro de la mesa de botín de un cofre), siempre dará como resultado un valor de datos igual a 0.
{
"type": "item",
"name": "minecraft:wool",
"weight": 1,
"functions": [
{
"function": "set_data_from_color_index"
}
]
}
set_lore
Esta función permite establecer la historia de un elemento. Cada línea dentro del objeto de la historia representa una sola línea de texto. Actualmente no se admite rawtext
.
{
"type": "item",
"name": "minecraft:stick",
"weight": 1,
"functions": [
{
"function": "set_lore",
"lore": [
"Big Stick has been handed down",
"for generations from King to Prince",
"until it went missing four score ago"
]
}
]
}
set_name
Esta función permite establecer el nombre de un elemento. Actualmente no se admite rawtext
.
{
"type": "item",
"name": "minecraft:stick",
"weight": 1,
"functions": [
{
"function": "set_name",
"name": "Big Stick"
}
]
}
Varios
Lo siguiente contiene funciones que no encajan en ningún otro lugar.
fill_container
Esta función te permite definir la mesa de botín de un cofre. Cuando se genera el elemento y el jugador lo coloca, estará lleno con los contenidos que se definen dentro de la mesa de botín a la que se hace referencia.
Las mesas de botín para cofres se generan en el momento de la apertura o la rotura. Piensa que es similar a la caja de Schrödinger. El contenido del cofre solo es definitivo cuando miras dentro.
{
"type": "item",
"name": "minecraft:chest",
"functions": [
{
"function": "fill_container",
"loot_table": "loot_tables/chests/simple_dungeon.json"
}
]
}
Es recomendable usar siempre set_name
para darle un nombre al cofre al usar fill_container
. Si no lo haces, el cofre resultante no se verá diferente en el inventario del jugador de lo que sería un cofre vacío normal.
exploration_map
Transforma un mapa normal en un mapa del tesoro que marca la ubicación del tesoro escondido. El valor destination
define qué tipo de mapa del tesoro se recibe.
{
"type": "item",
"name": "minecraft:map",
"weight": 1,
"functions": [
{
"function": "exploration_map",
"destination": "buriedtreasure"
}
]
}
Actualmente puedes elegir entre los siguientes destinos:
Destino |
---|
buriedtreasure |
endcity |
fortress |
mansion |
mineshaft |
monument |
pillageroutpost |
ruins |
shipwreck |
stronghold |
temple |
village |
furnace_smelt (solo mesa de botín)
Si el objeto que se debe devolver tiene una receta de elaboración con fundición y una entidad que murió a causa del fuego (aspecto de fuego, pedernal y acero, lava, etc.) activa la mesa de botín, el resultado será la versión fundida del objeto. Debido a estos requisitos, esta función no sirve para los oficios de los aldeanos ni los cofres. Solo funciona si se utiliza junto con el comportamiento minecraft:loot
.
El siguiente ejemplo soltará un bloque de piedra si la entidad muere por fuego o de adoquines si no.
{
"type": "item",
"name": "minecraft:cobblestone",
"weight": 1,
"functions": [
{
"function": "furnace_smelt"
}
]
}