剑视

剑视

SwordSight使武器忽略草丛、高草等方块!可自定义到任意方块。

⚔️ SwordSight: 在杂乱中实现服务器权威命中

SwordSight 是一款旨在增强战斗体验的模组,它能防止高草、花朵以及其他非实体的杂乱方块阻挡你武器的视线,让你可以无缝地击中它们背后的敌人和方块。

此版本引入了服务端配置,确保在多人游戏中,哪些方块被忽略的规则是统一且由服务器控制的,同时在单人游戏中保留了原有的熟悉功能。


📧 联系我 & 支持信息

💬 主要支持渠道(首选)

所有一般性问题、功能请求和非紧急的 Bug 报告都应发布在我们 Discord 服务器的相应频道中。我们会积极监控服务器并尽快回复。这能确保整个社区都可以从讨论和解决方案中受益。

🆘 紧急私信政策

虽然我们更倾向于所有问题都首先通过 Discord 服务器处理,但在特定的紧急情况下,欢迎您直接私信我:

  • 允许的理由:您的服务器崩溃或遇到与我的某个模组/插件直接相关的严重的、破坏游戏的错误。
  • 要求:您必须是服务器的所有者。
  • 时区:我所在的时区为 (CET/CEST) 时区。
  • 私信时间:请仅在 上午 10:00 至下午 10:00(布鲁塞尔时间)之间发送私信。

我会尽力尽快回复您的私信,以提供帮助并尽力解决您的紧急问题。但请理解,不保证能立即回复,并且私信是一种专业礼貌,而非理所应当的权利。感谢您的理解与合作!

🎯 功能特性

📝 默认忽略的方块

默认配置文件(swordsight.json)包含一份全面的非实体植物与杂乱方块列表。

ℹ️ 此列表硬编码在 SwordsightConfig.java 中,以确保在未安装此模组的服务器上进行游戏的客户端仍能获得预期的功能(原版服务器回退)。

<details>

📦 硬编码方块列表

{
  // --- 草类、蕨类、灌木 ---
  "minecraft:short_grass",
  "minecraft:tall_grass",
  "minecraft:dead_bush",
  "minecraft:fern",
  "minecraft:large_fern",
  "minecraft:short_dry_grass",
  "minecraft:tall_dry_grass",
  "minecraft:bush",
  "minecraft:firefly_bush",

// --- 作物 & 可生长物 --- "minecraft:sugar_cane", "minecraft:wheat", "minecraft:carrots", "minecraft:potatoes", "minecraft:beetroots", "minecraft:cocoa", "minecraft:nether_wart", "minecraft:torchflower_crop", "minecraft:pitcher_crop", "minecraft:sweet_berry_bush", "minecraft:bamboo", "minecraft:bamboo_sapling", "minecraft:cactus", "minecraft:cactus_flower",

// --- 花(矮株 & 高株) --- "minecraft:poppy", "minecraft:dandelion", "minecraft:allium", "minecraft:azure_bluet", "minecraft:red_tulip", "minecraft:orange_tulip", "minecraft:white_tulip", "minecraft:pink_tulip", "minecraft:oxeye_daisy", "minecraft:cornflower", "minecraft:lily_of_the_valley", "minecraft:wither_rose", "minecraft:blue_orchid", "minecraft:torchflower", "minecraft:sunflower", "minecraft:lilac", "minecraft:rose_bush", "minecraft:peony", "minecraft:pink_petals", "minecraft:wildflowers",

// --- 藤蔓、根、树叶 --- "minecraft:vine", "minecraft:twisting_vines", "minecraft:twisting_vines_plant", "minecraft:weeping_vines", "minecraft:weeping_vines_plant", "minecraft:cave_vines", "minecraft:cave_vines_plant", "minecraft:hanging_roots", "minecraft:glow_lichen", "minecraft:mangrove_propagule", "minecraft:mushroom_stem", "minecraft:crimson_roots", "minecraft:warped_roots", "minecraft:azalea", "minecraft:flowering_azalea", "minecraft:small_dripleaf", "minecraft:big_dripleaf", "minecraft:big_dripleaf_stem", "minecraft:pitcher_plant",

// --- 水生植物/珊瑚 --- "minecraft:seagrass", "minecraft:tall_seagrass", "minecraft:kelp", "minecraft:kelp_plant", "minecraft:lily_pad", "minecraft:tube_coral", "minecraft:brain_coral", "minecraft:bubble_coral", "minecraft:fire_coral", "minecraft:horn_coral", "minecraft:tube_coral_fan", "minecraft:brain_coral_fan", "minecraft:bubble_coral_fan", "minecraft:fire_coral_fan", "minecraft:horn_coral_fan", "minecraft:sea_pickle", "minecraft:moss_carpet", "minecraft:pale_moss_carpet" }

服务器权威配置 🌐

  • 多人游戏一致性:当安装在专用服务器上时,配置(忽略的方块和斧头设置)由服务器端管理。多人游戏中客户端命令被禁用,配置更改必须由服务器管理员完成。
  • 单人游戏(集成服务器):在单人游戏世界中,该模组作为客户端模组运行,允许本地命令按预期修改本地配置文件。
  • 原版服务器回退:如果模组已安装在客户端但未安装在服务器上,客户端会自动回退到硬编码的默认方块列表,以确保基本的穿透命中功能能立即生效。

绕过阻挡视线的方块

  • 射线检测覆盖:该模组会拦截游戏的射线检测,并强制配置/缓存中定义的非实体杂乱方块返回空的碰撞箱(VoxelShapes.empty()),从而使武器的视线能够穿过它们。
  • 性能缓存:该模组维护着一个内部缓存,将忽略的方块作为实际的 Block 对象(IGNORED_BLOCK_CACHE)存储,以便在游戏过程中快速查找,避免性能瓶颈。

可配置的武器资格

穿透命中功能由武器类型严格管控:

  • 自动资格:可自动与剑(通过 #minecraft:swords 物品标签检查)、三叉戟和重锤配合使用。
  • 斧头支持(可切换):斧头功能通过配置进行开关(/swordsight axe)。
    • 附魔要求:可选择性地要求斧头具有战斗附魔(锋利、亡灵杀手、节肢杀手或火焰附加)才能启用穿透命中功能(/swordsight axe enchant)。

⚙️ 游戏内命令

命令在客户端注册用于提示和执行。在多人游戏中,命令仅显示本地配置状态和警告;所有修改均在服务器端进行。

可以使用 /swordsight 或其别名 /swords 来访问命令。

命令 描述 上下文
/swordsight 显示命令列表和链接。 客户端信息
/swordsight reload 从磁盘重新加载配置并更新方块缓存。 仅限单人游戏。
/swordsight list 显示所有当前被忽略的方块(使用活动缓存)。 客户端/服务器同步列表
/swordsight list <item_id> 切换忽略列表中的物品/方块。 仅限单人游戏。
/swordsight axe 切换斧头穿透命中功能(启用/禁用)。 仅限单人游戏。
/swordsight axe enchant 切换斧头的附魔要求(需要/不需要)。 仅限单人游戏。

整合包政策

  • 您被允许将此模组包含在任何整合包中。
  • 请勿直接修改模组的 JAR 文件。
  • 整合包本身,或整合包内对此模组的访问权,不得用于出售。