点赞#
点赞让玩家可以对其他岛屿进行点赞、点踩或评星。
由BONNe创建和维护。
安装#
- 安装BentoBox并至少运行一次服务器以创建其数据文件夹。
- 将这个jar文件放入BentoBox插件的addons文件夹中。
- 重启服务器。
- 插件将创建一个数据文件夹,并且文件夹内将有一个config.yml文件。
- 停止服务器。
- 按你想要的方式编辑config.yml文件。
- 重启服务器。
配置#
主要的config.yml文件包含有关游戏模式插件设置的基本信息。
panels允许自定义一些用户可访问的面板。
config.yml#
插件成功安装后,它将创建config.yml文件。这个文件中的每个选项都附有注释。请检查文件以获取更多信息。 你可以在这里找到最新的配置文件:config.yml
一些配置选项可以通过游戏中的管理GUI进行更改。然而,有些选项不能更改。
最重要的配置选项是模式:
点赞模式
mode: 允许改变插件工作的模式
- LIKES - 只允许对岛屿添加点赞。
- LIKES_DISLIKES - 允许对岛屿添加点赞和点踩。
- STARS - 允许对岛屿添加星级评分。
你一次只能使用一种模式。
可自定义的GUI#
BentoBox 1.17 API引入了一个功能,允许实现可自定义的GUI。这个插件是第一个使用这个功能的插件之一。我们试图尽可能简单地进行自定义,然而,一些功能需要解释。 你可以在这里找到更多关于BentoBox自定义GUI如何工作的信息:自定义GUI
如何自定义GUI
要自定义插件GUI,你需要拥有2.2版本。这是第一个实现它们的版本。插件将在/plugins/BentoBox/addons/Likes下创建一个名为panels的新目录
目前你可以自定义3个GUI:
- 查看面板:
view_panels- 允许查看给玩家岛屿点赞的面板。 - 排行面板:
top_panel- 包含按某种值排名的顶尖岛屿的面板。 - 管理面板:
manage_panels- 允许添加点赞/点踩或星级的面板。
查看和管理面板包含每种模式的3个不同面板。
命令#
小贴士
[player_command] 和 [admin_command] 是根据你运行的游戏模式而不同的命令。 游戏模式的config.yml文件包含允许你修改这些值的选项。 例如,在BSkyBlock上,默认的[player_command]是island,默认的[admin_command]是bsbadmin。
/[player_command] likes:打开添加/删除点赞、点踩或星级的GUI。/[player_command] likes top:打开显示点赞、点踩或星级排名前的岛屿的GUI。/[player_command] likes view <player>:打开显示谁给岛屿添加了点赞或星级的GUI。
/[admin_command] likes:打开管理员GUI。/[admin_command] likes settings:打开管理员设置GUI。
权限#
小贴士
[gamemode] 是一个根据你运行的游戏模式而不同的前缀。 前缀是游戏模式的小写名称,即如果你使用BSkyBlock,前缀是bskyblock。 类似地,如果你使用AcidIsland,前缀是acidisland。
[gamemode].likes- (默认:true) - 允许玩家使用/[player_command] likes命令。[gamemode].likes.top- (默认:true) - 允许玩家使用/[player_command] likes top命令。[gamemode].likes.view- (默认:true) - 允许玩家使用/[player_command] likes top命令。[gamemode].likes.icon.[MATERIAL]- (默认:false) - 允许在Top GUIs中更改岛屿所有者的图标。
[gamemode].likes.view.others- (默认:op) - 允许玩家使用/[player_command] likes view <player>命令。[gamemode].likes.bypass-cost- (默认:op) - 允许绕过插件操作的成本。[gamemode].likes.admin- (默认:op) - 允许使用/[admin_command] likes命令。[gamemode].likes.admin.settings- (默认:op) - 允许使用/[admin_command] likes settings命令。
缺少什么?
你可以在这个插件的addon.yml文件中找到权限的综合列表。
如果下面的列表确实缺少了什么,请告诉我们!
占位符#
提示
[gamemode] 是一个前缀,根据你运行的游戏模式而有所不同。
前缀是游戏模式名称的小写形式,即如果你正在使用 BSkyBlock,前缀则为 bskyblock。
每个游戏模式正确翻译的占位符可以在以下位置找到:
请阅读主要的占位符页面.
| Placeholder | Description | Likes version |
|---|---|---|
%[gamemode]_likes_addon_island_likes_count% | Count of likes that are set to player island | 1.7.0 |
%[gamemode]_likes_addon_island_likes_place% | Island place by likes count | 1.7.0 |
%[gamemode]_likes_addon_island_dislikes_count% | Count of dislikes that are set to player island | 1.7.0 |
%[gamemode]_likes_addon_island_dislikes_place% | Island place by dislikes count | 1.7.0 |
%[gamemode]_likes_addon_island_rank_count% | Rank number (likes - dislikes) that are set to player island | 1.7.0 |
%[gamemode]_likes_addon_island_rank_place% | Island place by rank | 1.7.0 |
%[gamemode]_likes_addon_island_stars_value% | Average stars added to player island | 2.0.0 |
%[gamemode]_likes_addon_island_stars_place% | Island place by stars | 2.0.0 |
%[gamemode]_likes_addon_visited_island_likes_count% | Count of likes that are set to island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_likes_place% | Island place by likes count for island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_dislikes_count% | Count of dislikes that are set to island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_dislikes_place% | Island place by dislikes count for island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_rank_count% | Rank number (likes - dislikes) that are set to island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_rank_place% | Island place by rank for island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_stars_value% | Average stars added to island at player location | 2.1.0 |
%[gamemode]_likes_addon_visited_island_stars_place% | Island place by stars for island at player location | 2.1.0 |
%[gamemode]_likes_addon_top_likes_owner_name_#rank#% | Island owner name who are in place #rank# by likes | 1.7.0 |
%[gamemode]_likes_addon_top_likes_island_name_#rank#% | Island name which are in place #rank# by likes | 1.7.0 |
%[gamemode]_likes_addon_top_likes_count_#rank#% | Count of likes for island that are in place #rank# by likes | 1.7.0 |
%[gamemode]_likes_addon_top_dislikes_owner_name_#rank#% | Island owner name who are in place #rank# by dislikes | 1.7.0 |
%[gamemode]_likes_addon_top_dislikes_island_name_#rank#% | Island name which are in place #rank# by dislikes | 1.7.0 |
%[gamemode]_likes_addon_top_dislikes_count_#rank#% | Count of dislikes for island that are in place #rank# by dislikes | 1.7.0 |
%[gamemode]_likes_addon_top_rank_owner_name_#rank#% | Island owner name who are in place #rank# by rank | 1.7.0 |
%[gamemode]_likes_addon_top_rank_island_name_#rank#% | Island name which are in place #rank# by rank | 1.7.0 |
%[gamemode]_likes_addon_top_rank_count_#rank#% | Rank value for island that are in place #rank# by rank | 1.7.0 |
%[gamemode]_likes_addon_top_stars_owner_name_#rank#% | Island owner name who are in place #rank# by stars | 2.0.0 |
%[gamemode]_likes_addon_top_stars_island_name_#rank#% | Island name which are in place #rank# by stars | 2.0.0 |
%[gamemode]_likes_addon_top_stars_count_#rank#% | Average stars for island that are in place #rank# by stars | 2.0.0 |
常见问题解答#
你能添加功能X吗?
请在这里添加。
我可以禁用点踩吗?
是的,点赞插件支持3种工作模式:
- Likes: 只允许对岛屿添加点赞
- LikesDislikes: 允许添加点赞和点踩
- Stars: 允许使用1至5星评价玩家岛屿
我可以查看其他玩家的点赞吗?
是的,但你需要一个权限:[gamemode].likes.view.others。
拥有这个权限的玩家可以使用/[playercmd] likes view <player>来查看其他玩家的点赞。
我可以只为某些岛屿更改显示图标吗?
是的,这是可能的。
有两种方式:
- 使用管理员GUI,你可以为它选择岛屿和显示的方块。
- 给岛屿所有者添加权限:
[gamemode].likes.icon.[MATERIAL]
注意,PLAYER_HEAD将转换为岛屿所有者的头像。
翻译#
帮助我们保持翻译准确
现在 BentoBox 及其插件的大多数翻译已借助 AI 完成——大部分工作已经做好, 但 AI 并不完美。我们真正需要社区提供的是错误报告和纠正。
- 发现错误或措辞不当?请在 bentobox.world 的相关仓库(我们 GitHub 组织的短链接)上提交 issue 或 PR,或者在 Discord 上告知我们。
- 想要添加全新语言?请在相关仓库的
src/main/resources/locales/目录下 提交包含新语言文件的 PR,或在 Discord 上联系我们,我们会为你提供帮助。
| 语言 | 语言代码 | 进度 |
|---|---|---|
| 英语(美国) | en-US | 100%(默认) |
| 中文(中国) | zh-CN | 100% |
| 俄语 | ru | 100% |
| 波兰语 | pl | 100% |
| 西班牙语 | es | 100% |
| 越南语 | vi | 92% |
API#
自Likes 2.2.0和BentoBox 1.17版本起,其他插件可以直接访问Likes插件数据。
Maven 依赖#
Likes为其他插件提供了API。这涵盖了2.2.0及之后的版本。
注意
将Likes依赖添加到你的Maven POM.xml中:
<repositories>
<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.io/repository/bentoboxworld/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>world.bentobox</groupId>
<artifactId>likes</artifactId>
<version>2.2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
使用最新的Likes版本。
Likes的JavaDocs可以在这里找到。
事件#
变量
UUID user- 添加点赞的玩家的id。String islandId- 接收点赞的岛屿的id。
示例
@EventHandler(priority = EventPriority.MONITOR)
public void onLike(LikeAddEvent event) {
UUID user = event.getUser();
String islandId = event.getIslandId();
}
变量
UUID user- 移除点赞的玩家的id。String islandId- 失去点赞的岛屿的id。
示例
@EventHandler(priority = EventPriority.MONITOR)
public void onLikeRemove(LikeRemoveEvent event) {
UUID user = event.getUser();
String islandId = event.getIslandId();
}
变量
UUID user- 添加点踩的玩家的id。String islandId- 接收点踩的岛屿的id。
示例
@EventHandler(priority = EventPriority.MONITOR)
public void onDislike(DislikeAddEvent event) {
UUID user = event.getUser();
String islandId = event.getIslandId();
}
变量
UUID user- 移除点踩的玩家的id。String islandId- 失去点踩的岛屿的id。
示例
@EventHandler(priority = EventPriority.MONITOR)
public void onDislikeRemove(DislikeRemoveEvent event) {
UUID user = event.getUser();
String islandId = event.getIslandId();
}
变量
UUID user- 添加星级的玩家的id。String islandId- 接收星级的岛屿的id。int value- 添加的星级值(从1到5)
示例
@EventHandler(priority = EventPriority.MONITOR)
public void onStarsAdd(StarsAddEvent event) {
UUID user = event.getUser();
String islandId = event.getIslandId();
int value = event.getValue();
}
变量
UUID user- 添加星级的玩家的id。String islandId- 失去星级的岛屿的id。
示例
@EventHandler(priority = EventPriority.MONITOR)
public void onStarsRemove(StarsRemoveEvent event) {
UUID user = event.getUser();
String islandId = event.getIslandId();
}
插件请求处理器#
直到BentoBox 1.17版本,我们因为使用的类加载器问题导致无法访问BentoBox环境之外的数据。 这意味着数据只能从其他插件访问。但是BentoBox实现了PlAddon功能,这意味着不再需要请求处理器。
更多关于插件请求处理器的信息可以在这里找到。
描述
返回给定世界中岛屿存储的岛屿喜欢数据。
输入
world-name: 字符串 - 世界的名称。island: 字符串 - 岛屿的UUID。
输出
输出是一个Map<String, Object>,包含以下键:
likes: 长整型 - 给定岛屿设置的喜欢数量。dislikes: 长整型 - 给定岛屿设置的不喜欢数量。rank: 长整型 - 给定岛屿的排名。stars: 双精度 - 给定岛屿的平均星级值。placeByLikes: 整型 - 给定岛屿在喜欢排名中的位置。placeByDislikes: 整型 - 给定岛屿在不喜欢排名中的位置。placeByRank: 整型 - 给定岛屿在排名中的位置。placeByStars: 整型 - 给定岛屿在星级排名中的位置。likedBy: List- 喜欢给定岛屿的玩家UUID列表。 dislikedBy: List- 不喜欢给定岛屿的玩家UUID列表。 staredBy: Map- 以星级数量为玩家UUID点赞给定岛屿的映射。
失败
如果没有提供world-name,或者world-name不存在或不是游戏模式世界,或者没有提供岛屿,或者岛屿数据为空,此处理器将返回一个空映射。
代码示例
public Map<String, Object> getLikesData(String worldName, String islandUUID) {
return (Map<String, Object>) new AddonRequestBuilder()
.addon("Likes")
.label("island-likes")
.addMetaData("world-name", worldName)
.addMetaData("island", islandUUID)
.request();
}
描述
返回一个Map<String, Number>,包含给定排名中前10个岛屿UUID及其值。
输入
world-name: 字符串 - 世界的名称。type: 字符串 - 排名类型。支持:STARS, LIKES, DISLIKES, RANK。
输出
一个映射包含前10名岛屿的UUIDs,映射到其岛屿的顶级值。
失败
如果没有提供world-name,或者world-name不存在或不是游戏模式世界,或者提供的排名类型没有任何数据,此处理器将返回一个空映射。
代码示例
public Map<String, Number> getTopTenLikes(String worldName, String type) {
return (Map<String, Number>) new AddonRequestBuilder()
.addon("Likes")
.label("top-ten-likes")
.addMetaData("world-name", worldName)
.addMetaData("type", type)
.request();
}