家园领地保护

家园领地保护

玩家家园领地保护系统

方块

AvalonEssentials:终极 Hytale RPG 套件

AvalonEssentials 是一个完整的 RPG 框架,将领地声明、公会、地下城、高级 NPC、玩家商店和银行经济系统整合到一个无缝的高性能套装中。


安装

要将 AvalonEssentials 安装到您的 Hytale 服务器上,请解压发布版 ZIP 文件,并将其内容复制到服务器的 mods 文件夹:

  1. 解压发布包,其中包含:

    • AvalonEssentials.jar - 插件文件
    • AvalonEssentials - 配置文件夹
  2. 复制到服务器的 mods 文件夹:(下载资源

       mods/
       ├── AvalonEssentials.jar
       └── AvalonEssentials
           ├── manifest.json
           ├── player_shops.json
           ├── shop_config.json
           ├── Backups
           ├── Common
           ├── Guilds
           ├── Minigames
           ├── PlayerQuests
           ├── Protections
           ├── RPG
           ├── Server
           └── Templates
    
  3. 重启服务器 以加载插件。


项目历史

该项目最初诞生于为房屋保护安全区域设计的专用系统,但随着集成更复杂的 RPG 机制,它迅速演进。为了更好反映其综合性及其作为真正 RPG 体验核心骨干的角色,该项目已从“Home Claim Property Protection”更名为 AvalonEssentials。如今,它已成为一个面向服务器所有者的模块化且功能强大的工具包。

设计理念:GUI 优先体验

AvalonEssentials 基于一个核心原则构建:通过交互实现沉浸感。我们相信,真正的 RPG 体验应当感觉像真实的游戏,而不是基于文本的终端。通过用高质量的**图形用户界面(GUI)**和物理世界交互取代传统且破坏沉浸感的斜杠命令,我们确保玩家始终专注于阿瓦隆世界。无论您是在管理公会、在 ATM 机查询余额,还是在日志中追踪任务,每一个动作都被设计为触觉化、可视化且直观的。


访问系统

进入所有 AvalonEssentials 功能的门户是 阿瓦隆之书avalontm:book)物品。

  • 自动发放:新玩家在加入服务器时,会在快捷栏中收到阿瓦隆之书。
  • 可视化界面:持有此物品并进行交互,可即时访问所有 RPG 枢纽:角色 RPG 管理档案财产管理银行公会任务日志
  • 统一导航:游戏玩法无需任何斜杠命令;阿瓦隆之书作为每个插件系统的中央发射台。
  • 管理员工具:管理功能和高级区域管理直接集成到阿瓦隆之书界面中,供授权员工使用。
  • HUD 集成:手持书籍时,玩家会收到关于附近区域和活动选择的屏幕提示和状态更新。

RPG 系统:核心成长

一个完整的角色成长系统,包含职业、属性、档案和主动技能。

档案管理

玩家可以通过阿瓦隆之书维护多个 RPG 档案,从而在不同角色配置之间切换:

  • 独立成长:每个档案拥有独立的等级、经验值、属性和职业。
  • 库存同步:玩家的库存和装备与当前活跃档案绑定。

属性系统

定义角色成长和机制加成的六个核心属性:

属性 效果 计算/加成
VIT 活力 每点 +10 最大生命值
INT 智力 每点 +2 最大魔法值,每秒 +0.1 魔法恢复
STR 力量 增加物理伤害和负重能力
AGI 敏捷 增加攻击速度和移动速度
DEX 灵巧 增加暴击率(每点 1%)
STAM 耐力 每点 +0.5 每秒耐力恢复,增加最大耐力

职业专精

五种独特的职业,各有独特的技能和玩法。玩家通过阿瓦隆之书中的 RPG 枢纽选择职业。

骑士(坦克)

  • 主属性:活力
  • 描述:拥有群体控制和自我治疗能力的防御专家。
  • 职业技能
    • 盾击 - 击晕目标并造成少量伤害
    • 强化 - 暂时提升防御力
    • 嘲讽 - 强制敌人攻击你
    • 顺劈斩 - 对周围敌人造成范围伤害
    • 喘息 - 随时间恢复生命值

法师(施法者)

  • 主属性:智力
  • 描述:拥有爆发伤害和传送能力的强大远程施法者。
  • 职业技能
    • 火球术 - 向敌人发射一个火球投射物
    • 传送 - 瞬间移动到目标位置
    • 冰霜屏障 - 创造一个保护性的冰盾
    • 奥术爆炸 - 施法者周围的范围伤害
    • 法力护盾 - 将法力值转化为伤害吸收

刺客(DPS)

  • 主属性:灵巧
  • 描述:拥有高机动性和毒药效果的高爆发伤害输出者。
  • 职业技能
    • 暗影步 - 传送到目标背后
    • 背刺 - 从背后造成高额伤害
    • 淬毒刃 - 施加中毒持续伤害效果
    • 闪避 - 有几率躲避攻击
    • 刺杀 - 对低生命值目标的终结技

德鲁伊(辅助)

  • 主属性:智力
  • 描述:基于自然的治疗者和控制者,拥有变形能力。
  • 职业技能
    • 治疗 - 恢复目标生命值
    • 自然爆发 - 施法者周围的范围治疗
    • 根须缠绕 - 定身目标
    • 熊形态 - 变身为熊以增强防御
    • 荆棘 - 将伤害反弹给攻击者

圣骑士(混合)

  • 主属性:智力
  • 描述:拥有治疗和保护能力的神圣战士。
  • 职业技能
    • 神圣惩击 - 对敌人造成神圣伤害
    • 圣疗术 - 大量爆发治疗
    • 祝福 - 提升目标属性
    • 神圣之盾 - 完全免疫伤害
    • 惩戒 - 范围神圣伤害

技能系统

技能类别

类别 行为 示例技能
伤害 对目标造成伤害 火球术,背刺,神圣惩击
治疗 恢复目标生命值 治疗,圣疗术
增益 施加临时属性修改 祝福,闪避
冲刺/传送 快速移动玩家 暗影步,传送

目标类型

目标类型 描述
自身 仅影响施法者
单体目标 影响施法者前方的一个实体
区域 影响半径内的所有有效实体

目标过滤器

过滤器 行为
仅自身 仅影响施法者
敌人 仅影响拥有 EntityStatMap 的敌对实体
友方 仅影响:施法者、队伍成员、公会成员
全部 影响任何拥有 EntityStatMap 的实体(施法者除外)

友方检测

系统会自动识别友方单位,以防止误伤并正确施加有益技能:

  • 玩家:施法者始终是友方。队伍成员和公会成员自动被识别为友方。
  • NPC/怪物:目前,NPC 和怪物不被视为技能目标的合法友方。

技能配置 (JSON)

技能通过 mods/AvalonEssentials/RPG/Skills/ 目录下的 JSON 文件进行配置:

{
  "id": "fireball",
  "name": "Fireball",
  "description": "发射一个火球攻击敌人,造成 50 点伤害",
  "manaCost": 25,
  "cooldownMs": 5000,
  "minLevel": 1,
  "effectId": "fire_effect",
  "targetType": "PROJECTILE",
  "targetFilter": "ENEMIES",
  "range": 20.0,
  "radius": 3.0,
  "category": "DAMAGE",
  "power": 50.0,
  "requiredClassId": "mage"
}

职业配置 (JSON)

职业通过 mods/AvalonEssentials/RPG/Classes/ 目录下的 JSON 文件进行配置:

{
  "id": "mage",
  "displayName": "法师",
  "description": "拥有火焰和冰霜能力的强大施法者",
  "baseAttributes": [0, 5, 0, 0, 0, 0],
  "statsPerLevel": [0, 2, 0, 0, 0, 0],
  "skills": ["fireball", "teleport", "ice_barrier", "arcane_explosion", "mana_shield"]
}

技能如何运作

激活技能是一个由 RPG 引擎管理的无缝过程:

  1. 激活:玩家使用 /cast 命令或与 RPG 枢纽交互来触发技能。
  2. 条件检查:系统自动验证玩家是否满足所需的等级、职业以及拥有足够的法力值。它还会检查技能是否处于冷却中。
  3. 执行:一旦验证通过,技能效果会根据其类型被施加:
    • 指向性技能:自动寻找施法者前方最近的合法目标(敌人或友方)。
    • 范围技能:对指定半径内的所有合法实体施加效果。
    • 自身技能:对施法者直接施加增益或治疗。
    • 移动技能:通过冲刺或传送瞬间移动玩家。

命令

命令 描述
/cast <技能ID> 激活一个技能

经济特性

AvalonEssentials 拥有一个以物理物品为先、由世界交互驱动的经济体系。

实体货币(金币)

财富通过由怪物掉落或在战利品中找到的实体金币物品来体现。玩家必须收集并携带这些资产。

ATM 银行系统

银行业务完全通过交互式 ATM 方块进行处理:

  • 数字存储:通过 ATM 将实体金币存入您的账户,以保护它们在死亡时不会丢失。
  • 交互中枢:在任何实体 ATM 处管理您的余额并查看交易历史。

玩家市场

  • 市场物品:使用专门的玩家市场物品建立个人商店。
  • 交互式浏览:玩家直接与世界中的市场物品交互来购买商品。

社交和社区特性

公会和队伍系统均可直接通过阿瓦隆之书界面访问。

公会

  • 层级与权限:通过公会菜单管理等级(所有者、官员、成员)和权限。

小游戏引擎

AvalonEssentials 拥有一个强大的、基于动作的小游戏引擎,专为高性能会话管理和沉浸感而设计。

库存管理系统

该插件包含一个强大的库存管理系统,可在玩家进入和退出小游戏及编辑模式时自动保存和恢复玩家库存。

工作原理

  • 进入:当玩家加入小游戏或编辑模式时,其当前库存会自动保存到备份文件中。
  • 退出:当离开时,库存将从备份中恢复,将所有原始物品返还给玩家。

快照类型

系统为不同模式使用独立的备份文件以防止冲突:

类型 文件名格式 描述
小游戏 {玩家ID}_minigame.json 进入小游戏时保存
编辑 {玩家ID}_edit.json 进入编辑模式时保存

文件位置

库存备份存储在:

mods/AvalonEssentials/Backups/Inventories/

主要特性

  • 自动保存:进入小游戏或编辑模式时自动保存库存
  • 自动恢复:离开时恢复原始物品
  • 多种模式:小游戏和编辑模式有独立的备份,防止物品冲突
  • 安全删除:成功恢复后删除备份文件,防止重复

技术细节

该系统在以下文件中实现:

  • InventorySnapshotManager.java - 核心库存保存/恢复逻辑
  • MinigameService.java - 处理小游戏库存管理
  • EditModeService.java - 处理编辑模式库存管理
  • MinigameListener.java - 玩家状态恢复的事件监听器

配置 (minigame_config.json)

该引擎使用统一的 JSON 配置。设置分为 gameSettingsscoreSettings 和强大的事件系统

{
  "gameSettings": {
    "lives": 3,
    "maxHealthOverride": 100.0,
    "disableFallDamage": true,
    "disablePvP": false,
    "gameDuration": 600
  },
  "scoreSettings": {
    "winCondition": "POINTS",
    "targetScore": 20,
    "pointsPerKill": 1,
    "pointsPerDeath": -1
  },
  "events": {
    "onJoin": [
      "CLEAR_INVENTORY",
      "GIVE_START_INVENTORY",
      "SEND_MESSAGE: &a欢迎来到竞技场!"
    ],
    "onDeath": [
      "TELEPORT_TO_SPAWN",
      "SEND_MESSAGE: &c你死了!正在重生..."
    ],
    "onWin": [
      "SEND_MESSAGE: &6&l胜利!",
      "GIVE_KIT:WINNER_REWARD"
    ]
  },
  "teamSettings": {
    "enabled": true,
    "friendlyFire": false,
    "autoAssign": true,
    "teams": [
        { "id": "RED", "name": "红队", "color": "#FF0000" },
        { "id": "BLUE", "name": "蓝队", "color": "#0000FF" }
    ],
    "teamSpawns": {
        "RED": { "x": 10.0, "y": 65.0, "z": 10.0, "yaw": 0.0 },
        "BLUE": { "x": -10.0, "y": 65.0, "z": -10.0, "yaw": 180.0 }
    }
  }
}

自动化动作

在您的 events 列表中使用以下键来触发自动逻辑:

  • RESET_STATS:将生命值、饥饿度和状态设置为默认值。
  • SET_MAX_HEALTH:<值>:使所有参与者的生命值相等。
  • CLEAR_INVENTORY:清除护甲、快捷栏和存储空间。
  • GIVE_START_INVENTORY:装备游戏配置中定义的物品。
  • TELEPORT_TO_SPAWN:将玩家移动到其分配的队伍出生点。
  • SEND_MESSAGE:<文本>:广播一条局部消息。
  • HIDE_HUD / SHOW_HUD:切换游戏界面以实现影院级体验。

胜利条件

该引擎支持三种主要胜利条件:

  1. 得分:最先达到 targetScore 的玩家/队伍获胜。
  2. 最后存活者:最后存活的玩家获胜(需要设置 lives)。
  3. 限时:当 gameDuration(秒)结束时得分最高的玩家/队伍获胜。

摄像机与视角支持

通过集成的摄像机管理器,以独特视角增强游戏体验:

  • 横版卷轴:锁轴的 2D 平台游戏专业视角。
  • 俯视:为 ARPG/RTS 风格优化。
  • 等距:经典 RPG 沉浸感的固定角度透视。

技术信息与配置

要为 NPC、任务和商店生成 JSON 配置,请使用我们的网页版自动化工具:


由 AvalonTM 开发。 开发者 GitHub