Minas
PulsePrison tiene dos clases de minas:
- Minas de rango: minas públicas que construís en el mundo, cada una ligada a un rango.
- Minas privadas: una mina personal por jugador, hecha de paquetes, que crece con mejoras.
Las dos cuentan como mina para los encantamientos de área, colocables y robots, y pagan por el mismo pipeline: encantamientos, venta, mochila, niveles, mascotas, temporada y clan.
Minas de rango
| Configuración | config.yml (sección mines) |
| Datos | mines.yml |
| Menú | menus/mines.yml (/mines) |
Crear una mina
/mine pos1 parado en una esquina
/mine pos2 parado en la esquina opuesta
/mine create a A crea la mina "a" para el rango A; el spawn es tu posición
/mine composition a add STONE 80
/mine composition a add DIAMOND_ORE 5
/mine setdelay a 600 reset cada 10 minutos (0 lo apaga)
/mine setpercent a 50 reset al 50% minado (0 lo apaga)Si están activos los dos resets, gana el primero que se cumpla.
Comandos de staff
| Comando | Hace |
|---|---|
/mine pos1 · /mine pos2 | Esquinas de la región |
/mine create <id> [rango] | Crea la mina |
/mine composition <id> list|add <bloque> <peso>|remove <bloque>|clear | Mezcla de bloques |
/mine setrank <id> <rango|none> | Rango requerido |
/mine setspawn <id> | Mueve el spawn a tu posición |
/mine setdelay <id> <segundos> · /mine setpercent <id> <0-100> | Resets |
/mine seticon <id> <material> · /mine rename <id> <nombre> | Cómo se ve en /mines |
/mine reset <id> · /mine info <id> · /mine list · /mine delete <id> | Gestión |
Permiso: pulseprison.mine.admin.
Jugadores
/mines(aliases/mina,/minas) muestra las minas con bloqueo, porcentaje minado y tiempo al próximo reset./mine tp <id>lleva a una mina desbloqueada.- Minar en la mina de un rango superior se bloquea con un aviso. Los jugadores con prestigio saltan el chequeo, porque el prestigio los devuelve al primer rango (
rank-access.prestige-unlocks-all).
Motor de reset
mines:
engine: auto # auto, worldedit o batched
blocks-per-tick: 25000 # solo el motor interno
broadcast-resets: true
default-reset-delay-seconds: 600
default-reset-percentage: 0
rank-access:
enabled: true
prestige-unlocks-all: true- Con FastAsyncWorldEdit o WorldEdit,
autoles delega el reset. - Sin ellos, el motor interno reparte el trabajo en varios ticks sin físicas.
- Los jugadores dentro de la mina se llevan al spawn antes de rellenarla.
Minas privadas
| Configuración | pmines/config.yml, pmines/types/*.yml |
| Estructuras | pmines/structures/*.ppmine |
| Menús | pmines/menus/ (main, members, public, admin, admin-types) |
| Datos | data/pmines/ |
| Módulo | private-mines |
Cómo funcionan
- El mundo de minas (
pulseprison_pmines) está vacío en el servidor. Cada jugador recibe los bloques de las minas por paquetes, así resetear, expandir o mejorar no escribe el mundo y miles de bloques por segundo no cuestan actualizaciones de mundo. - Cada mina guarda una semilla y un bit por bloque minado. Una mina de 61×61×60 ocupa unos 28 KB.
- Las roturas se validan en el servidor: acceso, pico, tiempo de rotura vanilla, alcance y roturas por segundo.
- PacketEvents viene incluido. No necesita WorldEdit ni WorldGuard.
- En el mundo de minas nadie es expulsado por "volar" parado sobre bloques de paquetes. Volar de verdad requiere
pulseprison.pmine.flyo tener vuelo antes de entrar.
Tipos, etapas y expansión
Un tipo es una estructura (la isla, las paredes, el spawn) con una caja minable. Se crea en el servidor con /pmineadmin setup: ver Crear un tipo de mina privada.
Cada tipo tiene un archivo en pmines/types/:
name: '&bDefault'
structure: default
spawn: {x: 0.5, y: 100.0, z: 0.5, yaw: 0.0, pitch: 0.0}
min-corner: {x: -5, y: 40, z: -5} # caja minable
max-corner: {x: 5, y: 89, z: 5}
max-expansion: 34 # bloques que puede crecer por lado
expansion-cost:
currency: money
base: 25000
growth: 1.15 # cada expansión cuesta base × growth^n
block-types: # etapas de bloques
'1':
cost: {}
blocks:
STONE: 70
COBBLESTONE: 30
'2':
cost:
money: 500000
tokens: 5000
requirement:
rank: C
prestige: 0
pickaxe-level: 25
blocks:
COBBLESTONE: 50
ANDESITE: 30
DIAMOND_ORE: 1- Expansión: la caja minable crece un bloque por lado por compra, hasta
max-expansion. - Etapas: cada etapa cambia la mezcla de bloques. Se compran con
costy pidenrequirement(rango, prestigio, nivel de pico). - Siguiente tipo: con
upgrade-next-mine, después de la última etapa la mina pasa al siguiente tipo demine-order.
Opciones principales de pmines/config.yml
| Opción | Hace |
|---|---|
default-mine · mine-order · upgrade-next-mine | Tipo inicial y orden de tipos |
percent-mined-to-reset · reset-percentage-options | Reset automático y opciones del menú |
mine-gaps.chunks | Chunks vacíos entre minas |
max-members | Miembros por mina |
tax-currency · tax-max-rate | Impuesto a visitantes |
invites.require-accept · invites.expire-seconds | Invitaciones |
player-purchases.enabled | Compras de expansiones y etapas desde el menú |
join.teleport-to-spawn | Llevar al spawn al entrar |
tools-in-mine-world.enabled | Dar el pico solo dentro del mundo de minas |
commands.base-command | Qué hace /pmine solo: gui, teleport o context |
commands.reset | Cooldown del reset manual por permiso |
setup.* | Límites del setup y altura del spawn |
performance.* | Caché, guardado e hilos |
anticheat.* | Alcance, tiempo de rotura, roturas por segundo y castigos |
Cada opción está comentada en el archivo.
Las parcelas de las minas tienen un tamaño fijo desde que se crea la primera mina: el del tipo más ancho más
mine-gaps. Si después agregás un tipo más ancho, se desactiva mientras existan minas. Elegí el tamaño de tus estructuras antes de abrir.
Comandos de jugador
/pmine (aliases /privatemine, /pm, /minaprivada):
| Comando | Hace |
|---|---|
/pmine | Menú de la mina, o teletransporte según commands.base-command |
/pmine create | Reclama tu mina |
/pmine go [jugador] | Va a tu mina o a la de otro |
/pmine invite|uninvite <jugador> | Miembros. Con require-accept, responde con /pmine accept|deny <dueño> |
/pmine ban|unban <jugador> | Baneos; expulsa al jugador si está adentro |
/pmine members · /pmine public | Menú de miembros y navegador de minas abiertas |
/pmine open · /pmine lock | Abre o cierra la mina a visitantes |
/pmine tax <porcentaje> | Impuesto sobre lo que ganan los visitantes mientras estás conectado |
/pmine reset · /pmine resetpercent | Reset manual y umbral del automático |
/pmine expand · /pmine upgrade · /pmine info | Crecimiento y detalles |
Permisos: pulseprison.pmine (todos), pulseprison.pmine.<subcomando> si commands.permissions está activo, pulseprison.pmine.reset.vip y pulseprison.pmine.reset.staff para resets más rápidos.
Comandos de staff
/pmineadmin (aliases /adminmine, /amine, /apm), permiso pulseprison.pmine.admin:
| Comando | Hace |
|---|---|
menu | Menú de administración |
go <jugador> · info <jugador> · reset <jugador> | Gestión |
expand|shrink <jugador> [cantidad|max|min] | Expansión |
upgrade|deupgrade <jugador> [cantidad|max] · setupgrade <jugador> <etapa> | Etapas |
settype <jugador> <tipo> | Cambia el tipo |
setresetpercent <jugador> <porcentaje|-1> | Umbral de reset |
delete <jugador> confirm | Borra la mina |
setup ... | Crea tipos, ver la guía |
reload · stats | Recarga y estadísticas de rendimiento |
Placeholders
%pulseprison_pmine_<clave>% para la mina del jugador y %pulseprison_pmine_here_<clave>% para la mina donde está parado. Ver Placeholders.
Eventos para addons
PrivateMineCreateEvent, PrivateMineResetEvent, PrivateMineResetCompleteEvent, PrivateMineUpgradeEvent, PrivateMineAccessEvent, PrivateMineVisitEvent, PrivateMineTaxEvent y PrivateMineBlocksMinedEvent. Ver Eventos.