McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
WorldGuard Events

WorldGuard Events - 区域进出事件

轻松获取每位玩家的区域进入/离开事件。
Bukkit / Spigot 作者 Weby 支持版本 1.15 - 1.18
服务器使用量
未统计
服务玩家数
未统计
下载量
16,295
插件详细介绍

WorldGuard Events 插件说明

本插件主要为服务器管理员提供支持,当其他插件依赖它时,只需将 JAR 文件放入服务器的 plugins 文件夹,重载服务器即可完成安装。它本身不提供独立功能,仅在作为其他插件的前置时发挥作用。

安装与要求

前置依赖

  • 必须安装最新版本的 WorldEdit
  • 必须安装最新版本的 WorldGuard

版本与兼容性

  • 本插件已使用 EngineHub 上提供的开发版本进行测试。
  • 不兼容说明:本插件目前支持 FastAsyncWorldEdit,未来也不会支持。使用它可能导致未知问题,请自行承担风险。

开发者指南

事件列表

本插件提供以下事件,均在玩家移动进入新的区域集合时按顺序触发:

  • RegionsChangedEvent
  • RegionsEnteredEvent
  • RegionsLeftEvent
  • RegionEnteredEvent
  • RegionLeftEvent

事件使用说明

  • 事件名称已明确表达其用途,开发者可根据需要选择使用。
  • 返回单个 ProtectedRegion 的事件与返回 ProtectedRegion 集合的事件会同时触发,便于处理重叠或相邻的多个区域。
  • 重要:取消任何一个事件都将阻止玩家的此次移动。

API 功能

自插件版本 1.15.2 起,提供了一个简易 API,用于从 WorldGuard 获取玩家基本信息(均通过玩家 UUID 查询):

  • getRegions
  • getRegionNames
  • isPlayerInRegion
  • isPlayerInAnyRegion
  • isPlayerInAllRegions

详细用法请参阅 官方文档

注意事项与支持

用户反馈

  • 如果您喜欢这个插件,请为其评分,以帮助更多人发现它。
  • 请勿仅因插件“看似未更新”而给予差评。如果没有需要修复的问题,插件将保持稳定,无需频繁更新。

问题与建议

  • 请使用 GitHub 项目页面 报告错误或提交功能请求。

WorldGuardEvents 是一个用于监听玩家进出 WorldGuard 区域的 Bukkit 插件,它提供了简单易用的 API,让开发者可以轻松地为区域进出事件添加自定义逻辑。

Maven 依赖

此插件位于 Maven Central 仓库,您只需将其添加为依赖即可。

<dependency>
    <groupId>net.raidstone</groupId>
    <artifactId>WorldGuardEvents</artifactId>
    <version>1.18.1</version>
    <scope>provided</scope>
</dependency>

使用示例

以下是一个完整的插件示例,展示了如何监听区域事件并进行处理。

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);
        // 插件启用时,向所有位于“监狱”区域内的在线玩家发送消息
        for (Player p : Bukkit.getOnlinePlayers()) {
            if (WorldGuardEvents.isPlayerInAnyRegion(p.getUniqueId(), "jail", "cell")) {
                p.sendMessage("你正在坐牢!是不是干了什么坏事?");
            }
        }
    }

    @EventHandler
    public void onRegionEntered(RegionEnteredEvent event) {
        // 当玩家进入名为“jail”的区域时发送消息
        Player player = Bukkit.getPlayer(event.getUUID());
        if (player == null) return;

        String regionName = event.getRegionName();
        if (regionName.equalsIgnoreCase("jail")) {
            player.sendMessage("你现在入狱了!");
        }
    }

    @EventHandler
    public void onRegionsLeft(RegionsLeftEvent event) {
        // 阻止玩家离开名为“jail”或“cell”的区域
        Player player = Bukkit.getPlayer(event.getUUID());
        if (player == null) return;

        Set<String> regionsNames = event.getRegionsNames();
        if (regionsNames.contains("jail") || regionsNames.contains("cell")) {
            player.sendMessage("你正在坐牢,休想逃跑!");
            event.setCancelled(true); // 取消离开事件
        }
    }
}

重要说明

  • 区域名称的检查不区分大小写,这与 WorldGuard 的行为一致。
  • 所有区域检查都基于玩家当前所在的世界
  • isPlayerInAnyRegion 方法可以检查玩家是否处于参数列表中指定的任意一个区域内。
测试支持版本
1.15 1.16 1.17 1.18
版本分布
基本信息
插件名称 WorldGuard Events
作者 Weby
平台 Bukkit / Spigot
支持版本 1.15 - 1.18
点赞数 4
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人次:3,030,814  |  今日访问人次:14,942  |  昨日访问人次:11,147

独立 IP:5,154  |  最近24小时独立访客:7,271

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6