跳到正文

Universal Graves

作者:Patbox

可自定义的 Fabric 死亡墓碑模组!

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Universal Graves

这是一个简单但高度可自定义的墓地/死亡箱模组!
你可以随意自定义消息、方块和全息文字、保护时长、
过期后是否掉落物品等内容。

这个模组可以完全运行在服务器上!

这个模组仅支持 Fabric 和 Quilt!

如果你有任何问题,可以在我的Discord上提问

也欢迎看看我的其他模组和项目,说不定它们会对你有所帮助!

正在使用 2.x/1.19.x 或更早版本?

点击这里查看正确的说明文档!

图片

Default Grave look

命令(及权限):

  • /graves – 主命令,显示玩家墓地列表(universal_graves.list,默认可用)
  • /graves player <player> – 打开所选玩家墓地列表的图形界面(universal_graves.list_others)
  • /graves modify <player> – 打开执行者墓地列表的图形界面,并允许对其进行修改(universal_graves.modify)
  • /graves reload – 重载配置和样式(需要 universal_graves.reload)

此外,只要拥有 universal_graves.teleport 权限,你就可以传送到任意墓地。

配置:

你可以在 ./config/universal-graves/config.json 中找到主配置文件。
文本格式使用 Simplified Text,相关文档可以在这里查看。
此外,每种消息类型都有一些专属局部变量,你需要以 ${variable} 的形式输入。
大多数墓地相关消息支持以下变量:player、protection_time、break_time、xp、
item_count、position、world、death_cause、minecraft_day、creation_date、since_creation、
id。

另外还有几种数据类型:

  {
    // Type of cost. Supports, "free", "creative", "item" and "level"
    "type": "",
    // Only used for "item", describes Item Stack
    "input": {/* ITEMSTACK */},
    // Amount of cost.
    "count": 0
  }
  • {/* ITEMSTACK */} – 表示一个物品。简单格式:"minecraft:skeleton_skull" 完整格式
  {
    "id": "minecraft:skeleton_skull",
    "Count": 1,
    // Optional nbt,
    "tag": {}
  }
{
  // 配置版本。除非你想冒数据损坏的风险,否则不要修改!
  "config_version": 3,
  "protection": {
    // 墓碑受到其他玩家保护的时间。设置为 -1 可使其永久有效。单位:秒
    "non_owner_protection_time": 900,
    // 墓碑自动销毁前的时间。设置为 -1 可禁用。单位:秒
    "self_destruction_time": 1800,
    // 墓碑过期或自毁后是否掉落物品
    "drop_items_on_expiration": true,
    // 是否允许攻击者访问墓碑,适用于以 PvP 为主的服务器。
    "attackers_bypass_protection": false,
    // 是否使用现实时间,而不是仅在世界/服务器运行时计时。
    "use_real_time": false
  },
  "interactions": {
    // 死亡后访问墓碑的费用,
    "unlocking_cost": { /* COST */ },
    // 是否给予死亡指南针,它会指向玩家的墓碑。
    "give_death_compass": true,
    // 点击墓碑时是否打开界面。
    "enable_click_to_open_gui": true,
    // 是否允许按住 Shift 键并用空手点击墓碑来快速拾取。
    "shift_and_use_quick_pickup": true,
    // 是否允许玩家远程解除墓碑保护。
    "allow_remote_protection_removal": true,
    // 是否允许玩家远程破坏墓碑。
    "allow_remote_breaking": true,
    // 是否允许玩家远程支付解锁墓碑的费用。
    "allow_remote_unlocking": false
  },
  "storage": {
    // 选择储存多少经验。
    // 可用类型:"none"、"vanilla"、"drop"、"percent_point"、"percent_level"
    "experience_type": "percent_points",
    // 对于 "percent_X" 类型,储存的百分比
    "experience_percent:setting_value": 100.0,
    // 是否允许仅使用经验创建墓碑
    "can_store_only_xp": false,
    // 是否启用替代经验球实体,以防止与某些模组发生经验复制。
    "alternative_experience_entity": false,
    // 是否禁止带有附魔的物品放入墓碑。
    "blocked_enchantments": [
      "somemod:soulbound"
    ]
  },
  "placement": {
    // 限制每位玩家拥有的墓碑数量。-1 表示无限制
    "player_grave_limit": -1,
    // 是否允许墓碑替换任意方块
    "replace_any_block": false,
    // 搜索空闲位置时,以起始位置为中心的最大距离。
    "max_distance_from_source_location": 8,
    // 失败时是否允许移动起始位置
    "shift_location_on_failure": true,
    // 允许移动位置的最大次数。
    "max_shift_tries": 5,
    // 移动位置时使用的距离。
    "max_shift_distance": 40,
    // 是否让墓碑生成在流体上方,而不是生成在流体内部。
    "generate_on_top_of_fluids": false,
    // 破坏墓碑后是否恢复被替换的方块。
    "restore_replaced_block": false,
    // 玩家破坏墓碑后是否恢复被替换的方块。
    "restore_replaced_block_after_player_breaking": true,
    // 不会生成墓碑的伤害类型。
    "cancel_creation_for_damage_types": {
      "minecraft:fire": "... 自定义消息或留空"
    },
    // 会阻止生成墓碑的攻击者实体类型。
    "cancel_creation_for_ignored_attacker_types": {
      "minecraft:player": "... 自定义消息或留空"
    },
    // 阻止生成墓碑的谓词
    "blocking_predicates": [{/* PREDICATE */}],
    // 是否阻止在模组领地保护区域内生成墓碑。
    "block_in_protected_area": {
      "goml:claim_protection": true
    },
    // 禁止在整个世界中生成墓碑。
    "blacklisted_worlds": [
      "dungeons:world"
    ],
    // 禁止在指定区域生成墓碑。
    "blacklisted_areas": {
      "minecraft:overworld": [
        {
          "x1": -100,
          "y1": -200,
          "z1": -100,
          "x2": 100,
          "y2": 500,
          "z2": 100,
        }
      ]
    },
    // 墓碑生成失败时的默认消息。
    "creation_default_failure_text": "...",
    // 在领地内生成墓碑失败时显示的消息。
    "creation_claim_failure_text": "..."
  },
  "teleportation": {
    // 传送费用
    "cost": {/* COST */},
    // 完成传送前所需的时间。
    "required_time": 5,
    // 相对于墓碑位置的 Y 轴偏移量。
    "y_offset": 1.0,
    // 玩家无敌的持续时间。
    "invincibility_time": 2,
    // 等待期间是否允许玩家移动。
    "allow_movement_while_waiting": false,
    // 发送给玩家的消息
    "text": {
      "timer": "...",
      "timer_allow_moving": "...",
      "location": "...",
      "canceled": "..."
    }
  },
  "model": {
    // 默认模型文件名
    "default": "default",
    // 获取墓碑模型的替代方式。
    "alternative": [
      {
        "require": {/* PREDICATE */},
        "model": "model_name"
      }
    ],
    // 是否为 Geyser 玩家启用兼容方案,使墓碑在他们眼中显示为骷髅。
    "enable_geyser_workaround": true,
    // 可视墓碑/容器墓碑使用的基础物品。
    "gravestone_item_base": "minecraft:skeleton_skull",
    // 添加到物品上的 NBT。
    "gravestone_item_nbt": {}
  },
  "ui": {/* UI 定义,可修改文本, */},
  "text": {
    // 占位符中使用的日期格式。使用 https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
    "date_format": "dd.MM.yyyy, HH:mm",
    // 世界名称的自定义显示名称。
    "world_names": {
      "custom:world": "Custom World!"
    }
  }
}

墓碑模型

待完成:完成本节内容。

墓碑模型存储在 config/universal-graves/models/ 中。默认情况下,其中应有一个 example.json 文件,它是默认样式的副本。
若要覆盖默认墓碑样式,请复制该文件,并将其重命名为 default.json,或重命名为配置中指定的其他名称,然后定义其样式。
你也可以使用不同的名称和替代方案,以制作随机或独特的模型。

评论

登录后评论和评分

Patbox 的其他作品

查看全部 →