BetterChair

BetterChair - 随处可坐

坐在几乎所有东西上
Bukkit / Spigot 作者 Kurfat 支持版本 1.14 - 1.19
服务器使用量
未统计
服务玩家数
未统计
下载量
34,042
插件详细介绍

本插件允许玩家右键点击方块坐下休息。未经许可,不得发布或修改本程序,通常也禁止用于商业用途。

版本兼容性

  • 版本 1.11.0:适用于 Minecraft 1.17 至 1.19。
  • 版本 1.7.1:适用于 Minecraft 1.14 至 1.16。

使用方法

  • 手持空手,右键点击一个方块即可坐在上面。
  • 使用条件:你与方块的距离不能超过 2 格,且必须站在地面上。
  • 椅子会在以下情况被破坏:你受到伤害,或该方块被移动。
  • 此功能默认可被 WorldGuard 区域标志阻止。

支持的方块类型

插件能识别所有有意义的方块,并为每位玩家永久存储开启/关闭状态。共有 8 种类型:

  • 普通方块 (超过 270 种)
  • 地毯
  • 楼梯
  • 台阶
  • 雪层

命令

  • /chair - 主命令。

配置示例

以下为 JSON 格式的配置示例,用于测试和设置:

{
"global": {
"SLAP": true,
"CARPET": true,
"STAIR": true,
"BED": true,
"SNOW": true,
"BLOCK": true
},
"message": "Chairs used: %value%"
}

WorldGuard 标志支持

默认标志支持

插件支持以下默认的 WorldGuard 标志来限制坐下的行为:

  • pvp
  • mob-damage
  • build

自定义标志支持

插件还提供了针对特定椅子类型的自定义 WorldGuard 标志:

  • chair-stair
  • chair-slap
  • chair-bed
  • chair-snow
  • chair-carpet
  • chair-block

Create Chair API 是一个用于在 Minecraft 服务器中创建和管理“椅子”的开发者接口。它允许开发者通过简单的代码调用,让玩家坐在各种方块上,并提供了丰富的事件来监听和自定义椅子相关的行为。

核心功能

  • 支持多种方块类型作为椅子,包括床、普通方块、地毯、告示牌、雪和楼梯。
  • 提供完整的事件系统,允许开发者监听椅子的创建、玩家入座/离座以及实体旋转等行为。
  • 易于集成的 API,方便其他插件扩展自定义的椅子逻辑。

API 使用示例

创建椅子

你可以使用 BetterChair.createChair 方法来为玩家创建一个椅子实例。

IChair chair = BetterChair.createChair(player, block);
if (chair instanceof BedChair) {
    BedChair bed = (BedChair) chair;
    // 你的代码
} else if (chair instanceof BlockChair) {
    BlockChair block = (BlockChair) chair;
    // 你的代码
} else if (chair instanceof CarpetChair) {
    CarpetChair carpet = (CarpetChair) chair;
    // 你的代码
} else if (chair instanceof SlapChair) {
    SlapChair slap = (SlapChair) chair;
    // 你的代码
} else if (chair instanceof SnowChair) {
    SnowChair snow = (SnowChair) chair;
    // 你的代码
} else if (chair instanceof StairChair) {
    StairChair stair = (StairChair) chair;
    // 你的代码
}

自定义事件

PlayerChairSwitchEvent

当玩家入座或离开椅子时触发此事件。

@EventHandler
public void onPlayerChairSwitch(PlayerChairSwitchEvent event) {
    Player player = event.getPlayer();
    IChair chair = event.getChair();
    boolean enable = event.isEnable(); // true 为入座,false 为离座

    if (chair instanceof BedChair) {
        BedChair bed = (BedChair) chair;
        // 你的代码
    } else if (chair instanceof BlockChair) {
        BlockChair block = (BlockChair) chair;
        // 你的代码
    }
    // ... 其他椅子类型判断
}

PlayerChairCreateEvent

当椅子被创建时触发此事件。你可以在此取消椅子的创建。

@EventHandler
public void onPlayerChairCreate(PlayerChairCreateEvent event) {
    IChair chair = event.getChair();
    // 例如:禁止创建 SLAP 类型的椅子
    if (chair.getType() == ChairType.SLAP) return;
    event.setCancelled(true);
    // 你的代码
}

EntityPassengerRotateEvent

当坐在椅子上的实体(玩家)旋转时触发此事件。

@EventHandler
public void onEntityPassengerRotate(EntityPassengerRotateEvent event) {
    Entity entity = event.getEntity();
    EntityType entityType = event.getEntityType();
    Location from = event.getOldLocation();
    Location to = event.getNewLocation();
    // 你的代码
}

注意事项

  • 使用 API 前,请确保你的插件已正确依赖 BetterChair 插件。
  • 事件处理中的 // YOUR STAFF 部分需要开发者根据实际需求填充具体逻辑。
  • 通过 event.setCancelled(true) 可以阻止事件的默认行为(如阻止椅子创建)。
测试支持版本
1.14 1.15 1.16 1.17 1.18 1.19
版本分布
基本信息
插件名称 BetterChair
作者 Kurfat
平台 Bukkit / Spigot
支持版本 1.14 - 1.19
点赞数 9
Modrinth 下载 15,340
最近版本
暂无数据 -

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

历史访问人数:2,651,976  |  历史访问人次:3,215,152

今日访问人数:27,506  |  今日访问人次:32,511

昨日访问人数:46,463  |  昨日访问人次:52,262

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

Powered by GermMC 京ICP备17023959号-6