WorldGuard Events icon

WorldGuard Events -----

Easy way to get per-player region entry/departure events.



Maven dependency
This plugin is located in the Maven Central repository, so you simply need to add it as dependency.

Code (HTML5):

<dependency>
    <groupId>net.raidstone </groupId>
    <artifactId>WorldGuardEvents </artifactId>
    <version>1.18.1 </version>
    <scope>provided </scope>
</dependency>
 
Usage example
Code (Java):

import net.raidstone.wgevents.WorldGuardEvents ;
import net.raidstone.wgevents.events.RegionEnteredEvent ;
import net.raidstone.wgevents.events.RegionsLeftEvent ;
import org.bukkit.Bukkit ;
import org.bukkit.entity.Player ;
import org.bukkit.event.EventHandler ;
import org.bukkit.event.Listener ;
import org.bukkit.plugin.java.JavaPlugin ;
import java.util.Set ;

public class TestPLugin extends JavaPlugin implements Listener {
    @Override
    public void onEnable ( ) {
        Bukkit. getPluginManager ( ). registerEvents ( this, this ) ;
 
        // On plugin activation, send a message to players that are located in a jail.
        for (Player p : Bukkit. getOnlinePlayers ( ) )
        {
            if (WorldGuardEvents. isPlayerInAnyRegion (p. getUniqueId ( ), "jail", "cell" ) )
            {
                p. sendMessage ( "You are in jail ! Did you do something bad ?" ) ;
            }
        }
    }

   @EventHandler
    public void onRegionEntered (RegionEnteredEvent event )
    {
        // Send a message to a player that's entering a jail.
       Player player = Bukkit. getPlayer (event. getUUID ( ) ) ;
        if (player == null ) return ;
 
        String regionName = event. getRegionName ( ) ;
        if (regionName. equalsIgnoreCase ( "jail" ) )
        {
           player. sendMessage ( "You are now in jail !" ) ;
        }
    }

   @EventHandler
    public void onRegionsLeft (RegionsLeftEvent event )
    {
        // Prevent an user from leaving a jail.
       Player player = Bukkit. getPlayer (event. getUUID ( ) ) ;
        if (player == null ) return ;
 
       Set <String > regionsNames = event. getRegionsNames ( ) ;
 
        if (regionsNames. contains ( "jail" ) || regionsNames. contains ( "cell" ) )
        {
           player. sendMessage ( "You are in jail, you can't escape !" ) ;
           event. setCancelled ( true ) ;
        }
    }
}
 
Be aware that those region names are case insensitive, just like WorldGuard, and that they are checked for the world the player is currently in.
Resource Information
Author:
----------
Total Downloads: 15,980
First Release: Feb 24, 2019
Last Update: Feb 6, 2022
Category: ---------------
All-Time Rating:
13 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings