2025-10-04 21:33:23 -07:00
2025-10-04 21:30:39 -07:00
2025-10-04 21:33:23 -07:00
2025-10-04 21:30:39 -07:00
2025-10-04 21:30:39 -07:00
2025-10-04 21:30:39 -07:00
2025-10-04 21:33:23 -07:00

RegionForcefield

A Minecraft plugin that renders visible particle forcefields around WorldGuard regions that players cannot enter.

Features

  • Automatically detects WorldGuard regions with entry deny flag
  • Renders particle forcefields only visible to players who cannot enter
  • Configurable particle color, size, spacing, and render distance
  • Supports cuboid and polygonal region types
  • Performance-optimized with distance-based rendering
  • Clean, readable, and well-documented code

Requirements

  • Paper 1.21.8 or higher
  • WorldGuard 7.0.14 or higher
  • Java 21

Installation

  1. Build the plugin:

    ./gradlew build
    
  2. Copy build/libs/RegionForcefield-1.0.0.jar to your server's plugins/ folder

  3. Restart your server

  4. Configure the plugin by editing plugins/RegionForcefield/config.yml

Usage

Once installed, the plugin automatically works with your existing WorldGuard regions:

  1. Create a WorldGuard region: /rg define myregion
  2. Set the entry flag to deny: /rg flag myregion entry deny
  3. Players who cannot enter the region will see a purple forcefield around it

Permissions

Players who are members or owners of a region can enter it even if entry is denied for others. These players will not see the forcefield.

Configuration

Edit plugins/RegionForcefield/config.yml:

# Update frequency (20 ticks = 1 second)
update-interval-ticks: 20

# Maximum render distance in blocks
max-render-distance: 100

# Spacing between particles
particle-spacing: 0.5

# Render walls or just edges
render-walls: true

# Particle color (RGB 0-255)
particle-color:
  red: 147
  green: 112
  blue: 219

# Particle size (0.5-2.0 recommended)
particle-size: 1.0

Performance Tips

  • Reduce max-render-distance for servers with many regions
  • Increase particle-spacing to reduce particle count
  • Set render-walls: false to only show edges
  • Increase update-interval-ticks if you don't need real-time updates

Building from Source

./gradlew build

The compiled JAR will be in build/libs/

License

This project is provided as-is for educational purposes.

Support

For issues or feature requests, please open an issue on the project repository.

Description
No description provided
Readme 125 KiB
Languages
Java 100%