{"id":159871,"date":"2026-06-09T17:36:52","date_gmt":"2026-06-09T14:36:52","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/"},"modified":"2026-06-09T17:36:52","modified_gmt":"2026-06-09T14:36:52","slug":"triggervolumes","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/","title":{"rendered":"TriggerVolumes"},"content":{"rendered":"<p># TriggerVolumes Plugin<\/p>\n<p>A powerful Spigot\/Paper plugin for creating 3D trigger volumes with customizable actions that execute when players enter or leave defined areas.<\/p>\n<p>## Features<\/p>\n<p>&#8211; **Selection System**: Tool-based selection of cubic regions with visual feedback<br \/>\n&#8211; **Trigger Volumes**: Store and manage named volumes with precise coordinates<br \/>\n&#8211; **Volume Groups**: Group multiple volumes together for batch operations<br \/>\n&#8211; **Clone &#038; Copy**: Clone volumes with actions or copy actions between existing volumes<br \/>\n&#8211; **Enter\/Leave Actions**: Execute different actions when players enter or leave volumes<br \/>\n&#8211; **Action Types**:<br \/>\n  &#8211; `PLAYER_COMMAND`: Execute commands as the player<br \/>\n  &#8211; `CONSOLE_COMMAND`: Execute commands from console<br \/>\n  &#8211; `MESSAGE`: Send colored messages to players<br \/>\n  &#8211; `TELEPORT`: Teleport players to specific coordinates<br \/>\n&#8211; **Particle Visualization**: Real-time particle effects showing volume boundaries<br \/>\n&#8211; **Cooldown System**: Prevent action spam with configurable cooldowns<br \/>\n&#8211; **Spatial Hashing**: Optimized performance for servers with hundreds of volumes<br \/>\n&#8211; **Multi-Language**: Support for 7 languages (EN, DE, FR, PL, RU, JA, ES)<br \/>\n&#8211; **Persistent Storage**: Volumes and actions saved in YAML format<br \/>\n&#8211; **Reload Command**: Update configurations without server restart<\/p>\n<p>## Requirements<\/p>\n<p>&#8211; **Server**: Spigot or Paper 1.19+<br \/>\n&#8211; **Java**: Version 17 or higher<br \/>\n&#8211; **Permissions Plugin**: Optional (for permission management)<\/p>\n<p>## Installation<\/p>\n<p>1. Download `TriggerVolumes-1.0.4.jar`<br \/>\n2. Place the file in your server&#8217;s `plugins\/` folder<br \/>\n3. Start or restart your server<br \/>\n4. Configuration files will be generated automatically in `plugins\/TriggerVolumes\/`<\/p>\n<p>## Configuration<\/p>\n<p>### Main Configuration (`config.yml`)<\/p>\n<p>&#8220;`yaml<br \/>\n# Language Configuration<br \/>\nlanguage:<br \/>\n  default: en  # Available: en, de, fr, pl, ru, ja, es<\/p>\n<p># Particle Settings<br \/>\nparticles:<br \/>\n  update-interval: 5      # Ticks between particle updates<br \/>\n  density: 0.5            # Distance between particles (blocks)<br \/>\n  visualization-duration: 30  # Duration in seconds<\/p>\n<p># Cooldown System<br \/>\ncooldowns:<br \/>\n  enabled: true<br \/>\n  default-cooldown: 3     # Cooldown in seconds<\/p>\n<p># Selection Tool<br \/>\nselection-tool:<br \/>\n  material: WOODEN_HOE<br \/>\n  name: &#8220;&#038;6Selection Tool&#8221;<br \/>\n  lore:<br \/>\n    &#8211; &#8220;&#038;7Left-click: Set position 1&#8221;<br \/>\n    &#8211; &#8220;&#038;7Right-click: Set position 2&#8221;<br \/>\n&#8220;`<\/p>\n<p>### Changing Language<\/p>\n<p>Edit `config.yml` and change the language setting:<br \/>\n&#8220;`yaml<br \/>\nlanguage:<br \/>\n  default: de  # Change to your preferred language code<br \/>\n&#8220;`<\/p>\n<p>Then reload: `\/trigger reload`<\/p>\n<p>## Commands<\/p>\n<p>### Basic Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/trigger tool` | Get the selection tool | `triggervolumes.admin` |<br \/>\n| `\/trigger create <name>` | Create volume from selection | `triggervolumes.admin` |<br \/>\n| `\/trigger define <name> <x1> <y1> <z1> <x2> <y2> <z2>` | Create volume with coordinates | `triggervolumes.admin` |<br \/>\n| `\/trigger delete <name>` | Delete a volume | `triggervolumes.admin` |<br \/>\n| `\/trigger clone [source] [name]` | Clone volume or create from selection | `triggervolumes.admin` |<br \/>\n| `\/trigger copypaste <copy> <paste>` | Copy actions between volumes | `triggervolumes.admin` |<br \/>\n| `\/trigger list` | List all volumes | `triggervolumes.admin` |<br \/>\n| `\/trigger info <name>` | Show volume details and groups | `triggervolumes.admin` |<br \/>\n| `\/trigger reload` | Reload configurations | `triggervolumes.admin` |<br \/>\n| `\/trigger help` | Show help message | `triggervolumes.admin` |<\/p>\n<p>### Action Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/trigger setaction <name> enter <type> <value>` | Add enter action | `triggervolumes.admin` |<br \/>\n| `\/trigger setaction <name> leave <type> <value>` | Add leave action | `triggervolumes.admin` |<br \/>\n| `\/trigger clearactions <name> [enter|leave|all]` | Clear actions | `triggervolumes.admin` |<\/p>\n<p>### Volume Groups Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/trigger creategroup <name> <vol1> <vol2> [&#8230;]` | Create volume group (min 2) | `triggervolumes.admin` |<br \/>\n| `\/trigger deletegroup <name>` | Delete group (volumes remain) | `triggervolumes.admin` |<br \/>\n| `\/trigger groupadd <group> <volume>` | Add volume to existing group | `triggervolumes.admin` |<br \/>\n| `\/trigger groupremove <group> <volume>` | Remove volume from group | `triggervolumes.admin` |<br \/>\n| `\/trigger setaction <group> <trigger> <type> <value>` | Apply action to all volumes in group | `triggervolumes.admin` |<br \/>\n| `\/trigger clearactions <group> [enter|leave|all]` | Clear actions from group | `triggervolumes.admin` |<\/p>\n<p>### Visualization Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/trigger visualize <name>` | Show volume particles (30s) | `triggervolumes.admin` |<br \/>\n| `\/trigger hide <name>` | Stop showing particles | `triggervolumes.admin` |<\/p>\n<p>## Action Types<\/p>\n<p>### PLAYER_COMMAND<br \/>\nExecutes a command as if the player typed it.<\/p>\n<p>**Examples:**<br \/>\n&#8220;`<br \/>\n\/trigger setaction MyVolume enter PLAYER_COMMAND \/heal<br \/>\n\/trigger setaction MyVolume enter PLAYER_COMMAND \/spawn<br \/>\n\/trigger setaction MyVolume leave PLAYER_COMMAND \/back<br \/>\n&#8220;`<\/p>\n<p>**Note:** The player must have permission to execute the command!<\/p>\n<p>### CONSOLE_COMMAND<br \/>\nExecutes a command from the console (with OP privileges).<\/p>\n<p>**Examples:**<br \/>\n&#8220;`<br \/>\n\/trigger setaction MyVolume enter CONSOLE_COMMAND give %player% diamond 1<br \/>\n\/trigger setaction MyVolume enter CONSOLE_COMMAND effect give %player% speed 30 1<br \/>\n\/trigger setaction MyVolume leave CONSOLE_COMMAND clear %player%<br \/>\n&#8220;`<\/p>\n<p>**Placeholders:**<br \/>\n&#8211; `%player%` &#8211; Player&#8217;s name<br \/>\n&#8211; `%uuid%` &#8211; Player&#8217;s UUID<\/p>\n<p>### MESSAGE<br \/>\nSends a colored message to the player.<\/p>\n<p>**Examples:**<br \/>\n&#8220;`<br \/>\n\/trigger setaction MyVolume enter MESSAGE &#038;aWelcome to the safe zone!<br \/>\n\/trigger setaction MyVolume enter MESSAGE &#038;6You are now in the &#038;cDanger Zone&#038;6!<br \/>\n\/trigger setaction MyVolume leave MESSAGE &#038;7You left the protected area.<br \/>\n&#8220;`<\/p>\n<p>**Color Codes:**<br \/>\n&#8211; `&#038;0-9, a-f` &#8211; Standard Minecraft colors<br \/>\n&#8211; `&#038;l` &#8211; Bold, `&#038;o` &#8211; Italic, `&#038;n` &#8211; Underline<br \/>\n&#8211; `&#038;m` &#8211; Strikethrough, `&#038;k` &#8211; Obfuscated<br \/>\n&#8211; `&#038;r` &#8211; Reset formatting<\/p>\n<p>### TELEPORT<br \/>\nTeleports the player to specified coordinates.<\/p>\n<p>**Format:** `x y z [yaw] [pitch]`<\/p>\n<p>**Examples:**<br \/>\n&#8220;`<br \/>\n\/trigger setaction MyVolume enter TELEPORT 100 64 200<br \/>\n\/trigger setaction MyVolume enter TELEPORT 0 70 0 90 0<br \/>\n\/trigger setaction MyVolume leave TELEPORT -50 65 -50 180 45<br \/>\n&#8220;`<\/p>\n<p>**Note:** Teleport coordinates are in the same world as the volume!<\/p>\n<p>## Usage Workflow<\/p>\n<p>### 1. Creating a Volume<\/p>\n<p>#### Method A: Using the Selection Tool<br \/>\n&#8220;`bash<br \/>\n# Get the selection tool<br \/>\n\/trigger tool<\/p>\n<p># Select two corners by clicking blocks<br \/>\n# Left-click for position 1<br \/>\n# Right-click for position 2<\/p>\n<p># Create the volume<br \/>\n\/trigger create MyFirstVolume<br \/>\n&#8220;`<\/p>\n<p>#### Method B: Using Coordinates<br \/>\n&#8220;`bash<br \/>\n# Define volume with exact coordinates<br \/>\n\/trigger define MyFirstVolume 100 60 100 150 80 150<br \/>\n&#8220;`<\/p>\n<p>### 2. Adding Actions<\/p>\n<p>#### Enter Actions (triggered on entering)<br \/>\n&#8220;`bash<br \/>\n# Send a welcome message<br \/>\n\/trigger setaction MyFirstVolume enter MESSAGE &#038;aWelcome!<\/p>\n<p># Give the player an item<br \/>\n\/trigger setaction MyFirstVolume enter CONSOLE_COMMAND give %player% diamond 1<\/p>\n<p># Apply a potion effect<br \/>\n\/trigger setaction MyFirstVolume enter CONSOLE_COMMAND effect give %player% speed 30 1<br \/>\n&#8220;`<\/p>\n<p>#### Leave Actions (triggered on leaving)<br \/>\n&#8220;`bash<br \/>\n# Send a goodbye message<br \/>\n\/trigger setaction MyFirstVolume leave MESSAGE &#038;cGoodbye!<\/p>\n<p># Remove potion effects<br \/>\n\/trigger setaction MyFirstVolume leave CONSOLE_COMMAND effect clear %player%<\/p>\n<p># Teleport player back<br \/>\n\/trigger setaction MyFirstVolume leave TELEPORT 0 64 0<br \/>\n&#8220;`<\/p>\n<p>### 3. Testing and Visualization<\/p>\n<p>&#8220;`bash<br \/>\n# Visualize the volume with particles<br \/>\n\/trigger visualize MyFirstVolume<\/p>\n<p># Walk into the volume &#8211; enter actions will execute<br \/>\n# Walk out of the volume &#8211; leave actions will execute<\/p>\n<p># Stop visualization<br \/>\n\/trigger hide MyFirstVolume<br \/>\n&#8220;`<\/p>\n<p>### 4. Managing Volumes<\/p>\n<p>&#8220;`bash<br \/>\n# View all volumes<br \/>\n\/trigger list<\/p>\n<p># Check volume details<br \/>\n\/trigger info MyFirstVolume<\/p>\n<p># Clear specific actions<br \/>\n\/trigger clearactions MyFirstVolume enter  # Clear only enter actions<br \/>\n\/trigger clearactions MyFirstVolume leave  # Clear only leave actions<br \/>\n\/trigger clearactions MyFirstVolume all    # Clear all actions<\/p>\n<p># Delete volume<br \/>\n\/trigger delete MyFirstVolume<br \/>\n&#8220;`<\/p>\n<p>## Practical Examples<\/p>\n<p>### Example 1: Safe Zone<br \/>\nCreate a safe zone that heals players and prevents PvP:<\/p>\n<p>&#8220;`bash<br \/>\n\/trigger create SafeZone<br \/>\n\/trigger setaction SafeZone enter MESSAGE &#038;a&#038;lYou entered a safe zone!<br \/>\n\/trigger setaction SafeZone enter CONSOLE_COMMAND effect give %player% regeneration 999999 1 true<br \/>\n\/trigger setaction SafeZone enter CONSOLE_COMMAND effect give %player% resistance 999999 4 true<br \/>\n\/trigger setaction SafeZone leave MESSAGE &#038;cYou left the safe zone!<br \/>\n\/trigger setaction SafeZone leave CONSOLE_COMMAND effect clear %player%<br \/>\n&#8220;`<\/p>\n<p>### Example 2: Shop Entrance<br \/>\nDisplay information when entering a shop:<\/p>\n<p>&#8220;`bash<br \/>\n\/trigger create ShopEntrance<br \/>\n\/trigger setaction ShopEntrance enter MESSAGE &#038;6&#038;l=== SHOP ===<br \/>\n\/trigger setaction ShopEntrance enter MESSAGE &#038;eWelcome to the market!<br \/>\n\/trigger setaction ShopEntrance enter MESSAGE &#038;7Type \/shop to browse items<br \/>\n\/trigger setaction ShopEntrance enter PLAYER_COMMAND \/shop<br \/>\n&#8220;`<\/p>\n<p>### Example 3: Danger Zone<br \/>\nWarn players entering a dangerous area:<\/p>\n<p>&#8220;`bash<br \/>\n\/trigger create DangerZone<br \/>\n\/trigger setaction DangerZone enter MESSAGE &#038;c&#038;l\u26a0 WARNING \u26a0<br \/>\n\/trigger setaction DangerZone enter MESSAGE &#038;cYou entered a dangerous area!<br \/>\n\/trigger setaction DangerZone enter MESSAGE &#038;cProceed with caution!<br \/>\n\/trigger setaction DangerZone enter CONSOLE_COMMAND playsound entity.ender_dragon.growl player %player%<br \/>\n\/trigger setaction DangerZone leave MESSAGE &#038;aYou are now safe.<br \/>\n&#8220;`<\/p>\n<p>### Example 4: Teleport Hub<br \/>\nCreate a portal that teleports players:<\/p>\n<p>&#8220;`bash<br \/>\n\/trigger create TeleportHub<br \/>\n\/trigger setaction TeleportHub enter MESSAGE &#038;6Teleporting to spawn&#8230;<br \/>\n\/trigger setaction TeleportHub enter TELEPORT 0 64 0 0 0<br \/>\n&#8220;`<\/p>\n<p>### Example 5: Resource Zone<br \/>\nGive players items when entering a mining area:<\/p>\n<p>&#8220;`bash<br \/>\n\/trigger create MiningZone<br \/>\n\/trigger setaction MiningZone enter MESSAGE &#038;6You received mining equipment!<br \/>\n\/trigger setaction MiningZone enter CONSOLE_COMMAND give %player% iron_pickaxe 1<br \/>\n\/trigger setaction MiningZone enter CONSOLE_COMMAND give %player% torch 16<br \/>\n\/trigger setaction MiningZone leave MESSAGE &#038;7Your mining equipment was removed.<br \/>\n\/trigger setaction MiningZone leave CONSOLE_COMMAND clear %player% iron_pickaxe<br \/>\n\/trigger setaction MiningZone leave CONSOLE_COMMAND clear %player% torch<br \/>\n&#8220;`<\/p>\n<p>### Example 6: Cloning Volumes<br \/>\nClone a volume&#8217;s actions to a new area:<\/p>\n<p>&#8220;`bash<br \/>\n# Select new area with the tool<br \/>\n\/trigger tool<br \/>\n# Left-click and right-click to select<\/p>\n<p># Clone an existing volume to the new selection<br \/>\n\/trigger clone SafeZone MySafeZone2<br \/>\n# This creates MySafeZone2 with all actions from SafeZone<\/p>\n<p># Or create a volume without actions<br \/>\n\/trigger clone<br \/>\n# Creates volume_1, volume_2, etc.<\/p>\n<p># Or clone with auto-generated name<br \/>\n\/trigger clone SafeZone<br \/>\n# Creates SafeZone_clone, SafeZone_clone1, etc.<br \/>\n&#8220;`<\/p>\n<p>### Example 7: Copying Actions Between Volumes<br \/>\nCopy actions from one volume to another without selection:<\/p>\n<p>&#8220;`bash<br \/>\n# Copy all actions from DangerZone to AnotherDangerZone<br \/>\n\/trigger copypaste DangerZone AnotherDangerZone<br \/>\n# Both enter and leave actions are copied<br \/>\n&#8220;`<\/p>\n<p>### Example 8: Volume Groups<br \/>\nManage multiple volumes as a group:<\/p>\n<p>&#8220;`bash<br \/>\n# Create a group of shop volumes<br \/>\n\/trigger creategroup AllShops Shop1 Shop2 Shop3<\/p>\n<p># Add more volumes to the group later<br \/>\n\/trigger groupadd AllShops Shop4<br \/>\n\/trigger groupadd AllShops Shop5<\/p>\n<p># Apply actions to all volumes in the group at once<br \/>\n\/trigger setaction AllShops enter MESSAGE &#038;6Welcome to the shop!<br \/>\n\/trigger setaction AllShops enter CONSOLE_COMMAND effect give %player% glowing 10<br \/>\n\/trigger setaction AllShops leave MESSAGE &#038;7Thanks for visiting!<\/p>\n<p># Remove a volume from the group<br \/>\n\/trigger groupremove AllShops Shop1<\/p>\n<p># Clear actions from all volumes in group<br \/>\n\/trigger clearactions AllShops all<\/p>\n<p># Delete the group (volumes remain intact)<br \/>\n\/trigger deletegroup AllShops<br \/>\n# Note: If a group has less than 2 volumes after removal, it&#8217;s automatically deleted<br \/>\n&#8220;`<\/p>\n<p>## Permissions<\/p>\n<p>### Admin Permissions<br \/>\n&#8211; `triggervolumes.admin` &#8211; Access to all commands (default: OP)<br \/>\n  &#8211; Create, delete, and manage volumes<br \/>\n  &#8211; Set and clear actions<br \/>\n  &#8211; Visualize volumes<br \/>\n  &#8211; Reload configuration<\/p>\n<p>### User Permissions<br \/>\n&#8211; `triggervolumes.use` &#8211; Trigger actions when entering\/leaving volumes (default: all players)<\/p>\n<p>### Permission Examples<\/p>\n<p>**Using LuckPerms:**<br \/>\n&#8220;`bash<br \/>\n# Give admin permission to specific player<br \/>\n\/lp user PlayerName permission set triggervolumes.admin true<\/p>\n<p># Give admin permission to a group<br \/>\n\/lp group admin permission set triggervolumes.admin true<\/p>\n<p># Remove trigger permission from guest group<br \/>\n\/lp group guest permission set triggervolumes.use false<br \/>\n&#8220;`<\/p>\n<p>**Using PermissionsEx:**<br \/>\n&#8220;`bash<br \/>\n# Give admin permission<br \/>\n\/pex user PlayerName add triggervolumes.admin<\/p>\n<p># Give to group<br \/>\n\/pex group admin add triggervolumes.admin<br \/>\n&#8220;`<\/p>\n<p>## Cooldown System<\/p>\n<p>The cooldown system prevents actions from being triggered too frequently when players repeatedly enter\/exit volumes.<\/p>\n<p>### How it Works<br \/>\n&#8211; **Separate Cooldowns**: Enter and leave actions have independent cooldowns<br \/>\n&#8211; **Per-Volume**: Each volume has its own cooldown timer per player<br \/>\n&#8211; **Configurable**: Default cooldown time can be set in `config.yml`<\/p>\n<p>### Configuration<br \/>\n&#8220;`yaml<br \/>\ncooldowns:<br \/>\n  enabled: true           # Enable\/disable cooldown system<br \/>\n  default-cooldown: 3     # Cooldown duration in seconds<br \/>\n&#8220;`<\/p>\n<p>### Behavior<br \/>\n&#8211; When a player triggers an action, they cannot trigger the same action type (enter\/leave) for that volume again until the cooldown expires<br \/>\n&#8211; Cooldowns are cleared when players leave the server<br \/>\n&#8211; This prevents spam from players walking back and forth across volume boundaries<\/p>\n<p>## Particle Visualization<\/p>\n<p>Volumes can be visualized with colored particle effects to help with positioning and verification.<\/p>\n<p>### Colors<br \/>\n&#8211; **Green** (VILLAGER_HAPPY): Volumes with actions<br \/>\n&#8211; **Red** (REDSTONE): Volumes without actions<br \/>\n&#8211; **Blue** (WATER_SPLASH): Currently being visualized<\/p>\n<p>### Settings<br \/>\n&#8220;`yaml<br \/>\nparticles:<br \/>\n  update-interval: 5      # Ticks between updates (20 ticks = 1 second)<br \/>\n  density: 0.5            # Block spacing between particles<br \/>\n  visualization-duration: 30  # Auto-hide after X seconds<br \/>\n&#8220;`<\/p>\n<p>### Usage<br \/>\n&#8220;`bash<br \/>\n# Show particles for 30 seconds<br \/>\n\/trigger visualize MyVolume<\/p>\n<p># Stop showing particles<br \/>\n\/trigger hide MyVolume<br \/>\n&#8220;`<\/p>\n<p>## Performance Optimization<\/p>\n<p>The plugin uses **spatial hashing** to efficiently handle hundreds or thousands of volumes without performance impact.<\/p>\n<p>### How It Works<br \/>\n&#8211; The world is divided into 16\u00d716 block chunks (Minecraft&#8217;s standard chunk size)<br \/>\n&#8211; Each volume is registered in all chunks it overlaps<br \/>\n&#8211; When checking if a player is in a volume, only volumes in the current chunk are checked<\/p>\n<p>### Performance Comparison<br \/>\n| Number of Volumes | Without Optimization | With Spatial Hashing | Speedup |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;-|<br \/>\n| 10 volumes | 10 checks | 2-3 checks | 3-5\u00d7 faster |<br \/>\n| 100 volumes | 100 checks | 5-8 checks | 12-20\u00d7 faster |<br \/>\n| 1000 volumes | 1000 checks | 5-10 checks | 100-200\u00d7 faster |<\/p>\n<p>### Benefits<br \/>\n&#8211; **Scalable**: Handles thousands of volumes without lag<br \/>\n&#8211; **Efficient**: O(k) instead of O(n) where k = volumes per chunk<br \/>\n&#8211; **Automatic**: No configuration needed, works out of the box<br \/>\n&#8211; **Real-time**: Updates instantly when volumes are created\/deleted<\/p>\n<p>### Best Practices<br \/>\n&#8211; No special configuration required<br \/>\n&#8211; Works best when volumes don&#8217;t span too many chunks<br \/>\n&#8211; Automatically rebuilds spatial index when needed<\/p>\n<p>## File Structure<\/p>\n<p>&#8220;`<br \/>\nplugins\/TriggerVolumes\/<br \/>\n\u251c\u2500\u2500 config.yml              # Main configuration<br \/>\n\u251c\u2500\u2500 triggervolumes.yml      # Stored volumes and actions<br \/>\n\u2514\u2500\u2500 lang\/                   # Language files<br \/>\n    \u251c\u2500\u2500 en.yml             # English (default)<br \/>\n    \u251c\u2500\u2500 de.yml             # German<br \/>\n    \u251c\u2500\u2500 fr.yml             # French<br \/>\n    \u251c\u2500\u2500 pl.yml             # Polish<br \/>\n    \u251c\u2500\u2500 ru.yml             # Russian<br \/>\n    \u251c\u2500\u2500 ja.yml             # Japanese<br \/>\n    \u2514\u2500\u2500 es.yml             # Spanish<br \/>\n&#8220;`<\/p>\n<p>## Volume Groups<\/p>\n<p>Volume groups allow you to manage multiple volumes as a single unit, making it easy to apply the same actions to multiple areas.<\/p>\n<p>### Creating Groups<br \/>\n&#8220;`bash<br \/>\n# Create a group with at least 2 volumes<br \/>\n\/trigger creategroup MyGroup Volume1 Volume2 Volume3<br \/>\n&#8220;`<\/p>\n<p>### Using Groups<br \/>\nGroups can be used wherever you would use a volume name:<\/p>\n<p>&#8220;`bash<br \/>\n# Apply actions to all volumes in a group<br \/>\n\/trigger setaction MyGroup enter MESSAGE &#038;aWelcome!<br \/>\n\/trigger setaction MyGroup leave MESSAGE &#038;cGoodbye!<\/p>\n<p># Clear actions from all volumes in a group<br \/>\n\/trigger clearactions MyGroup enter<br \/>\n\/trigger clearactions MyGroup all<br \/>\n&#8220;`<\/p>\n<p>### Managing Groups<br \/>\n&#8220;`bash<br \/>\n# Add a volume to an existing group<br \/>\n\/trigger groupadd MyGroup NewVolume<\/p>\n<p># Remove a volume from a group<br \/>\n\/trigger groupremove MyGroup OldVolume<\/p>\n<p># View which groups a volume belongs to<br \/>\n\/trigger info Volume1<br \/>\n# Shows: &#8220;Groups: MyGroup, AnotherGroup&#8221;<\/p>\n<p># Delete a group (volumes are not deleted)<br \/>\n\/trigger deletegroup MyGroup<br \/>\n&#8220;`<\/p>\n<p>**Important Notes:**<br \/>\n&#8211; Groups require a minimum of 2 volumes<br \/>\n&#8211; When removing a volume leaves less than 2 volumes, the group is automatically deleted<br \/>\n&#8211; A volume can belong to multiple groups simultaneously<br \/>\n&#8211; Removing a volume from a group doesn&#8217;t delete the volume itself<\/p>\n<p>### Key Features<br \/>\n&#8211; **Batch Operations**: Apply actions to multiple volumes simultaneously<br \/>\n&#8211; **Independent Volumes**: Deleting a group doesn&#8217;t delete the volumes<br \/>\n&#8211; **Multiple Membership**: A volume can belong to multiple groups<br \/>\n&#8211; **Persistent**: Groups are saved and loaded with the plugin<\/p>\n<p>## Storage Format<\/p>\n<p>Volumes and groups are stored in `triggervolumes.yml`:<\/p>\n<p>&#8220;`yaml<br \/>\nvolumes:<br \/>\n  MyVolume:<br \/>\n    world: world<br \/>\n    minX: 100.0<br \/>\n    minY: 60.0<br \/>\n    minZ: 100.0<br \/>\n    maxX: 150.0<br \/>\n    maxY: 80.0<br \/>\n    maxZ: 150.0<br \/>\n    enterActions:<br \/>\n      0:<br \/>\n        type: MESSAGE<br \/>\n        value: &#8220;&#038;aWelcome!&#8221;<br \/>\n      1:<br \/>\n        type: CONSOLE_COMMAND<br \/>\n        value: &#8220;effect give %player% speed 30 1&#8221;<br \/>\n    leaveActions:<br \/>\n      0:<br \/>\n        type: MESSAGE<br \/>\n        value: &#8220;&#038;cGoodbye!&#8221;<br \/>\ngroups:<br \/>\n  MyGroup:<br \/>\n    name: MyGroup<br \/>\n    volumes:<br \/>\n      &#8211; Volume1<br \/>\n      &#8211; Volume2<br \/>\n      &#8211; Volume3<br \/>\n&#8220;`<\/p>\n<p>## Troubleshooting<\/p>\n<p>### Actions Not Triggering<\/p>\n<p>**Problem:** Player walks through volume but nothing happens<\/p>\n<p>**Solutions:**<br \/>\n1. Check permissions: Player needs `triggervolumes.use`<br \/>\n2. Verify actions exist: `\/trigger info <name>`<br \/>\n3. Check cooldown: Actions have a 3-second cooldown by default<br \/>\n4. Visualize volume: `\/trigger visualize <name>` to verify boundaries<br \/>\n5. Check console for errors<\/p>\n<p>### Selection Tool Not Working<\/p>\n<p>**Problem:** Clicks don&#8217;t register positions<\/p>\n<p>**Solutions:**<br \/>\n1. Ensure you have the correct tool (default: Wooden Hoe)<br \/>\n2. Check you have `triggervolumes.admin` permission<br \/>\n3. Try getting a new tool: `\/trigger tool`<br \/>\n4. Verify you&#8217;re clicking blocks, not air<\/p>\n<p>### Particles Not Showing<\/p>\n<p>**Problem:** `\/trigger visualize` doesn&#8217;t show particles<\/p>\n<p>**Solutions:**<br \/>\n1. Check your particle settings in client (Options > Video Settings > Particles)<br \/>\n2. Verify the volume exists: `\/trigger info <name>`<br \/>\n3. Try standing closer to the volume<br \/>\n4. Check if another volume is being visualized (only one at a time)<\/p>\n<p>### Commands Not Working<\/p>\n<p>**Problem:** Commands return errors or don&#8217;t work<\/p>\n<p>**Solutions:**<br \/>\n1. Check permission: `triggervolumes.admin` for setup commands<br \/>\n2. Verify volume name is correct (case-insensitive)<br \/>\n3. Use quotes for values with spaces: `\/trigger setaction MyVolume enter MESSAGE &#8220;Hello World&#8221;`<br \/>\n4. Check console for detailed error messages<\/p>\n<p>### Performance Issues<\/p>\n<p>**Problem:** Server lag with many volumes<\/p>\n<p>**Solutions:**<br \/>\n1. The plugin uses spatial hashing (v1.0.3+) which handles thousands of volumes efficiently<br \/>\n2. Reduce particle density in `config.yml`<br \/>\n3. Increase particle update interval<br \/>\n4. Disable visualization when not needed<br \/>\n5. Increase cooldown times<br \/>\n6. Note: Performance issues with volumes are rare due to optimization<\/p>\n<p>## Advanced Tips<\/p>\n<p>### Using Placeholders<br \/>\nAll actions support these placeholders:<br \/>\n&#8211; `%player%` &#8211; Player&#8217;s name<br \/>\n&#8211; `%uuid%` &#8211; Player&#8217;s UUID<\/p>\n<p>Example:<br \/>\n&#8220;`bash<br \/>\n\/trigger setaction Welcome enter CONSOLE_COMMAND tellraw @a {&#8220;text&#8221;:&#8221;Player %player% entered spawn!&#8221;,&#8221;color&#8221;:&#8221;gold&#8221;}<br \/>\n&#8220;`<\/p>\n<p>### Multiple Actions<br \/>\nVolumes support unlimited actions per trigger type:<br \/>\n&#8220;`bash<br \/>\n\/trigger setaction MyVolume enter MESSAGE &#038;aWelcome!<br \/>\n\/trigger setaction MyVolume enter MESSAGE &#038;eEnjoy your stay!<br \/>\n\/trigger setaction MyVolume enter CONSOLE_COMMAND give %player% diamond 1<br \/>\n\/trigger setaction MyVolume enter PLAYER_COMMAND \/heal<br \/>\n&#8220;`<\/p>\n<p>All actions execute in the order they were added.<\/p>\n<p>### Overlapping Volumes<br \/>\nPlayers can be in multiple volumes simultaneously. Each volume&#8217;s actions will trigger independently when the player enters\/leaves.<\/p>\n<p>### World-Specific Volumes<br \/>\nVolumes are world-specific. A volume in &#8220;world&#8221; won&#8217;t trigger for players in &#8220;world_nether&#8221;.<\/p>\n<p>### Volume Groups for Organization<br \/>\nUse groups to organize related volumes:<br \/>\n&#8220;`bash<br \/>\n# Group all spawn protection zones<br \/>\n\/trigger creategroup SpawnZones SpawnSafe1 SpawnSafe2 SpawnSafe3<\/p>\n<p># Group all shop areas<br \/>\n\/trigger creategroup Shops MainShop ArmorShop FoodShop<\/p>\n<p># Apply consistent actions across related areas<br \/>\n\/trigger setaction SpawnZones enter MESSAGE &#038;aYou are now in spawn!<br \/>\n&#8220;`<\/p>\n<p>### Dynamic Group Management<br \/>\nGroups can be modified after creation:<br \/>\n&#8220;`bash<br \/>\n# Create initial group<br \/>\n\/trigger creategroup ActiveShops Shop1 Shop2<\/p>\n<p># Add new shops as they&#8217;re built<br \/>\n\/trigger groupadd ActiveShops Shop3<br \/>\n\/trigger groupadd ActiveShops Shop4<\/p>\n<p># Remove shops temporarily (e.g., during renovation)<br \/>\n\/trigger groupremove ActiveShops Shop2<\/p>\n<p># Add them back when ready<br \/>\n\/trigger groupadd ActiveShops Shop2<\/p>\n<p># If you remove volumes until less than 2 remain, the group auto-deletes<br \/>\n\/trigger groupremove ActiveShops Shop1  # Group still exists (3 volumes)<br \/>\n\/trigger groupremove ActiveShops Shop3  # Group still exists (2 volumes)<br \/>\n\/trigger groupremove ActiveShops Shop4  # Group auto-deleted (would have 1 volume)<br \/>\n&#8220;`<\/p>\n<p>### Clone vs CopyPaste<br \/>\n&#8211; **Clone**: Creates a new volume from your selection + copies actions<br \/>\n  &#8211; Requires selection with tool<br \/>\n  &#8211; Creates new volume<br \/>\n  &#8211; Optional: specify source and custom name<\/p>\n<p>&#8211; **CopyPaste**: Copies actions between existing volumes<br \/>\n  &#8211; No selection needed<br \/>\n  &#8211; Works with existing volumes only<br \/>\n  &#8211; Faster for duplicating actions<\/p>\n<p>### Backup and Migration<br \/>\nSimply copy the `triggervolumes.yml` file to backup or transfer volumes to another server. Groups are also saved in this file.<\/p>\n<p>## API for Developers<\/p>\n<p>### Maven Dependency<br \/>\n&#8220;`xml<br \/>\n<dependency><br \/>\n    <groupId>de.zfzfg<\/groupId><br \/>\n    <artifactId>TriggerVolumes<\/artifactId><br \/>\n    <version>1.0.4<\/version><br \/>\n    <scope>provided<\/scope><br \/>\n<\/dependency><br \/>\n&#8220;`<\/p>\n<p>### Getting the Plugin Instance<br \/>\n&#8220;`java<br \/>\nTriggerVolumesPlugin plugin = (TriggerVolumesPlugin) Bukkit.getPluginManager().getPlugin(&#8220;TriggerVolumes&#8221;);<br \/>\n&#8220;`<\/p>\n<p>### Checking if a Location is in a Volume<br \/>\n&#8220;`java<br \/>\nTriggerVolumeManager manager = plugin.getVolumeManager();<br \/>\nList<TriggerVolume> volumes = manager.getVolumesAtLocation(location);<\/p>\n<p>if (!volumes.isEmpty()) {<br \/>\n    \/\/ Location is in at least one volume<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Creating a Volume Programmatically<br \/>\n&#8220;`java<br \/>\nTriggerVolumeManager manager = plugin.getVolumeManager();<br \/>\nmanager.createVolume(&#8220;MyVolume&#8221;, &#8220;world&#8221;, 0, 60, 0, 100, 80, 100);<\/p>\n<p>\/\/ Add actions<br \/>\nTriggerAction action = new TriggerAction(ActionType.MESSAGE, &#8220;&#038;aHello!&#8221;);<br \/>\nmanager.addEnterAction(&#8220;MyVolume&#8221;, action);<br \/>\n&#8220;`<\/p>\n<p>## Support &#038; Contributing<\/p>\n<p>### Getting Help<br \/>\n&#8211; Check this documentation first<br \/>\n&#8211; Look for errors in console logs<br \/>\n&#8211; Ask in the Spigot forums<br \/>\n&#8211; Open an issue on GitHub<\/p>\n<p>### Reporting Bugs<br \/>\nWhen reporting bugs, please include:<br \/>\n1. Server version (Spigot\/Paper)<br \/>\n2. Plugin version<br \/>\n3. Full error message from console<br \/>\n4. Steps to reproduce the issue<br \/>\n5. Relevant configuration files<\/p>\n<p>### Feature Requests<br \/>\nHave an idea? Open an issue on GitHub with:<br \/>\n&#8211; Clear description of the feature<br \/>\n&#8211; Use case \/ why it&#8217;s needed<br \/>\n&#8211; Example of how it would work<\/p>\n<p>## License<\/p>\n<p>This plugin is provided as-is for private and public Minecraft servers.<\/p>\n<p>## Credits<\/p>\n<p>&#8211; **Author**: zfzfg<br \/>\n&#8211; **Version**: 1.0.4<br \/>\n&#8211; **Built with**: Maven, Spigot API, Java 17<\/p>\n<p>&#8212;<\/p>\n<p>**Made by zfzfg**<\/p>\n<p>For updates and more plugins, visit our GitHub Repository.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Spigot\/Paper plugin for defining 3D trigger volumes with automated actions on player entry and exit!<\/p>\n","protected":false},"featured_media":159872,"template":"","meta":{"_minecraft_slug":"triggervolumes","_minecraft_project_id":"dPc5IzRs","_minecraft_author":"zfzfg","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":32,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"triggervolumes.zip","_minecraft_size_bytes":118623,"_minecraft_version_count":2,"_minecraft_updated_at":"2026-05-15T22:06:26.455556Z","_minecraft_date_created":"2025-12-19T09:58:49.261589Z","_minecraft_date_modified":"2025-12-07T12:41:47.988438Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/triggervolumes","_minecraft_icon_attachment_id":159872,"_minecraft_imported_at":"2026-06-09T14:36:52+00:00","_minecraft_import_hash":"2f6a2305bbc97532c120d696218f582b","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,89,122,866,127,128,129,869,92],"mod_loader":[130,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-159871","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-game-mechanics","mod_category-magic","mod_category-minigame","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-transportation","mod_category-utility","mod_loader-bukkit","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>TriggerVolumes - 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\/triggervolumes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TriggerVolumes - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Spigot\/Paper plugin for defining 3D trigger volumes with automated actions on player entry and exit!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\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=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/\",\"name\":\"TriggerVolumes - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/triggervolumes-icon-cd59c66599591c2cb704a0e4c3ea8debdb819582_96.webp\",\"datePublished\":\"2026-06-09T14:36:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/triggervolumes-icon-cd59c66599591c2cb704a0e4c3ea8debdb819582_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/triggervolumes-icon-cd59c66599591c2cb704a0e4c3ea8debdb819582_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/triggervolumes\\\/#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\":\"TriggerVolumes\"}]},{\"@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":"TriggerVolumes - 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\/triggervolumes\/","og_locale":"en_US","og_type":"article","og_title":"TriggerVolumes - Minecraft","og_description":"A Spigot\/Paper plugin for defining 3D trigger volumes with automated actions on player entry and exit!","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/","name":"TriggerVolumes - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/triggervolumes-icon-cd59c66599591c2cb704a0e4c3ea8debdb819582_96.webp","datePublished":"2026-06-09T14:36:52+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/triggervolumes-icon-cd59c66599591c2cb704a0e4c3ea8debdb819582_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/triggervolumes-icon-cd59c66599591c2cb704a0e4c3ea8debdb819582_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/triggervolumes\/#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":"TriggerVolumes"}]},{"@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\/159871","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\/159872"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=159871"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=159871"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=159871"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=159871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}