{"id":73803,"date":"2026-06-04T10:04:37","date_gmt":"2026-06-04T07:04:37","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/"},"modified":"2026-06-04T10:04:37","modified_gmt":"2026-06-04T07:04:37","slug":"fssentials","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/","title":{"rendered":"F-Essentials"},"content":{"rendered":"<p align=\"center\">\n  <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/F4yTBhW.png\" alt=\"logo\" width=\"700\"\/>\n<\/p>\n<p align=\"center\">\n  <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/EmmGm2F.png\" alt=\"Fess\" width=\"400\"\/>\n<\/p>\n<p align=\"center\">\n  <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/aKw3pwn.png\" alt=\"Fess\" width=\"400\"\/>\n<\/p>\n<p align=\"center\">\n<p>  <img decoding=\"async\" src=\"https:\/\/cdn.prod.website-files.com\/5c14e387dab576fe667689cf\/670f5a0171bfb928b21a7e00_support_me_on_kofi_beige.png\" alt=\"logo\" width=\"300\"\/><\/p>\n<p align=\"center\">\n<p>    <img decoding=\"async\" alt=\"Discord Server\" src=\"https:\/\/img.shields.io\/static\/v1?label=&#038;message=Discord&#038;color=ECEBE6&#038;labelColor=2F4858&#038;style=for-the-badge&#038;logo=discord&#038;logoColor=white\" \/><\/p>\n<p>    <img decoding=\"async\" alt=\"Nightbeam Studio YouTube\" src=\"https:\/\/img.shields.io\/static\/v1?label=&#038;message=YouTube&#038;color=ECEBE6&#038;labelColor=2F4858&#038;style=for-the-badge&#038;logo=youtube&#038;logoColor=white\" \/><\/p>\n<p>    <img decoding=\"async\" alt=\"Nightbeam Studio GitHub\" src=\"https:\/\/img.shields.io\/static\/v1?label=&#038;message=GitHub&#038;color=ECEBE6&#038;labelColor=2F4858&#038;style=for-the-badge&#038;logo=github&#038;logoColor=white\" \/><\/p>\n<p>    <img decoding=\"async\" alt=\"Nightbeam Studio CurseForge\" src=\"https:\/\/img.shields.io\/static\/v1?label=&#038;message=CurseForge&#038;color=ECEBE6&#038;labelColor=2F4858&#038;style=for-the-badge&#038;logo=curseforge&#038;logoColor=white\" \/><\/p>\n<p>    <img decoding=\"async\" alt=\"Nightbeam Studio Modrinth\" src=\"https:\/\/img.shields.io\/static\/v1?label=&#038;message=Modrinth&#038;color=ECEBE6&#038;labelColor=2F4858&#038;style=for-the-badge&#038;logo=modrinth&#038;logoColor=white\" \/><\/p>\n<p>Fssentials is a production-ready moderation and admin utilities plugin for Paper (Folia-aware). This document enumerates every feature implemented in the current codebase so server operators can configure, use, and extend the plugin confidently.<\/p>\n<p>&#8212;<\/p>\n<p>## High-level Overview<br \/>\n&#8211; Folia-friendly scheduler utilities for safe async\/global\/entity dispatch (`FoliaScheduler`).<br \/>\n&#8211; Full-featured punishment system with persistent YAML storage and temporary punishments.<br \/>\n&#8211; IP-locking (per-account allowed IP entries + login-blocking) with admin commands and bypass permission.<br \/>\n&#8211; Maintenance subsystem with whitelist, MOTD sets, scheduling\/timers and join notifications.<br \/>\n&#8211; Broadcast\/announcement system using MiniMessage titles with optional configurable sound.<br \/>\n&#8211; Vanish and admin protections for hidden staff members.<br \/>\n&#8211; Inventory viewing and editing (InvSee) with Folia-safe snapshot\/restore behavior.<br \/>\n&#8211; Central `MessageService` for configurable chat messages and prefix handling.<\/p>\n<p>&#8212;<\/p>\n<p>## Features (exhaustive)<\/p>\n<p>**Punishment System**<br \/>\n&#8211; Supported punishment types: `KICK`, `BAN`, `MUTE`, `WARN`, `NOTE`, `IP_BAN`.<br \/>\n&#8211; Supports permanent and temporary punishments. Temporary durations parse via `TimeParser` and server-configurable time-layout tokens (e.g. `#default`).<br \/>\n&#8211; Each punishment stores: id, type, target UUID\/name\/ip, actor, reason, createdAt, expiresAt, active flag and silent flag.<br \/>\n&#8211; Storage: persisted to `punishments.yml` via `YamlPunishmentStorage` when `storage.persistence-enabled` is true.<br \/>\n&#8211; Management: create, deactivate (unpunish), change reason, delete record, list history, view active punishments, page helper utilities (`PunishmentManager`).<br \/>\n&#8211; Expiration: scheduled expiration runs on Folia async scheduler and notifies staff when punishments expire.<\/p>\n<p>Commands (handled by `CommandRouter`):<br \/>\n&#8211; `kick <player> <reason...>` \u2014 immediate kick with enforcement message.<br \/>\n&#8211; `ban <player> <reason...>` \u2014 permanent ban (kicks online target).<br \/>\n&#8211; `mute <player> <reason...>` \u2014 mute (blocks chat via `PunishmentListener`).<br \/>\n&#8211; `warn <player> <reason...>` \u2014 adds a warn record; notifies target if online.<br \/>\n&#8211; `note <player> <note...>` \u2014 internal note record.<br \/>\n&#8211; `banip <player|ip> <reason...>` \u2014 IP ban (kicks matching IPs).<br \/>\n&#8211; `tempban\/tempmute\/tempwarn\/tempipban <player|ip> <duration> <reason...>` \u2014 temporary punishments.<br \/>\n&#8211; `unban\/unmute\/unwarn\/unnote\/unpunish <id|player>` \u2014 remove punishments.<br \/>\n&#8211; `change-reason <id> <new reason>` \u2014 edit a punishment&#8217;s reason.<br \/>\n&#8211; `warns <player>` \/ `notes <player>` \u2014 list warns\/notes.<br \/>\n&#8211; `check <player>` \u2014 show UUID, IP, ban\/mute status, counts.<br \/>\n&#8211; `banlist [page]` \u2014 list active bans (paginated).<br \/>\n&#8211; `history <player> [page]` \u2014 view player&#8217;s punishment history (paginated).<\/p>\n<p>Notes:<br \/>\n&#8211; Commands support a `-s` prefix to make an action silent (announce only to staff with the configured silent notify permission).<br \/>\n&#8211; Reason layouts can be referenced with `@layoutKey` to reuse predefined layouts from `config.yml` (`layouts.`).<br \/>\n&#8211; Time-layout tokens (e.g. `#default`) map to values in `time-layouts` config.<\/p>\n<p>**IP Locking**<br \/>\n&#8211; Per-account IP lock storage in `ip-locks.yml` (`IpLockManager`).<br \/>\n&#8211; Admin commands to `set`, `remove`, `change`, and `check` an account&#8217;s allowed IP.<br \/>\n&#8211; Normalizes IPs using Java networking APIs; invalid inputs are rejected.<br \/>\n&#8211; Login flow hooks: pre-login collects attempted IP and if mismatch is found the player is kicked (unless they have bypass permission).<br \/>\n&#8211; Configurable: `ip-lock.enabled`, `ip-lock.log-blocked-attempts`, `ip-lock.kick-message`.<\/p>\n<p>**Maintenance Mode**<br \/>\n&#8211; Enable\/disable maintenance mode programmatically or via commands.<br \/>\n&#8211; Whitelist management (add\/remove\/list) for players allowed during maintenance.<br \/>\n&#8211; MOTD sets: multiple message sets supported and editable using `\/maintenance motd` and `setmotd`.<br \/>\n&#8211; Scheduling\/timers: `starttimer`, `endtimer`, `schedule`, `aborttimer` to schedule enable\/disable automatically (`MaintenanceTimer`).<br \/>\n&#8211; Join notifications: staff with `notify` permission receive join-attempt notifications during maintenance.<br \/>\n&#8211; Configurable messages and bypass\/notify permissions via `MaintenanceConfig`.<\/p>\n<p>Maintenance commands (via `maintenance` command):<br \/>\n&#8211; `maintenance on|off|reload`<br \/>\n&#8211; `maintenance add <player>` \/ `remove <player>` \/ `whitelist`<br \/>\n&#8211; `maintenance starttimer <minutes>` \/ `endtimer <minutes>` \/ `schedule <startMinutes> <durationMinutes>` \/ `aborttimer`<br \/>\n&#8211; `maintenance motd` \/ `maintenance setmotd <index> <line> <message>`<\/p>\n<p>**Broadcast \/ Announcements**<br \/>\n&#8211; `\/broadcast <title> [subtitle]` \u2014 sends a full-screen title to all players using MiniMessage formatting.<br \/>\n&#8211; Supports splitting title\/subtitle by `|` or heuristics; configurable sound (`announcements.sound.*` in config).<\/p>\n<p>**Vanish &#038; Admin Tools**<br \/>\n&#8211; Toggle vanish with `\/vanish` (visibility handled by `VanishService`).<br \/>\n&#8211; `AdminToolsListener` protects vanished staff from being interacted with or damaged.<br \/>\n&#8211; Vanish state is reapplied on join for session-owned vanished players.<\/p>\n<p>**InvSee (Inventory View\/Edit)**<br \/>\n&#8211; `\/invsee <player>` opens a 54-slot GUI snapshot of the target player&#8217;s inventory (uses `InvseeInventoryHolder`).<br \/>\n&#8211; Snapshot and restore are Folia-safe: inventory cloning happens on the target&#8217;s entity scheduler and GUI open on the viewer&#8217;s entity scheduler.<br \/>\n&#8211; Viewer edits are written back on close (invsee allows editing of player storage, armor, off-hand slots as described in the GUI layout).<\/p>\n<p>**Message Service &#038; Localization**<br \/>\n&#8211; `MessageService` loads `messages.yml` from the plugin folder; messages use a `prefix` and support placeholder replacement via `MessageService.get(key, placeholders)`.<br \/>\n&#8211; Error\/usage\/enforcement messages are all configurable in `messages.yml` and `config.yml`.<\/p>\n<p>**Folia Scheduler Compatibility**<br \/>\n&#8211; `FoliaScheduler` centralizes Folia-friendly task dispatch: `runAsync`, `runAsyncTimer`, `runGlobal`, `runAtEntity`.<br \/>\n&#8211; All file I\/O and long-running work is dispatched async; player-specific operations run on the player&#8217;s entity scheduler.<\/p>\n<p>**Storage Files Created\/Used**<br \/>\n&#8211; `punishments.yml` \u2014 persisted punishment records (via `YamlPunishmentStorage`).<br \/>\n&#8211; `ip-locks.yml` \u2014 per-account IP lock entries.<br \/>\n&#8211; `messages.yml` \u2014 plugin messages loaded by `MessageService` (copied from plugin jar to data folder on first run).<\/p>\n<p>&#8212;<\/p>\n<p>## Commands (complete list registered at runtime)<br \/>\n&#8211; `kick`, `ban`, `mute`, `warn`, `note`, `banip`<br \/>\n&#8211; `tempban`, `tempmute`, `tempwarn`, `tempipban`<br \/>\n&#8211; `unban`, `unmute`, `unwarn`, `unnote`, `unpunish`<br \/>\n&#8211; `change-reason`, `warns`, `notes`, `check`, `banlist`, `history`<br \/>\n&#8211; `fssentials`, `systemprefs`, `vanish`, `offlinetp`, `playerlist`, `punishment`, `invsee`<br \/>\n&#8211; `maintenance` (separately registered with its own executor)<br \/>\n&#8211; `broadcast`, `iplock` (separately registered)<\/p>\n<p>Refer to `plugin.yml` for the exact help\/usage lines; `fssentials` command prints configurable help-lines from `config.yml`.<\/p>\n<p>&#8212;<\/p>\n<p>## Permissions (used in code)<br \/>\n&#8211; `fssentials.punish.kick` \u2014 kick players<br \/>\n&#8211; `fssentials.punish.ban` \/ `fssentials.punish.tempban` \u2014 ban players<br \/>\n&#8211; `fssentials.punish.mute` \/ `fssentials.punish.tempmute` \u2014 mute players<br \/>\n&#8211; `fssentials.punish.warn` \/ `fssentials.punish.tempwarn` \u2014 warn players<br \/>\n&#8211; `fssentials.punish.banip` \/ `fssentials.punish.tempipban` \u2014 IP ban<br \/>\n&#8211; `fssentials.punish.unpunish` \u2014 remove punishments<br \/>\n&#8211; `fssentials.punish.change-reason` \u2014 edit punishment reason<br \/>\n&#8211; `fssentials.view.banlist` \/ `fssentials.view.history` \/ `fssentials.view.check` \/ `fssentials.view.playerlist` \u2014 view lists\/check info<br \/>\n&#8211; `fssentials.invsee` \u2014 view and edit player inventories<br \/>\n&#8211; `fssentials.vanish` \u2014 toggle vanish<br \/>\n&#8211; `fssentials.admin.reload` \u2014 reload plugin<br \/>\n&#8211; `fssentials.admin.systemprefs` \u2014 view system prefs<br \/>\n&#8211; `fssentials.maintenance.admin` \u2014 full maintenance administration<br \/>\n&#8211; maintenance bypass\/notify permissions are configurable (defaults shown in `MaintenanceConfig`).<br \/>\n&#8211; IP-locking bypass permission: `plugin.iplock.bypass` (constant in `IpLockManager`).<\/p>\n<p>Note: the plugin uses permission checks liberally; ensure your server&#8217;s permission system maps the nodes to the desired roles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Punishments, IPlock, maintenance mode, and much more ..<\/p>\n","protected":false},"featured_media":73804,"template":"","meta":{"_minecraft_slug":"fssentials","_minecraft_project_id":"1YpSYvSs","_minecraft_author":"NAIZO","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":33,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"fssentials.zip","_minecraft_size_bytes":151264,"_minecraft_version_count":2,"_minecraft_updated_at":"2026-05-15T22:10:34.183166Z","_minecraft_date_created":"2026-03-17T00:39:11.514425Z","_minecraft_date_modified":"2026-03-17T11:18:38.220507Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/fssentials","_minecraft_icon_attachment_id":73804,"_minecraft_imported_at":"2026-06-04T07:04:38+00:00","_minecraft_import_hash":"82881474c78268917c343fa55f2c223d","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,88,125,126,90,127,128,129,123,92],"mod_loader":[130,131,132,133,134],"minecraft_version":[59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-73803","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-equipment","mod_category-folia","mod_category-management","mod_category-optimization","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-technology","mod_category-utility","mod_loader-bukkit","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>F-Essentials - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"F-Essentials - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Punishments, IPlock, maintenance mode, and much more ..\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i.imgur.com\/F4yTBhW.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/\",\"name\":\"F-Essentials - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/fssentials-icon-96c3c3fbc2ef78722b8340f8896e5f4129564544_96.webp\",\"datePublished\":\"2026-06-04T07:04:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/fssentials-icon-96c3c3fbc2ef78722b8340f8896e5f4129564544_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/fssentials-icon-96c3c3fbc2ef78722b8340f8896e5f4129564544_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/fssentials\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"F-Essentials\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"F-Essentials - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/","og_locale":"en_US","og_type":"article","og_title":"F-Essentials - Minecraft","og_description":"Punishments, IPlock, maintenance mode, and much more ..","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/","og_site_name":"Minecraft","og_image":[{"url":"https:\/\/i.imgur.com\/F4yTBhW.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/","name":"F-Essentials - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/fssentials-icon-96c3c3fbc2ef78722b8340f8896e5f4129564544_96.webp","datePublished":"2026-06-04T07:04:37+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/fssentials-icon-96c3c3fbc2ef78722b8340f8896e5f4129564544_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/fssentials-icon-96c3c3fbc2ef78722b8340f8896e5f4129564544_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/fssentials\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"F-Essentials"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/73803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/73804"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=73803"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=73803"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=73803"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=73803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}