登录
syntax-mcfunction
分类:工具软件 访问:40 下载量:0

软件介绍

更新时间:2025-05-09

新的介绍内容:

logo

syntax-mcfunction - 提升Minecraft命令开发的语法定义

欢迎来到syntax-mcfunction,一个专为Minecraft命令(.mcfunction)设计的语法定义项目。无论你是游戏开发者还是Minecraft玩家,这里都能助你提升开发效率。如果你喜欢这个项目,请给我们一个⭐!

demo

项目概述:

syntax-mcfunction采用textmate语法规范,提供了一套完整、通用的Minecraft命令语法定义。通过使用通用的语法组件构建,这意味着它不仅支持未来的Minecraft版本,还适用于许多模组命令和自定义语言编译器(如bolt和jmc)。

[!警告] 请注意,本语法定义包含错误高亮功能,意味着无效命令也会被正确高亮。如果你需要错误验证和自动补全功能,建议使用Spyglass项目,它基于本语法定义构建了语言服务器。

安装指南:

VSCode扩展

你可以通过市场安装扩展,或者在扩展选项卡中搜索syntax-mcfunction。

open-vsix扩展

如果你想在VSCode或其任何分支中使用open-vsix版本,请按照以下说明操作。

Sublime Text

建议使用Package Control管理软件包:

  1. 如果尚未安装,请先安装Package Control。
  2. 运行Package Control: Add Repository命令,并输入https://github.com/MinecraftCommands/syntax-mcfunction.git添加存储库作为包。
  3. 运行Package Control: Install Package并搜索syntax-mcfunction以正常安装包。
如果你已经安装了language-mcfunction > **注意** 如果你已经安装了Arc的language-mcfunction,建议将其删除。你可以通过Package Control: Remove Repository选择https://github.com/Arcensoth/language-mcfunction,然后通过Package Control: Remove Package选择language-mcfunction(2021版)来完成此操作。
这样可以自动保持包与存储库同步。

或者,你可以将存储库克隆到用户包目录(例如%appdata%\Sublime Text 3\Packages),并手动更新。

与language-mcfunction的区别:

虽然本语法是从头开始创建的,但其工作很大程度上借鉴了原language-mcfunction语法。language-mcfunction的初衷是开发一个通用、简化的.mcfunction版本。

[!注意] 实际上,这个语法的早期原型曾被计划作为language-mcfunction重写的基础。

以下是本语法与原版的一些关键区别:

  • language-mcfunction设计为处理单行命令。如果一行出错,不会影响后面的行,命令不能跨多行。
    • 这正是促使我开发syntax-mcfunction的原因(即使在Minecraft 1.20.2引入多行命令之前),因为我需要一个支持多行的语法。
  • language-mcfunction包含特定的命令验证,并报告无效命令的错误。
    • syntax-mcfunction在哲学上有所不同。Textmate语法并不适合验证命令——这更适合语言服务器。
    • 此项目通常高亮命令,这样做有助于更容易维护,并且对于像Github这样的平台更友好,因为多种命令扩展/模组命令可能重用.mcfunction扩展名。

因此,在比较这些语法时,着色和高亮会在几个地方有所不同。虽然目标是尽可能接近language-mcfunction,但由于语法设计的整体差异,永远不会有真正的1:1高亮匹配。

贡献指南:

我们乐意接受任何PR,但请先创建相应的issue来跟踪。提交PR时,请确保你的分支不是main,并且允许维护者编辑你的PR。这有助于我对PR进行小的编辑后再合并。

我们只需要编辑yaml文件,因为json和plist文件是自动生成的。你可以在编辑yaml文件后使用npm包js-yaml生成json文件。

npx js-yaml mcfunction.tmLanguage.yaml > mcfunction.tmLanguage.json

发布版本

此存储库中的发布是半自动化的。一旦你的PR合并到main分支,维护者将创建一个新标签来触发我们的Github CI生成新版本。

git tag -a v1.2.3
git push --tags

这将生成语法的json和plist变体,向VSCode和open-vsix市场推送.vsix扩展,并在releases选项卡中创建一个发布。

然后,维护者需要手动填写发布正文,添加变更日志和链接。

致谢:

这个存储库完全致力于我们敬爱的社区成员和朋友,Arcensoth。他在原始language-mcfunction上的工作以及对Minecraft Commands社区的整体贡献是无价的,他将被深深怀念。

安息,Arcensoth

本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!

本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!

如有侵权请联系我们删除下架,联系方式:study_golang@163.com

最新教程

查看更多
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
  • MySQL数据管理之备份恢复案例解析视频教程
    MySQL数据管理之备份恢复案例解析视频教程
    《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
  • MySQL索引优化解决方案
    MySQL索引优化解决方案
    本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
  • 极客学院Docker视频教程
    极客学院Docker视频教程
    Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
  • JavaScript极速入门
    JavaScript极速入门
    本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......