将迷你世界的蓝图导出成表格

将迷你世界的蓝图导出成表格

使用方法为编译此代码,然后将游戏存档的vbp文件拖入编译出的exe上即可导出csv文件

#include<iostream>
#include<Windows.h>
#include<direct.h>
#include<io.h>
using namespace std;
#define N_L 4
//这个改为用户的名字长度
string UTF8toANSI(const char* utf8)
{int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);wchar_t* wstr = new wchar_t[len + 1];memset(wstr, 0, len + 1);MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len + 1];memset(str, 0, len + 1);WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);if (wstr) delete[] wstr;string ret = str;if (str) delete[] str;return ret;
}
int count_i = 0;
void outfile(const char*filename,FILE*tp)
{char name[1024];memset(name, 0, 1024);strcpy(name, filename);int len = strlen(name);if (name[len - 1] != 'p'){for (int i = len - 1; i >= 0; i--){if (name[i] == '\\'){++i;name[len] = '\\';for (int j = 1; i < len; i++, j++){name[len + j] = name[i];}strcat(name, ".vbp");break;}}}FILE *fp = fopen(name, "rb");char reader[16];fread(reader, 1, 16, fp);unsigned char s = reader[6];int ttt = (int)s & 0xFF;ttt -= 48;fread(reader, 1, 16, fp);fread(reader, 1, 16, fp);fread(reader, 1, 16, fp);fread(reader, 1, 16, fp);fseek(fp, ttt, 1);char *bpname = new char[32];fread(bpname, 1, 32, fp);//开始获取名称for (int i = 0; i <32; i++)if (bpname[i] == 0){for (; i < 32; i++)bpname[i] = 0;break;}string bp_name = bpname;len = ((N_L + 1) * 4);fread(bpname, 1, len, fp);for (int i = 0; i <len; i++)if (bpname[i] == 0){for (; i < len; i++)bpname[i] = 0;break;}std::string h = UTF8toANSI(bpname);h.clear();fread(bpname, 1, 32, fp);for (int i = 0; i <32; i++)if (bpname[i] == 0){for (; i < 32; i++)bpname[i] = 0;break;}h = UTF8toANSI(bpname);string bp_c_name= h;fclose(fp);delete bpname;if (count_i % 3 == 0)fprintf(tp, "\n");fprintf(tp,"%s,\"0,%s\",", bp_c_name.data(), bp_name.data());
}
void main(int argc,char **argv)
{if (argc != 2)return;_finddata_t file;long id;string h = argv[1];id =_findfirst((h+"\\*").data(), &file);if (id == -1)return;FILE*fp = fopen("out.csv", "w");while (_findnext(id, &file)==0){if (file.name[0] == 'b'&&file.name[1] == 'p'){printf("%s\n", file.name);outfile((h + "\\" + file.name).data(), fp);count_i++;}}fclose(fp);getchar();
}

效果就是这样,可以看到蓝图名字对应的ID
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15092.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GLM: General Language Model Pretrainingwith Autoregressive Blank Infilling翻译理解

GPT&#xff08;autoregressive&#xff09;模型是一个自回归模型&#xff0c;利用left-to-right语言模型&#xff0c;由于不是双向attention 机制&#xff0c;因此不能再NLU任务中&#xff0c;获取充分的上下文信息&#xff0c;BERT类似自编码&#xff08;autoencoding&#x…

【SpringBoot——Error记录】

java: 警告: 源发行版 17 需要目标发行版 17 问题描述 IDEA运行Spring工程报错&#xff1a;java: 警告: 源发行版 17 需要目标发行版 17 问题原因 idea工具jdk版本使用问题 解决办法 1、File(文件) -> Project Structure(项目结构)->修改jdk版本即可 选中项目文件…

spring之ApplicationContext

spring之ApplicationContext ApplicationContextApplicationContext源码ApplicationContext继承接口分析ApplicationContext两个比较重要的实现类AnnotationConfigApplicationContextClassPathXmlApplicationContext 国际化---MessageSource资源加载---ResourceLoader获取运行时…

基于单片机智能加湿器 水位防干烧加湿器的设计与实现

功能介绍 以51/STM32单片机作为主控系统&#xff1b;LCD1602液晶显示当前温湿度&#xff0c;当前模式&#xff0c;湿度下限;按键设置湿度下限&#xff0c;当湿度低于下限时开启加湿器;水位传感器检查加湿器是否有水&#xff0c;如果没有水到话加湿器不进行工作&#xff0c;蜂鸣…

Js提升:如何实现图片懒加载

知其然&#xff0c;更要知其所有然&#xff0c;在不同场景下该用什么方法&#xff0c;如何做到最优。 为什么要出现图片懒加载&#xff0c;解决了什么问题&#xff1f;除了懒加载&#xff0c;还有预加载呢&#xff1f;什么是预加载&#xff0c;怎么实现&#xff0c;相比于懒加载…

Windows server 下关闭135/139/445端口

一、关闭​ ​135端口​​ 方案一 第一步 运行dcomcnfg&#xff0c;打开“组件服务”→“计算机”&#xff0c;在“我的电脑”上右键点击&#xff0c;选“属性”&#xff1b;然后点默认属性&#xff0c;把“在此计算机上启用分布式COM&#xff08;E&#xff09;”的勾去掉&a…

Spring Boot 中的 Zookeeper 分布式锁

Spring Boot 中的 Zookeeper 分布式锁 分布式锁是分布式系统中常用的一个同步工具&#xff0c;它可以在多个进程之间协调访问共享资源&#xff0c;避免数据不一致或重复处理。在分布式环境中&#xff0c;由于网络通信的延迟和节点故障等原因&#xff0c;传统的锁机制无法满足需…

软考:中级软件设计师:系统总线,系统可靠性,串联和并联可靠度

软考&#xff1a;中级软件设计师:系统总线&#xff0c; 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心…

【STM32】步进电机及其驱动(ULN2003驱动28BYJ-48丨按键控制电机旋转)

本篇文章包含的内容 一、步进电机的结构和工作原理1.1 步进控制系统的组成1.2 步进电机简介1.3 步进电机的分类1.4 步进电机的工作原理1.4.1 单极性步进电机&#xff08;5线4相&#xff09;1.4.2 双极性步进电机&#xff08;4线2相&#xff09;1.4.3 细分器驱动原理 1.5 步进电…

VMware16.0安装教程和创建

许可证&#xff1a; ZF3R0-FHED2-M80TY-8QYGC-NPKYFYF390-0HF8P-M81RQ-2DXQE-M2UT6ZF71R-DMX85-08DQY-8YMNC-PPHV8设置网络 添加镜像 下载centos7镜像网址https://mirrors.aliyun.com/centos/7/isos/x86_64/?spma2c6h.25603864.0.0.d7724511YPrZpg win10镜像地址https://ww…

Ceph:关于 Ceph 中 BlueStore 架构以及 OSD 创建的一些笔记

写在前面 准备考试&#xff0c;整理ceph 相关笔记内容涉及&#xff1a;Blue Store OSD 存储引擎介绍&#xff0c;对应 OSD 的不同创建方式理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&…

【hadoop】大数据的几个基本概念

大数据的几个基本概念 数据仓库的基本概念数据仓库与大数据OLTP与OLAP 数据仓库的基本概念 数据仓库&#xff0c;英文名称为Data Warehouse&#xff0c;可简写为DW或DWH。数据仓库&#xff0c;是为企业所有级别的决策制定过程&#xff0c;提供所有类型数据支持的战略集合。 本…