本帖最后由 GregTao 于 2022-7-14 21:44 编辑
资源包作物模型生成器 —— 简单的命令行工具
虽然很水(可能?)
使用方法
1. 在exe所在文件夹右键点击从终端打开(或Win+R打开“运行”后输入“cmd”,并用cd /d 【路径】命令将路径切换)
2. 输入"./modelspawner.exe [命名空间] [作物英文ID] [最小age] [最大age]"。如下图:


生成文件中,无数字后缀的文件是blockstate文件。
获取程序
2. 自行编译:(参考环境:VScode,mingw64-4.3.5, g++8.1.0,C++14)
#include <iostream>
#include <cstdio>
#include <ctime>
#include <fstream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
if (argc <= 3)
{
printf("Usage: ~~~ namespace cropName minage maxage");
return 0;
}
string space = argv[1];
string crop = argv[2];
string minAgeS = argv[3];
int minAge = atoi(minAgeS.c_str());
string maxAgeS = argv[4];
int maxAge = atoi(maxAgeS.c_str());
string stateFile = crop + ".json";
ofstream writeState(stateFile);
writeState << "{\n \"variants\": {\n";
for (int i = minAge; i <= maxAge; i++) {
string modelFile = crop + to_string(i) + ".json";
ofstream writeModel(modelFile);
writeState << " \"age=" << i << "\": { \"model\": \"" << space << ":block/" << crop << i << "\" }";
if (i != maxAge) {
writeState << ",\n";
} else {
writeState << "\n";
}
writeModel << "{\n \"parent\": \"block/crop\",\n \"textures\": {\n \"crop\": \"" << space << ":block/" << crop << i << "\"\n }\n}";
cout << "Wrote AGE " << i << endl;
}
writeState << " }\n}\n";
return 0;
}
MCBBS有你更精彩~
感谢大佬分享 大佬辛苦啦
MCBBS有你更精彩
感谢大佬的分享
感谢大佬分享
6666666666
真情实感非水帖
感谢分享。支持
谢谢大佬的分享
谢谢大佬的分享,很精美的页面,功能强大。
感谢大佬分享