服务器使用量
未统计
服务玩家数
未统计
下载量
7,197
插件详细介绍
FactionsBlue 旨在提供一种不同的领地玩法,更加贴近生存模式。它不再基于玩家力量值来限制领地数量,而是改为可配置的初始领地数,并随时间推移逐渐增加。
核心特性
- 领地系统:创建派系时获得可配置的初始领地数,并随时间推移逐渐增加。
- 力量系统:每位成员贡献可配置的力量值,派系总力量有上限。力量低于特定百分比时,派系将进入“脆弱”状态。
- 模块化权限:可完全禁用传送功能,并精细控制各成员角色的权限。
- 高度可配置:领地地图颜色、聊天格式、权限等均可通过配置文件调整。
- 扩展支持:支持 PlaceholderAPI 和 MVdWPlaceholderAPI,并提供完整的 API 供开发者使用。
命令列表
派系管理
/f create <名称>- 创建派系/f disband- 解散派系/f leader <玩家>- 转让领袖/f info [派系/玩家]- 查看信息/f list- 列出所有派系/f top [update]- 显示派系排行榜
成员管理
/f invite <玩家> [revoke]- 邀请/撤销邀请玩家/f join <玩家/派系>- 加入派系/f leave- 离开派系/f kick <玩家>- 踢出成员/f roles- 查看角色/f setrole <玩家>- 设置成员角色
领地操作
/f claim [半径] [safezone/warzone]- 认领领地(认领安全区/战争区需管理员模式)/f autoclaim- 自动认领/f unclaim [all]- 放弃领地(或放弃所有)/f map [on/off]- 开关领地地图/f bypass- 进入管理员模式(绕过限制)
传送与家园
/f sethome- 设置派系家园/f home- 传送至派系家园/f setwarp <名称> [密码]- 设置派系传送点/f warp <名称> [密码]- 使用传送点/f warp list- 列出传送点/f delwarp <名称> [密码]- 删除传送点
其他命令
/f chat [public/ally/faction]- 切换聊天频道/f set <名称/描述> <内容>- 设置派系名称或描述/f reload- 重载配置和消息文件/f boost <claims/power> <派系> <数量>- 增加领地数或力量值(负数为减少)
领地认领
当派系创建时,它会获得一个可配置数量的领地。这些领地数量会随时间推移逐渐增加。
- 要认领战争区或安全区,你必须处于管理员模式(使用
/f bypass)。 - 使用命令
/f claim [半径] safezone/warzone来认领特定区域。
派系力量
- 派系中的每位成员都会贡献可配置的力量值,这些值相加即为总力量。
- 为防止力量值过高,可以设置总力量上限和派系成员上限。
- 如果总力量下降到可配置的百分比以下,派系将变得“脆弱”。
- 当派系处于脆弱状态时,所有建筑、破坏、打开箱子和门的限制都将被解除,但角色权限限制仍然有效。
- 派系的力量会随时间推移逐渐恢复。
常见配置
禁用传送功能
如果你不希望使用传送功能,可以完全禁用所有传送命令和相关的角色权限。
- 权限节点
factions.survival包含了所有常规权限,但不包含传送权限。 - 要移除插件中的特定角色权限,只需在
config.yml的disabledRolePermissions列表中添加该权限即可。
角色权限列表
以下是可以分配给成员角色或通过配置禁用的权限列表:
chatbuildbreakopendooropenchesthomesethomewarpmanagewarpsbypasspasswordkickinviteclaimunclaimallymanagerolesassignroleschangeinfo
合法的派系名称
你可以指定需要特殊权限才能使用的派系名称。一旦指定,玩家就需要拥有 factions.name.<名称> 权限才能使用该名称。这可以用来黑名单某些名称,或为特定玩家保留名称。
领地地图颜色
/f map 命令显示的地图颜色可以在 config.yml 中进行配置!
权限节点
权限采用层级结构,主要节点如下
factions.admin- 管理员权限- 包含
factions.top-update,factions.reload,factions.boost,factions.bypass,factions.player factions.player- 所有玩家权限- 包含
factions.survival,factions.use-warp,factions.set-warp,factions.del-warp,factions.use-home,factions.set-home factions.survival- 无传送功能的生存权限- 包含
factions.create,factions.list,factions.claim,factions.auto-claim,factions.radius-claim,factions.unclaim,factions.unclaim-all,factions.ally,factions.info,factions.map,factions.auto-map,factions.top
其他独立权限节点如 factions.claim、factions.use-home 等,均有对应的描述,可在权限配置中查看。
占位符与聊天格式
MVdWPlaceholderAPI 支持
可用占位符
{faction_name}- 派系名称{faction_power}- 派系当前力量{faction_max_power}- 派系最大力量{faction_max_claims}- 派系最大领地数{faction_status}- 派系状态(stable/vulnerable){faction_role}- 成员角色(若无则为 N/A)
PlaceholderAPI 支持
可用占位符
%factionsblue_faction_name%- 派系名称%factionsblue_faction_power%- 派系当前力量%factionsblue_faction_maxpower%- 派系最大力量%factionsblue_faction_maxclaims%- 派系最大领地数%factionsblue_faction_status%- 派系状态(stable/vulnerable)%factionsblue_faction_role%- 成员角色(若无则为 N/A)
聊天格式
你可以在任何聊天格式化插件中使用 FactionsBlue 的占位符。可用占位符包括:
{FACTION_NAME}{FACTION_ROLE_SYMBOL}{FACTION_ROLE_TAG}
FactionsBlue 的默认聊天格式可以在配置中启用,并在 messages.yml 中进行修改。
开发者 API
基础用法示例
检查玩家是否在自己的领地内
public boolean isInOwnTerritory(Player player) {
FPlayer fPlayer = FactionsApi.getFPlayer(player);
if (!fPlayer.hasFaction()) return false;
Faction faction = fPlayer.getFaction();
Claim claim = new Claim(player.getLocation());
Faction claimOwner = FactionsApi.getOwner(claim);
return faction.equals(claimOwner);
}设置与获取派系属性
Faction faction = fPlayer.getFaction();
// 检查属性
faction.getProperties().containsKey("example");
// 设置属性
faction.getProperties().setBoolean("example", false);
faction.getProperties().setDouble("example2", 45.03);
faction.getProperties().setInt("example3", 500);
// 获取属性
boolean example = faction.getProperties().getBoolean("example");创建子命令
public class CmdExample extends SubCommand {
public CmdExample() {
super("example", "description", "alias");
setRequiresFaction(true);
setPermission("permission.node");
setRolePermission("example");
// setLeaderCommand(true);
setArgument(0, new Argument("example", boolean isRequired, String.class, "permission.node"));
}
@Override
public void onCommand(Player player, FPlayer fPlayer, String[] args) {
Messages.send(player, "hello!");
}
}注册命令
FactionsApi.addSubCommand(new CmdExample(), pageNumber);Maven 依赖
<dependency>
<groupId>me.zysea</groupId>
<artifactId>FactionsBlue</artifactId>
<version>1.0.0-BETA</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/FactionsBlue-1.0.0-BETA.jar</systemPath>
</dependency>事件列表
FactionDisbandEventAsyncFactionMaxClaimsIncreaseEventAsyncFactionPowerRegenerateEventFactionVulnerableEventFPlayerFriendlyDamagePreventEventFPlayerTerritoryChangeEventFPlayerClaimEvent
附加组件
- TNTFill:一个为 FactionsBlue 制作的附加组件。
- 链接:https://www.spigotmc.org/resources/tntfill.25651/
如果你为 FactionsBlue 制作了附加组件,请联系作者,他会将你的资源添加到列表中。
开发计划
- 所有者专属领地
- 改进的聊天格式
- 可自定义的 GUI
- 改进的派系排行榜
- 派系决斗
欢迎提出建议!
测试支持版本
版本分布
基本信息
插件名称
Factions Blue
作者
ZYSEA
平台
Bukkit / Spigot
支持版本
1.7 - 1.14
点赞数
7
最近版本
暂无数据
-