Giter Club home page Giter Club logo

mcfpp's People

Contributors

alumopper avatar hank9999 avatar srcres258 avatar wangjinyi425 avatar xilaitl avatar xtexchooser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcfpp's Issues

for循环问题

在编译 for (int i = 0; i < 5; i++) 时会报错
i++ 替换为 i = i+1 通过编译
可能这部分存在一些问题

func main() {
    for (int i = 0; i < 10; i=i+1) {
        print(i);
    }
}

同时 在MC 1.20.6上 上述代码运行存在异常
image
仅会打印一个1

chore: 一些建议

  1. mcfpp 要有面向对象和函数式编程的范型**以及足够书面化却又能让人一眼看出是哪些 nbt 对象的特性。
  2. 要有 nbt 数据类型验证,可以为 1.13 以后的版本建立一个数据类型验证库,同时版本差异也会导致数据类型验证有所差异。
  3. 考虑到 mcfpp 是用于 Minecraft 数据包编写,而 Minecraft 数据包通常需要频繁调试和修改,建议将 mcfpp 设计为解释型语言,以便更方便地查看效果并进行调试。当然,具体选择还要根据需求和偏好来决定。

有幸在编译领域摸爬滚打四年,记得当初退坑 mc 还是因为 1.13 指令大改…

多年后看到数据包以及 mcf 能做到这么多事情,感到非常振奋。昨天碰巧发现了 mcfpp 这样一个点子,觉得非常不错,但又发现很容易本末倒置。总之不是很希望 mcfpp 成为那种写小项目显得十分笨重、写大项目又难以维护与阅读的工具。

很不错的点子,加油 (考虑使用 rust 重构吗——)

一条非常非常小的建议

命令行中建议在 > 的后方添加一个空格,会更美观一些(虽然并不会影响什么)。
比如 Python 的命令行:
image

编译器路径问题

在Linux下路径支持不是很好,会出现'out\xxx'为名称的文件夹, 相对目录也有一些问题
(先开个issue 我再改改

一点想法:

(1)其实fabric模组开发有一个datagen功能,能够生成诸如配方,维度,地物等数据,两者结合一下可能更好?
(2)在1.20.4以后minecraft支持宏传入,我认为这是与数据包交互的革命性的一个更新,计分板可以灵活地将其当作变量来使用,而我在clone研究仓库的时候发现有很多模拟计算机底层的操作,以后会不会考虑从1.20.4重构代码?
(3)star and watch 了这个项目,此外本人是csharper,B站私信回不去,一天后close issue

while 循环问题

func main() {
    int i = 0;
    while (i < 5) {
        print(i);
        i = i + 1;
    }
}

上述代码编译在MC 1.20.6中会输出一堆0
image
若使用dynamic修饰后, 执行后无响应

mcfunction本身的缺陷

我记得mcfunction本身被调用后,加上迭代的命令,总共只能1gt连续运行2w条命令吧?这个限制该如何解决呢?还是说已经不存在这个限制了?又或者说将会自动分割生成后的命令串吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.