gui_admin.yml (ES)
# ========================================== #
# Configuración GUIs Administrador #
# ========================================== #
# Define la apariencia y comportamiento de las
# GUIs usadas con /nreport admin.
#
# Placeholders Disponibles:
# En Título/Items Estáticos Lista: {currentPage}, {totalPages}, {filterName},
# {totalActiveReports}, {totalClosedReports}, {totalReports},
# {displayedReportCount}, {totalReportsOverall}
# En Items de Reporte: {reporterName}, {reportedName}, {reason}, {details}, {date},
# {status}, {reportId}, {reportIdShort}, {statusFormatted}, {onlineStatus},
# {assignee}
# En Items de Detalle: Los de Reporte + {reporterUUIDShort}, {reportedUUIDShort},
# {date_detailed}, {onlineStatusFormatted}, {warnCount}
# En Botones Filtro: {isActiveFilter}, {isClosedFilter}, {isAllFilter} (Insertan '&a&l▶ ' si activo, '&7' si no)
# En Botones Ordenar: {sortArrowDate}, {sortArrowReporter}, {sortArrowReported} (Insertan flecha ej: '&a▲')
#
# RECOMENDACIÓN: Usar '#RRGGBB' para colores HEX y '&' para legacy (ej: '&a', '&l').
####################################################################################
# GUI: LISTA DE REPORTES (/nreport admin)
####################################################################################
admin_list_gui:
# Título con placeholder para el filtro actual
title: "#00BFFF&lReportes {filterName} #CCCCCC(Pág {currentPage}/{totalPages})"
size: 54
# Slots donde se colocarán los reportes (0-indexado). Dejar vacío para usar addItem()
reports_per_page: 21 # Descomentar para forzar un número diferente a size-9
# Slots donde se colocarán los reportes dinámicamente.
report_item_slots: [
10, 11, 12, 13, 14, 15, 16,
19, 20, 21, 22, 23, 24, 25,
28, 29, 30, 31, 32, 33, 34
]
# Ítem si no hay reportes que coincidan con el filtro
no_reports_item:
enabled: true # Todos los items necesitan 'enabled: true' para mostrarse si el código lo chequea
slot: 22 # Centro
material: BARRIER
name: "#AAAAAANo hay reportes {filterName}."
lore: []
# Ítem si la página está vacía (pero hay reportes en otras páginas del filtro)
no_reports_on_page_item:
enabled: true
slot: 22 # Centro
material: BARRIER
name: "#AAAAAANo hay reportes {filterName} en esta página."
lore: []
# --- Items Estáticos (Filtros, Paginación, Info, Relleno) ---
static_items:
filter_active_button:
enabled: true
slot: 0
material: LIME_DYE
name: "{isActiveFilter}#55FF55&l■ Ver Activos"
lore:
- "#AAAAAA » &e{totalActiveReports} &7reportes activos"
action: "set_filter_active"
glow_if_active: true
filter_closed_button:
enabled: true
slot: 1
material: GRAY_DYE
name: "{isClosedFilter}#AAAAAA&l■ Ver Cerrados"
lore:
- "#AAAAAA » &e{totalClosedReports} &7reportes cerrados"
action: "set_filter_closed" # Nueva acción
glow_if_active: true
filter_all_button:
enabled: true
slot: 2
material: LIGHT_BLUE_DYE
name: "{isAllFilter}#AADDFF&l■ Ver Todos"
lore:
- "#AAAAAA » &e{totalReports} &7reportes totales ({filterName})"
action: "set_filter_all" # Nueva acción
glow_if_active: true
# --- Botones de Ordenación ---
sort_by_date_button:
enabled: true
slot: 6
material: CLOCK
name: "#FFD700Ordenar: &fFecha {sortArrowDate}"
lore:
- "&7 » Click para cambiar orden"
- "&7 (Más nuevo ↔ Más viejo)"
action: "set_sort"
sort_key: DATE
sort_by_reporter_button:
enabled: true
slot: 7
material: NAME_TAG
name: "#FFD700Ordenar: &fReportador {sortArrowReporter}"
lore:
- "&7 » Click para cambiar orden"
- "&7 (A-Z ↔ Z-A)"
action: "set_sort"
sort_key: REPORTER
sort_by_reported_button:
enabled: true
slot: 8
material: PLAYER_HEAD
texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzY5MTk3ZGNkYTkyYjYxYjY4YTRmYmYxYjlmYTI1OTE4N2E0ZjVmN2ZiYWM3MjFjNmM4MWRlNDE2Y2YxNTA4NiJ9fX0=" # Textura genérica 'ABC'
name: "#FFD700Ordenar: &fReportado {sortArrowReported}"
lore:
- "&7 » Click para cambiar orden"
- "&7 (A-Z ↔ Z-A)"
action: "set_sort"
sort_key: REPORTED
# --- Paginación ---
previous_page_button:
enabled: true
slot: 45 # Extremo izquierdo inferior
material_active: ARROW
material_inactive: LIGHT_GRAY_STAINED_GLASS_PANE
name_active: "#AEC6FF« Página Anterior (&a{previousPage}#AEC6FF)"
name_inactive: "#888888« Primera Página"
lore_active:
- "&7Click para ir a la pág. {previousPage}"
action: "go_previous_page" # Acción para listener
next_page_button:
enabled: true
slot: 53 # Extremo derecho inferior
material_active: ARROW
material_inactive: LIGHT_GRAY_STAINED_GLASS_PANE
name_active: "#AEC6FFPágina Siguiente » (&a{nextPage}#AEC6FF)"
name_inactive: "#888888Última Página »"
lore_active:
- "&7Click para ir a la pág. {nextPage}"
action: "go_next_page"
# --- Información ---
info_item:
enabled: true
slot: 49 # Centro inferior
material: BOOK
name: "#E0E0E0Mostrando: &f{displayedReportCount} &8/&f {totalReportsOverall} #E0E0E0Reportes"
lore:
- "&7Filtro Actual: &e{filterName}"
# --- Relleno ---
filler:
enabled: true
# Usar lista de números YAML es más limpio que strings
slots: [46, 47, 48, 50, 51, 52] # Slots entre botones paginación e info
material: GRAY_STAINED_GLASS_PANE
name: " "
lore: []
# --- Formato de Items de Reporte ---
report_item_format:
HACKS:
material: IRON_SWORD
name: "#FF5555Reporte contra: &f{reportedName}"
lore:
- "#AAAAAAReportado por: &f{reporterName}"
- "#AAAAAARazón: #FF5555{reason} &7({details})"
- "#AAAAAAFecha: &f{date}"
- "#AAAAAAServidor: &b{server}"
- "#AAAAAAEstado: {statusFormatted}" # Placeholder con color
- "{onlineStatus}" # Placeholder con color
- "#AAAAAAAsignado a: &f{assignee}"
- " "
- "#AADDFF▶ Click Izq: &7Detalles/Acciones"
- "#FFDDAA▶ Shift+Click Der: &7Cerrar Rápido"
glow_if_active: true
SPAM_SCAM:
material: WRITABLE_BOOK
name: "#FFCC55Reporte contra: &f{reportedName}"
lore:
- "#AAAAAAReportado por: &f{reporterName}"
- "#AAAAAARazón: #FFCC55{reason}"
- "#AAAAAAFecha: &f{date}"
- "#AAAAAAServidor: &b{server}"
- "#AAAAAAEstado: {statusFormatted}"
- "{onlineStatus}"
- "#AAAAAAAsignado a: &f{assignee}"
- " "
- "#AADDFF▶ Click Izq: &7Detalles/Acciones"
- "#FFDDAA▶ Shift+Click Der: &7Cerrar Rápido"
glow_if_active: true
INCOHERENT_MESSAGES:
material: MAP
name: "#55AAFFReporte contra: &f{reportedName}"
lore:
- "#AAAAAAReportado por: &f{reporterName}"
- "#AAAAAARazón: #55AAFF{reason}"
- "#AAAAAAFecha: &f{date}"
- "#AAAAAAServidor: &b{server}"
- "#AAAAAAEstado: {statusFormatted}"
- "{onlineStatus}"
- "#AAAAAAAsignado a: &f{assignee}"
- " "
- "#AADDFF▶ Click Izq: &7Detalles/Acciones"
- "#FFDDAA▶ Shift+Click Der: &7Cerrar Rápido"
glow_if_active: true
DEFAULT: # Fallback por si hay otras razones de reporte
material: PAPER
name: "#FFFF55Reporte contra: &f{reportedName}"
lore:
- "#AAAAAAReportado por: &f{reporterName}"
- "#AAAAAARazón: #FFFF55{reason} &7({details})"
- "#AAAAAAFecha: &f{date}"
- "#AAAAAAServidor: &b{server}"
- "#AAAAAAEstado: {statusFormatted}"
- "{onlineStatus}"
- "#AAAAAAAsignado a: &f{assignee}"
- " "
- "#AADDFF▶ Click Izq: &7Detalles/Acciones"
- "#FFDDAA▶ Shift+Click Der: &7Cerrar Rápido"
glow_if_active: true
# --- Formato Estado Online ---
online_status_format:
online: "#AAFFAA✔ Jugador Conectado"
offline: "#FFAAAA✘ Jugador Desconectado"
# ========================================== #
# Configuración GUI Detalles Reporte #
# ========================================== #
admin_detail_gui:
title: "#FFD700&lDetalles del Reporte"
size: 27
items:
info:
enabled: true
slot: 4
material: BOOK
name: "#FFD700ID Reporte: &f{reportIdShort}"
lore:
- "&7Reportador: &f{reporterName} ({reporterUUIDShort})"
- "&7Reportado: &f{reportedName} ({reportedUUIDShort})"
- "&7Razón: &f{reason} &7({details})"
- "&7Fecha: &f{date_detailed}"
- "&7Servidor: &b{server}"
- "&7Estado: {statusFormatted}"
- "&7Conectado: {onlineStatusFormatted}"
- "&6&lAdvertencias ({warnCount}):"
teleport:
enabled: true
slot: 11
material_online: ENDER_PEARL
material_offline: ENDER_EYE
name: "#AAAAFF✈ Teletransportarse a {reportedName}"
lore_online:
- "&7Click para ir al jugador."
lore_offline:
- "&cEl jugador no está conectado."
action: "teleport"
warn:
enabled: true
slot: 13
material: YELLOW_WOOL
name: "#FFEC8B&l⚠ Añadir Advertencia"
lore:
- "&7Añade una advertencia al jugador:"
- "&f{reportedName}"
- ""
- "&7Advertencias Actuales: &e{warnCount}"
- ""
- "&eClick para iniciar el proceso."
- "&7(Se te pedirá la razón en el chat,"
- "&7 usando /nwarnconfirm <razón>)"
action: "warn"
close_report:
enabled: true
slot: 15
show_if_status: ACTIVE
material: REDSTONE_BLOCK
name: "#FF5555■ Marcar como Cerrado"
lore:
- "&7Click para cerrar este reporte."
action: "set_status_closed"
open_report:
enabled: true
slot: 15
show_if_status: CLOSED
material: EMERALD_BLOCK
name: "#55FF55▶ Marcar como Activo"
lore:
- "&7Click para re-abrir este reporte."
action: "set_status_opened"
assign_button:
enabled: true
slot: 19
material: WRITABLE_BOOK
name: "&a&l✔ Asignarme este Reporte"
lore:
- "&7Click para marcar este reporte"
- "&7como que lo estás investigando tú."
- ""
- "&8(Oculta este botón para otros admins)"
action: "assign_report"
unassign_button:
enabled: true
slot: 19
material: BOOK
name: "&e&l↺ Liberar este Reporte"
lore:
- "&7Click para marcar este reporte"
- "&7como no asignado nuevamente."
- ""
- "&8(Solo visible si está asignado a ti)"
action: "unassign_report" # Nueva acción
kick_player_button:
enabled: true
slot: 20
material: IRON_BOOTS
name: "#E74C3C&l👢 Kickear Jugador"
lore:
- "&7Expulsa al jugador reportado"
- "&7del servidor (si está conectado)."
- "&7Razón basada en el reporte."
action: "kick_player"
mute_player_button:
enabled: true
slot: 22
material: NAME_TAG
name: "#7F8C8D&l🔇 Mutear Jugador"
lore:
- "&7Silencia temporalmente al jugador"
- "&7reportado (si aplica y está configurado)."
- "&7Duración/Razón según config."
action: "mute_player"
ban_player_button:
enabled: true
slot: 24
material: IRON_AXE
name: "#FF8C00&l⚖ Banear Jugador"
lore:
- "&7Aplica un ban temporal basado"
- "&7en la razón del reporte."
- "&eHacks = 30 días"
- "&eSpam/Incoherente = 10 días"
- "&c¡Usar con precaución!"
action: "ban_player"
delete_report_button:
enabled: true
slot: 26
material: TNT
name: "&c&l☠ Eliminar Reporte"
lore:
- "&7Elimina permanentemente este reporte."
- "&c¡Esta acción no se puede deshacer!"
- "&8(Solo funciona en reportes cerrados)"
action: "delete_report"
back:
enabled: true
slot: 18
material: ARROW
name: "#CCCCCC« Volver a la lista"
lore: []
action: "back_to_list"
# ========================================== #
# Configuración GUI Historial Jugador #
# ========================================== #
player_history_gui:
# Title usa {playerName} que pasaremos desde el comando
title: "&5&lHistorial de {playerName} #CCCCCC(Pág {currentPage}/{totalPages})"
size: 54 # O el tamaño que prefieras
reports_per_page: 21 # Máximo de items de reporte por página (size - 9 por defecto)
# Slots específicos para los reportes (opcional, dejar vacío para rellenar)
report_item_slots: [
10, 11, 12, 13, 14, 15, 16,
19, 20, 21, 22, 23, 24, 25,
28, 29, 30, 31, 32, 33, 34
]
# Ítem si el jugador no tiene reportes en contra
no_reports_item:
enabled: true
slot: 22 # Centro
material: GLASS_BOTTLE # O el que quieras
name: "#90EE90{playerName} está limpio."
lore:
- "&7Este jugador no tiene reportes"
- "&7en su contra."
# Ítems estáticos (Paginación, Volver, Info del Jugador)
static_items:
back_button: # Botón para cerrar la GUI de historial
enabled: true
slot: 45 # Esquina inferior izquierda
material: BARRIER
name: "#FF6347✘ Cerrar Historial"
lore:
- "&7Cierra esta ventana."
action: "history_close" # Acción específica para cerrar
previous_page_button:
enabled: true
slot: 48 # A la izquierda del centro inferior
material_active: ARROW
material_inactive: LIGHT_GRAY_STAINED_GLASS_PANE
name_active: "#AAAAFF« Página Anterior (&a{previousPage}#AAAAFF)"
name_inactive: "#777777« Primera Página"
lore_active:
- "&7Click para ir a la página {previousPage}"
action: "history_go_previous" # Acción específica de paginación
next_page_button:
enabled: true
slot: 50 # A la derecha del centro inferior
material_active: ARROW
material_inactive: LIGHT_GRAY_STAINED_GLASS_PANE
name_active: "#AAAAFFPágina Siguiente (&a{nextPage}#AAAAFF)"
name_inactive: "#777777Última Página"
lore_active:
- "&7Click para ir a la página {nextPage}"
action: "history_go_next" # Acción específica de paginación
player_info_item: # Muestra info básica del jugador visto
enabled: true
slot: 49 # Centro inferior
material: PLAYER_HEAD # La cabeza del jugador
# El nombre se puede poner aquí o dinámicamente en código
name: "&eHistorial de: &f{playerName}"
lore:
- "&7ID Corto: &f{reportedUUIDShort}" # Placeholder de Report funciona aquí
- "&7Reportes Totales: &f{displayedReportCount}" # Cuántos se listan
- "&7Advertencias Totales: &f{warnCount}" # Añadir contador de warns
# Relleno opcional para el resto de la fila inferior
filler:
enabled: true
slots:
- 46
- 47
- 51
- 52
material: BLACK_STAINED_GLASS_PANE
name: " "
lore: []
# --- Formato para cada reporte en la lista del historial ---
# Puedes simplificarlo respecto a la lista de admin si quieres
history_report_item_format:
material: PAPER # Material por defecto
name: "&eReporte {reportIdShort} &7({date})"
lore:
- "&7Reportado por: &f{reporterName}"
- "&7Razón: &f{reason} {detailsFormatted}" # Placeholder para detalles con paréntesis
- "&7Servidor: &b{server}"
- "&7Estado: {statusFormatted}"
- "&7Asignado a: &f{assignee}"
- ""
- "&bClick para ver detalles completos" # Hacerlo clickeable es opcional
glow_if_active: true # Resaltar reportes activos
Last updated