版本检测器

用于数据包检测Minecraft版本的API

版本检测器是一个概念验证,证明数据包能做到的比你想象的更多,同时它也是一个供数据包检测自身运行版本的 API。

它本身功能不多,但对其他数据包可能很有用。

注意:将数据包添加到世界时,如果你使用的游戏版本低于 1.20.2,Minecraft 会警告你该数据包是为更旧版本的 Minecraft 制作的。请忽略此警告,在 1.20.2 之前的版本上我无能为力,因为 pack.mcmeta 中允许我添加受支持版本范围(而不是只有一个版本)的特性是在 1.20.2 才加入的。

有问题/疑虑?请在我的 Discord 中发布,因为在那里更有可能被看到。在侧边栏中可以找到它。

此数据包利用了 Minecraft 在加载数据包时会完全移除语法无效的函数这一特性,例如“execute if entity @e[type=pillager]”在 1.13 中是无效语法,因为掠夺者尚不存在,导致整个函数在 1.13 中被移除,但该函数在 1.14 及更高版本中会成功加载并存在,因为掠夺者已被加入且命令编写正确,不再有无效语法。每个函数会将记分板目标中的一个数字设为某个值,并运行下一个函数,而下一个函数与上一个函数具有不同的语法,例如从 1.14 函数移动到 1.15 函数时,用“execute if entity @e[type=bee]”代替“execute if entity @e[type=pillager]”,以检测不同的特性。如果链在任意时刻停止,数字就不再变化,这与你的 Minecraft 版本相匹配。

ID 存储在“VersionInfo”目标中的“MinecraftVersion”分数里。它从 0(1.13)一直到可检测到的最新版本。

此数据包还支持 NeoForge 和 Forge 检测。Fabric 和 Quilt 目前无法检测,因为 Fabric 或 Quilt(未安装模组时)没有向游戏中添加任何我可以检测到的东西。

致整合包作者:

我允许你在你的整合包中使用此数据包/模组。你可以在整合包中包含它,无需询问我。不过,如果你要包含它,通知我一下会更好。

检测到的版本

检测到的版本列表,从最旧到最新排列,从 ID 0(1.13)开始递增(如果某个版本不在此列表中,则它归入该版本之前的最新版本,例如 1.21.3 归入 1.21.2):

正式版/快照

  1. 1.13
  2. 1.13.1
  3. 1.14
  4. 1.14.3
  5. 1.14.4
  6. 1.15
  7. 1.15.2
  8. 1.16
  9. 1.16.2
  10. 1.17
  11. 1.18
  12. 1.18.2
  13. 1.19
  14. 1.19.3
  15. 1.19.4
  16. 1.20
  17. 1.20.2
  18. 1.20.3
  19. 1.20.5
  20. 1.21
  21. 1.21.2
  22. 1.21.4
  23. 25w02a
  24. 25w03a
  25. 25w04a
  26. 25w05a
  27. 25w06a
  28. 25w07a
  29. 25w08a
  30. 25w09a
  31. 25w10a
  32. 1.21.5
  33. 25w15a
  34. 25w20a
  35. 1.21.6
  36. 1.21.7-1.21.8
  37. 25w31a
  38. 25w32a
  39. 25w34a
  40. 25w35a
  41. 25w36a
  42. 1.21.9-1.21.10
  43. 25w41a
  44. 25w42a
  45. 25w43a
  46. 25w44a
  47. 1.21.11
  48. 26.1 快照 1(耶,新的版本号系统)
  49. 26.1 快照 2
  50. 26.1 快照 3
  51. 26.1 快照 4
  52. 26.1 快照 5
  53. 26.1 快照 6 - 快照 7(你最好别说出那个词)
  54. 26.1 快照 8 - 快照 9
  55. 26.1 快照 10
  56. 26.1 快照 11
  57. 26.1

愚人节快照:

  1. 20w14infinite
  2. 22w13oneBlockAtATime
  3. 23w13a_or_b
  4. 24w14potato 目前还没有 25w14craftmine,我太懒了还没加那个