名副其实 发表于 2024-5-31 21:25:54

Thirst Bar — 渴死我了,端水来!

> 此为 的一部分,点击链接可了解更多。

<center>

*想要提交漏洞,提交建议或者讨论新点子吗?*

*请点击图片加入我们的 Discord 聊天群组!*

</center>

[!(data/attachment/forum/202405/31/204644f81i0ee2skv0iin0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image1.png")](https://discord.gg/eVhprxqC7G)

!(data/attachment/forum/202405/31/204749uzv9zzmzi00ag9ww.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image2.png")

你在给服务器找些新脑洞吗?想要在饱食度以外的地方加点料吗?

!(data/attachment/forum/202405/31/204821tczxc1rcokbcxbdo.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image3.png")
本插件为你带来了口渴机制及其相关的内容,能很好地和饱食度搭配。

这能让服务器更加生动有趣、和谐友爱(笑)!

**支持插件:**

- PlaceholderAPI
- WorldGuard

## 插件特色

* 加入了口渴值,单位与饥饿值相同,可以在 BossBar 和 ActionBar 中显示。
* * 还可以在饥饿条上方显示,不会与氧气条冲突!
* 口渴度可以显示为整数或者实数。
* 配置文本允许自定义玩家的初始口渴度上限,也可以后期增加。例如,玩家 A 默认有 100 点口渴上限,但通过权限或命令可以提升至 200 点。
* 口渴值会随时间下降,比率大致为 X/Y(X 为每 Y 刻减少的口渴度),可在配置文件中修改。
* * 需要注意的是,Y 越大,插件对性能的占用越大。
* 玩家可以通过吃或喝(自定义物品)来恢复口渴值。这些物品既可以是原版物品、带有自定义名称或描述的物品,也可以是带有自定义模型数据或材质的物品。
* * 蹲下右键空气或水源方块,玩家甚至可以喝雨水或生水。但生水不一定是干净的!管理员可以通过配置文件修改喝生水带来的负面效果。

!(data/attachment/forum/202405/31/205126jsyy16aa277ai7ty.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image4.gif")

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image5.gif)

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image6.gif)

* 在口渴度到达一定程度时,它在 BossBar 或 ActionBar 的显示颜色会发生变化。除此之外,玩家还会脱水(药水效果)。
* * *例如,在 100% 时,玩家口渴条为绿色且会获得速度 I,而在 25% 时会显示为红色,且玩家会获得缓慢 I。插件允许你修改 ActionBar/BossBar 的显示内容,并添加诸如 、、 或 [玩家名称]/ - 这些动作会在玩家口渴低于一定值时触发*

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image7.gif)

* 在指定世界(配置文本中的 DisabledWorld 选项)或区域(WorldGuard 标志)中禁用口渴度。我们还可以通过修改每个世界/区域中的口渴速度防止口渴度减少。

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image8.gif)

* 管理员还可以自定义禁用口渴度的模式,例如创造、旁观模式...

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image9.gif)

* 从河里直接装瓶的水会被视作生水。你可能需要在饮用或者用于炼药之前先将它烧开。

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image10.gif)

!(https://raw.kkgithub.com/SnowCutieOwO/Continue/main/plugin-posts/thirstbar/images/image10.gif)

## 命令列表

* /tb reload:重载插件。
* /refresh [玩家名称]:刷新玩家数据。
* /refreshall:刷新所有玩家的数据。
* /tb set <口渴值> [玩家名称]:将玩家口渴度设置为指定值。
* /tb restore <口渴值> [玩家名称]:为玩家恢复一定口渴度。
* /tb reduce <口渴值> [玩家名称]:减少玩家一定口渴度。
* /tb max set <口渴值> [玩家名称]:为玩家设置口渴度上限。
* /tb reset:将所有玩家的最大口渴度重置为默认值。
* /tb disable [玩家名称]:禁用指定玩家的口渴度。
* /tb disableall:禁用所有玩家的口渴度。
* /tb stage <状态> [玩家名称]:将玩家设置为指定的口渴状态。
* /tb stageall <状态>:将所有玩家设置为指定的口渴状态。
* /tb item save <名称> <口渴值>:保存回复口渴度的自定义物品。
* /tb item give <名称> [玩家名称]:将自定义物品给予玩家。

## 权限列表

* thirstbar.help:使用 /tb [页码] & /tb help [页码] 命令的权限。
* thirstbar.reload:使用 /tb reload 命令的权限。
* thirstbar.refresh:对自己使用 /tb refresh 命令的权限。
* thirstbar.refresh.other:对包括自己在内的任何玩家无冷却使用 the /tb refresh 命令的权限。
* thirstbar.refreshall:使用 /tb refreshall 命令的权限。
* thirstbar.set.current:使用/tb set 命令的权限。
* thirstbar.add:使用 /tb add 命令的权限。
* thirstbar.reduce:使用 /tb reduce 命令的权限。
* thirstbar.set.max:使用 /tb max set 命令的权限。
* thirstbar.reset:使用 /tb reset 命令的权限 。
* thirstbar.disable:使用 /tb disable 命令的权限。
* thirstbar.disableall:使用 /tb disableall 命令的权限。
* thirstbar.stage:使用 /tb stage 命令的权限 。
* thirstbar.stageall:使用 /tb stageall 命令的权限。
* thirstbar.item.save:使用 /tb item save 命令的权限。
* thirstbar.item.give:使用 /tb item give 命令的权限。

## 变量

* %thirstbar_current_int%:当前口渴度(整数)。
* %thirstbar_current_float%:当前口渴度(小数)。
* %thirstbar_max_int%:口渴度上限(整数)。
* %thirstbar_max_float%:口渴度上限(小数)。
* %thirstbar_reduceValue_int%:玩家口渴度减缓量(整数)。
* %thirstbar_reduceTime_int%:玩家口渴度减缓间隔(整数)。
* %thirstbar_reduceValue_float%:玩家口渴度减缓量(小数)。
* %thirstbar_reduceTime_float%:玩家口渴度减缓间隔(小数)。
* %thirstbar_reducePerSec_int%:玩家每秒损失的口渴度(整数)。
* %thirstbar_reducePerSec_float%:玩家每秒损失的口渴度(小数)。
* %thirstbar_isDisabled%:玩家是否启用了口渴机制。

## 配置文件

<details>

<summary>config.yml</summary>

```YAML

Sql:

Enable: false

Host: 'localhost'

Port: '3306'

Username: 'root'

Password: '123456'

Database: 'ThirstBar'

StopDrinking: true # 阻止玩家在不口渴的时候喝水

CustomActionBar: false

Thirsty:

Max: 100

Reduce: 1

Time: 100 # 单位为刻 (20 刻 = 1 秒)

Damage: 1.5 # 在口渴度为 0 时每单位时间损失 1.5 生命值

CooldownRefresh: 5 # 单位为秒

DisabledGamemode:

- "CREATIVE"

- "SPECTATOR"

DisabledWorlds:

- "world_nether"

DrinkingRawWater:

Enable: true

Delay: 10 # 单位为刻

Value: 5 # 增加口渴度的值

Reduce: 50

# 口渴速度会提升 50%

Duration: 100 # 单位为刻

TitleActionBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &f-&c 饮用生水"

TitleBossBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &f-&c 饮用生水"

Color: BLUE

Style: SEGMENTED_10

Effects:

    - "SLOW:1"

Actions:

    - " &c你在喝生水!"

    - " ENTITY_GENERIC_DRINK"

    # 可以将注释符号去掉.

    # - " &c小心"

    # - " &c你喝的是生水!"

    # - " help"

    # - " msg <player> 你在喝生水!."

DrinkingRain:

Enable: true

Delay: 10

Value: 5

Reduce: 50

Duration: 100

TitleActionBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &f-&c 雨水"

TitleBossBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &f-&c 雨水"

Color: BLUE

Style: SEGMENTED_10

Effects:

    - "SLOW:1"

Actions:

    - " &c你在喝雨水!"

    - " ENTITY_GENERIC_DRINK"

    # You can uncomment if you want.

    # - " &c小心"

    # - " &c你在喝雨水!"

    # - " BLOCK_ANVIL_BREAK"

    # - " help"

    # - " msg <player> 你在喝雨水!."

ReplaceHunger: false

# 若启用, 玩家的饥饿条上会出现口渴条.

BossBar:

Enable: true

Title: "&a<value>&f/&b<max> &f- <reduce>/<time>s"

DisableTitle: "&a<value>&f/&b<max> &f- <reduce>/<time>s - &4禁用"

Color: BLUE # BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW

Style: SEGMENTED_10 # SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20

ActionBar:

Enable: true

Title: "&a<value>&f/&b<max> &f- <reduce>/<time>s"

DisableTitle: "&a<value>&f/&b<max> &f- <reduce>/<time>s - &4禁用"

Materials:

- "APPLE:20"

- "POTATO:20%"

- "POTION:30"

- "GOLDEN_APPLE:50"

- "MILK_BUCKET:75%"

RawPotion:

Name: "&c脏水瓶"

Lore:

    - "&f- 这喝了会生病的."

    - "&e&o得烧开."

```

</details>

<details>

<summary>messages.yml</summary>

```YAML

SetItemSuccess: "&e成功设置物品."

Refresh: "&e你的状态已被刷新."

RefreshOther: "&e<player> 的状态已被成功刷新."

RefreshAll: "&e所有玩家的状态已被刷新."

Set: "&e你的口渴度已被设置为 <value> 点."

SetOther: "&e玩家 <player> 的口渴度已被设置为 <value> 点."

Restore: "&e你恢复了 <value> 点口渴度."

RestoreOther: "&e玩家 <player> 恢复了 <value> 点口渴度."

Reduce: "&e你的口渴度减少了 <value> 点."

ReduceOther: "&e玩家 <player> 的口渴度减少了 <value> 点."

Load: "&e你获得了 <item>."

LoadOther: "&e玩家 <player> 获得了 <item>."

Disable: "&e你的口渴功能已被禁用."

DisableOther: "&e玩家 <player> 的口渴功能已被禁用."

Enable: "&e你的口渴功能已启用."

EnableOther: "&e玩家 <player> 的口渴功能已被启用."

DisableAll: "&e所有玩家的口渴度已被禁用."

SetMax: "&e你的口渴度上限已被设置为 <value> 点."

SetMaxOther: "&e玩家 <player> 的口渴度上限已被设置为 <value>."

SetStage: "&e你的状态已被设置为 <stage>."

SetStageOther: "&e玩家 <player> 的状态已被设置为 <value>."

SetStageAll: "&e所有玩家的状态已被设置为 <value>."

Reload: "&e重载成功."

Reset: "&e重置成功."

CommandNotExist: "&c命令不存在."

ItemNotFound: "&c物品不存在."

StageNotFound: "&c状态不存在."

PlayerNotFound: "&c玩家不在线."

NeedItemInHand: "&c你的手上是空的."

WaitingRefresh: "&c你需要等待 <time> 秒后才可以再次使用这个功能."

ErrorFormat: "&c你输入的格式不正确."

OnlyPlayerUseCommand: "&c只有玩家才可以执行这个命令."

DontHavePermission: "&c你没有这么做的权限."

```

</details>

<details>

<summary>stages.yml</summary>

```YAML

Stage1:

Range: "40:20"

Reduce: 50 # 该状态下口渴速度会比正常快 50%

TitleActionBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &c- 状态 1"

TitleBossBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &c- 状态 1"

Color: YELLOW

Style: SEGMENTED_10

Effects:

    - "SLOW:1"

Actions:

    - " &6你开始觉得口渴"

    - " &f找些水喝喝吧"

    # 你也可以在这下面添加其他动作:

    # - " BLOCK_ANVIL_BREAK"

    # - " &e你开始觉得渴了."

    # - " idk"

    # - " msg <player> 管理员提醒你记得喝水"

    # - " give <player> milk_bucket"

Stage2:

Range: "19:0"

Reduce: 100

TitleActionBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &c- 状态 2"

TitleBossBar: "&a<value>&f/&b<max> &f- <reduce>/<time>s &c- 状态 2"

Color: RED

Style: SEGMENTED_10

Effects:

    - "SLOW:2"

    - "NAUSEA:1"

    - "WEAKNESS:1"

Actions:

    - " &c急需水源"

    - " &f再不喝就渴死了"

```

</details>

MRTangwin8 发表于 2024-5-31 21:43:09

图挂了一些
页: [1]
查看完整版本: Thirst Bar — 渴死我了,端水来!