Sistema de Botín de Extractioncraft
Extractioncraft tiene un sistema de botín por capas construido sobre tres conceptos: los paquetes de contenido hacen referencia a tablas de botín, las tablas de botín hacen referencia a grupos de botín, y los grupos de botín definen los objetos reales que pueden obtenerse.
Resumen
Content Package
-> chestLootTables / barrelLootTables (selección ponderada)
-> Loot Table
-> lootTable entries (cada una tiene una probabilidad de tirada)
-> Loot Pool
-> eliteMobsLoot / vanillaLoot (selección ponderada de un objeto)
Tablas de Botín
Las configuraciones de tablas de botín se encuentran en la carpeta loot_tables/. Cada archivo define una lista de entradas de grupos de botín, donde cada entrada tiene una probabilidad independiente de producir un objeto.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
isEnabled | Boolean | true | Se escribe en el archivo, pero no se aplica: las tablas de botín se registran y se pueden usar esté o no en true. Para dejar de usar una tabla, quítala de chestLootTables / barrelLootTables del paquete de contenido y vacía su spawnPools. |
spawnPools | String list | [] | Nombres de spawn pools de BetterStructures. Cuando un EliteMob asociado con un spawn pool coincidente muere, esta tabla de botín se usa para sus drops. La comparación no distingue mayúsculas de minúsculas e ignora un .yml final, así que tanto kobold_miner_pool como Kobold_Miner_Pool.yml coinciden. |
lootTable | List of objects | [] | Cada entrada referencia un nombre de archivo de grupo de botín y una chance (0.0 a 1.0) |
Formato de Entrada de Tabla de Botín
lootTable:
- filename: my_loot_pool.yml
chance: 0.5
- filename: another_pool.yml
chance: 0.2
Cada entrada tira independientemente. Una chance de 0.5 significa una probabilidad del 50% de que este grupo produzca un drop.
Grupos de Botín
Las configuraciones de grupos de botín se encuentran en la carpeta loot_pools/. Cada grupo define un conjunto de objetos posibles. Cuando se tira un grupo, se selecciona un objeto basado en probabilidad ponderada.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
isEnabled | Boolean | true | Se escribe en el archivo, pero no se aplica: los grupos de botín se registran y se pueden usar esté o no en true. Para dejar de usar un grupo, quita su entrada de las tablas de botín que lo referencian. |
eliteMobsLoot | List of objects | [] | Objetos personalizados de EliteMobs que pueden obtenerse |
vanillaLoot | List of objects | [] | Objetos vanilla de Minecraft que pueden obtenerse |
Entrada de Botín de EliteMobs
eliteMobsLoot:
- filename: my_elite_item.yml
weight: 1.0
- filename: another_item.yml
weight: 0.5
El filename referencia una configuración de objeto personalizado de EliteMobs. El weight determina la probabilidad relativa de drop entre todas las entradas del grupo.
Entrada de Botín Vanilla
vanillaLoot:
- material: DIAMOND
weight: 1.0
- material: GOLD_INGOT
weight: 2.0
El material es un nombre del enum Material de Bukkit. El weight funciona igual que para las entradas de botín de elite. Todas las entradas de elite y vanilla en un grupo compiten en una única selección ponderada, así que un grupo siempre produce como mucho un objeto por tirada. Los objetos vanilla siempre caen como una sola unidad. Un material no reconocido se omite con una advertencia al iniciar, y un nombre de archivo de eliteMobsLoot que no corresponda a un objeto personalizado de EliteMobs registra una advertencia en el momento del drop y no produce nada.
Los pesos pueden escribirse como decimales (0.5), números enteros (2) o cadenas entrecomilladas ("1.5"); las tres formas se analizan correctamente. Un weight ausente o no numérico se trata como 0 y registra una advertencia.
Botín de Contenedores (Cofres y Barriles)
Durante una partida, los cofres y barriles son colocados por BetterStructures cuando la partida empieza. Cuando un jugador hace clic derecho en un cofre o barril:
- El contenedor vanilla nunca se abre: la interacción se cancela y se sustituye por el flujo de saqueo de Extractioncraft.
- El jugador debe quedarse completamente quieto durante 3 segundos. Se muestra una cuenta regresiva como subtítulo.
- Cualquier movimiento cancela la interacción ("Don't move while opening a container!"). Un jugador solo puede estar abriendo un contenedor a la vez.
- Al tener éxito, se selecciona una tabla de botín de la lista
chestLootTablesobarrelLootTablesdel paquete de contenido (selección ponderada). - Las entradas de la tabla de botín seleccionada tiran independientemente, y los objetos resultantes caen al suelo en la ubicación del contenedor.
- El contenedor se destruye después del saqueo (se reemplaza con aire), así que cada contenedor solo puede saquearse una vez.
Los contenedores muestran partículas de portal cada 10 ticks mientras están activos en una partida, haciéndolos visibles para los jugadores.
Los drops de contenedores pasan un nivel fijo de 10 a EliteMobs, independientemente del paquete de contenido que use la partida. El rango de nivel que anuncian los paquetes de Kobold Mines viene de los mobs del mapa, no del botín de cofres y barriles.
Botín por Muerte de Mobs
Cuando un EliteMob muere durante una partida, el plugin lee el dato personalizado betterstructures:spawnpool del mob. Los mobs sin ese dato (cualquier cosa que no haya sido generada por el generador de módulos de BetterStructures) nunca generan botín de Extractioncraft.
Todas las tablas de botín cuya lista spawnPools coincida con el spawn pool del mob generan drops en la ubicación de la muerte: esto no es una elección ponderada, así que listar el mismo spawn pool en tres tablas de botín te da tres conjuntos independientes de tiradas. El nivel propio del mob se pasa a EliteMobs para la generación de objetos apropiada al nivel.
El nivel del mob lo decide BetterStructures cuando se genera el mapa: los jefes más cercanos al centro del mapa aparecen cerca del nivel máximo de su spawn pool, y los jefes hacia los extremos aparecen cerca del mínimo. Por tanto, el borde del mundo encogiéndose hacia el centro empuja a los jugadores a territorio progresivamente más difícil — y más rentable.
Comportamiento de Objetos al Salir
- A todo jugador que abandona una partida, con éxito o sin él, se le vincula al alma el inventario primero (usando el encantamiento soulbind de EliteMobs), así que todo lo que se lleve queda ligado a él.
- Los jugadores que se extraen con éxito conservan todos los objetos.
- Los jugadores que no logran extraerse pierden todos los objetos del inventario cuando
deleteItemsOnFailToExtractestá entrueenconfig.yml(el valor predeterminado). Esto cubre salir con/exc leave, desconectarse y recibir daño letal. - No se borra nada mientras la partida sigue en espera o en cuenta regresiva; la regla solo se aplica una vez que la partida está en curso.