我的世界1.13 mod制作——环境搭建(一)

article/2025/3/11 9:00:51

说明:已经玩过好多年《我的世界》,大概从13年开始吧,虽然不算早,但是也不是很晚。因为高度自由、丰富的mod、精美的材质光影,简单的方块游戏风靡世界。最近心血来潮想学学怎么做mod,但是直接从1.13.2直接起步开始做mod还是有点困难的,没有资料,mcbbs上也没有最新的教程,forge官网速度很慢,教程也不是很系统,反正是遇到了各种阻力。因为以前也没有写博客的习惯,所以会不会有后续,也不知道。

(一)环境配置

1. JDK  (https://www.oracle.com/technetwork/java/javase/overview/index.html)

   jdk 环境配置这里就不说了,学过java的都会,不会的网上搜也会搜出一大堆

2.forgeMDK (https://files.minecraftforge.net/) 

  从官网下载1.13的mdk

3.gradle (https://gradle.org/)

一个自动化构建工具,因为下载mdk里会自动下载一个gradle,所以这一步可有可无(建议装上吧)。新建的mod都是基于gradle的项目。

因为gradle需要下载很多依赖,以及资源文件,全都放在C盘用户目录下的.gradle文件夹里,也就是本地库,所以也得配置一下,放到其他盘去。

新建环境变量 GRADLE_HOME gradle的位置 (前提是你自己安装了gradle,没安装就算了) 


然后是 在path环境变量中添加     %GRADLE_HOME%\bin (没有装gradle的就不用配置了)

最后是本地库的位置 GRADLE_USER_HOME,位置自己选。

4.IDE 

这个看个人喜好,Eclipse 或者IDEA ,IDEA收费,eclipse免费。

(二) 项目搭建

官方教程(https://mcforge.readthedocs.io/en/latest/)

解压从forge官网下载的forge mdk,文件夹名字随便改一个。

新的forge有一些改动,官网给出的命令有的无法运行,这里直接点击gradlew.bat 运行。

第一次运行很坑的,要下载好多资源,用来构建环境,所以要耐心等待。

这里是cmd运行后的结果,构建成功,然后用idea打开。还有一些后续需要下载的jar包,游戏运行时的资源文件,只要用idea打开,后续的构建工作会自动完成,有些jar包需要去mc官网去下载,非常的慢,下载速度有20k左右的样子,第一次下载都很慢。第一次过后资源都下载到了本地,以后就不会这么慢了,除非版本不一样。

将项目导入idea

 

选择你的项目位置,就是你解压mdk的文件夹,然后以gradle的方式导入idea

然后直接下一步到完成。

导入项目就算完了。

 

导入后项目会自动构建。(这里就是说的下载很慢的地方,点开toggle view 你就会看到后台在干嘛)

构建完毕后来看看项目结构

.gradle 文件时gradle的文件夹,可以忽略。

.idea时idea的项目标志,idea是靠这个打开项目的。删了就得重新导入。

build是gradle构建生成的。

out文件夹这里没有,它是你自己mod编译后产生的文件夹,编译一次生成一次。

gradle是mdk自带的gradle工具。

run是运行客户端时产生的文件,游戏存档就在这里面。

src是资源文件,里面包含了你的mod信息,以及你的代码。

除了build.gradle文件其他的文件就不用管。

这里准备工作已经差不多了,src里面包含了一mod例子,可以打开 ExampleMod.java 看看。

(三)运行mod

接下来就是运行mod了,但是项目里还是缺点东西,就是mc客户端源文件了,forge已经把源文件准备好了,直接运行命令就可以下载。

以前版本的mdk必须要 运行 gradlew.bat idea 才能导入到idea,现在不是了,你解压mdk后及时不运行gradlew.bat也能直接导入。但是要想运行客户端你还得运行一个命令 。

cmd窗口,cd到项目文件夹,运行​​​​​​​     gradlew genIntellijRuns 

看到绿色的 build success 就算完成了,然后再打开项目,点开运行选项你就能看到runClientrunService  

可以试着运行一下,在mod列表你可以看到到自己mod。

这里的Example Mod就是自带的mod例子

总结

gradlew setupDecompWorkspace 命令 gradlew idea 命令都不能用了,可以直接用idea打开项目,但是项目运行,还得用​​​​gradlew genIntellijRuns 命令去下载客户端和服务器文件。

完毕


参考

https://blog.csdn.net/lyh20000420/article/details/83659149

https://mcforge.readthedocs.io/en/latest/gettingstarted/

 


http://chatgpt.dhexx.cn/article/Vi4mOe2B.shtml

相关文章

我的世界MOD制作(2)|| 你的第一个MOD

正文:I. 开发环境配置 我们需要一个带mixin的forge开发环境,这一步相当折磨人,网络不好的话半天时间都得砸这上面,但是不要灰心,过了这个坎接下来基本是顺风顺水。 1. 下载资源 & 修改build.gradle 首先去forge官网…

Ts 简单随机迷宫迷宫地图

直接上代码 //随机地图const { ccclass, property } cc._decorator;ccclass export default class NewClass extends cc.Component {property(cc.Node)mapItem: cc.Node null;property(cc.Node)mapContent: cc.Node null;private mapArr: any [];onLoad() {}start() {}ran…

C++游戏编程--实现鼠标编辑迷宫地图界面

鼠标左键放砖,右键取消。 void Change() {Show();while (true) {ExMessage m;//定义一个消息变量m getmessage(EM_MOUSE);//获取鼠标消息switch (m.message){case WM_MOUSEMOVE:// 鼠标移动的时候画红色的小点putpixel(m.x, m.y, RED);break;case WM_LBUTTONDOWN:/…

台州oj 5061 迷宫地图

5061: 迷宫地图 时间限制(普通/Java):1000MS/3000MS 内存限制:65536KByte 总提交: 114 测试通过:28 描述 在一些迷宫游戏中,往往有多个关卡,每个关卡有不同的地图,地图往往是由n行m列的方格组成,每个格子上可能是通道、墙壁、道具、玩家等。在设计时,…

关于矩形迷宫地图的数组化处理和相应寻路算法的思考

目录 矩形地图的数组化 思路 提取实现 实现过程 (1)特征 (2)取点问题 (3)需要确定的变量值 (4)另外的 (5)适用的迷宫类型 寻路算法 数组迷宫的特点 数组迷宫的缺点 算法…

C#迷宫Winform小游戏,生成可连通的迷宫地图

上一篇本人已经写了一个控制台小游戏,这次使用Winform来生成可连通的地图,并测试运行游戏 迷宫小游戏控制台 一、先更改控制台游戏的一点点代码,用于测试迷宫是否连通的【即:从起点可以到达终点】。只用更改 MazeUtil.cs的查找路…

迷宫游戏|自动寻径|随机生成迷宫地图|UI|闯关|地图反转

MazeGame 遵循开源协议 MIT 开发工具及运行环境 开发IDE环境 : Visual Studio 2019 代码管理工具: Git 开发语言:C 程序运行环境(开发环境为(Windows10)其他兼容性未知) 依赖库 EasyX 图形界面库 EasyX官网:EasyX Git仓库地址 Gitee:Gitee 仓库 Github:h…

Java程序:迷宫地图生成器

Java程序:迷宫地图生成器 1、运行效果 可以在【0,50】之间随意设置行数和列数,比如设置为25行25列的迷宫地图数组。 迷宫地图的每一个方格,如果是白色,单击就变成黑色,如果是黑色,单击就变成白色。黑色对应数组里的1,白色对应数组里的0。 因为没有采用路径搜索算法来设…

Java 开发实例(第3篇),绘制迷宫1 生成迷宫地图

开发环境: 操作系统Win10。 1.下载Java 15,提取码:soft 2.下载软件 Eclipse 2020-12,提取码:soft 下载本博客的实例工程代码,提取码:soft 前天2月9日在逛B站App时,意外看到一个很…

Python 打印迷宫地图小游戏

在实现玩转小迷宫这个游戏时,分别使用了input()输入函数、print()输出函数、if…elif…else语句、二维列表、while循环、for循环 下面对这些用法再一次重温 1.input()输入函数 在 Python 中,使用内置函数 input() 可以接收用户的键盘输入。input() 函数…

html5的canvas绘制迷宫地图

canvas标签一直是html5的亮点,用它可以实现很多东西。我想用它来绘画像迷宫那样的地图。借助到的工具有瓦片地图编辑器tiled(点击跳转到下载链接)。 如图:如果你想要画像这样的迷宫地图,如果不用canvas,可以通过dom操作拼接一个一个div,以达成这个效果。那样是不是很不合…

深度优先,Kruskal,Prim几种方式生成迷宫地图

小时候玩过一款3D版迷宫,那时还是功能机时代,黑白界面拼凑的伪3D效果还是给我带来了很多快乐。后来出现了智能机,却再也没找到过那样纯粹的迷宫游戏。总算自己找时间做一个出来。 本文主要介绍一下深度优先,Kruskal,Prim几种方式生…

二维数组随机生成地图迷宫_经验分享:三套简单的迷宫地图生成方案

文/兔四 概述:文章基于一种基础的地图,来讨论三套不同的地图生成方案。 文章不会出现跟代码相关的内容,会以较为通俗的语句和不少简单的示意图来表示迷宫的生成方案。其中不少方法来自于游戏界前辈,我根据自己的基础地图做了不少修正(毕竟迷宫和地图的形式多种多样,适合自…

算法自动生成迷宫地图

文章目录 前言一、什么是(DFS)深度优先算法?深度优先算法实现步骤1.引入库2.初始化参数3.Turtle画方格函数4.开始生成数组并调用Turtle画图 二、什么是(BFS)广度优先算法?广度优先算法实现步骤1.引入库2.初…

【工具篇】Unity迷宫地图生成器MazeSpawner随机迷宫信手拈来

目录 一.迷宫生成效果 二.使用流程 三.使用场景 四.源码地址 一.迷宫生成效果 二.使用流程 1.导入后结构目录如下,打开prefab文件夹找到MazeSpawner放进场景里面

C++实现随机生成迷宫地图自动完成寻径

#include<iostream> #include<stack> #include<vector> using namespace std;template<class T> class Maze { public:Maze( //默认参数值pair<int, int> initSize make_pair(15, 17),pair<string, string> initStyle m…

Python 制作迷宫游戏(一)——地图

Python 制作迷宫游戏&#xff08;一&#xff09;——地图 序 作为一个迷宫类的游戏&#xff0c;其最重要的是什么&#xff1f;当然是它的地图啦♪(∇*) 那么我们又该如何制作一张迷宫地图呢⊙(・◇・)&#xff1f; 很显然&#xff0c;我们不可能一张张自己画吧 网络上常见的迷…

三套简单的迷宫地图生成方案

地图基础 地图的形式很多&#xff0c;这里我使用的地图是以tile块为单位分割的地图&#xff0c;地图上的tile块形式很多&#xff0c;但主要分成三种&#xff1a; A&#xff1a;陆地&#xff0c;可以在上面分布一些角色啦物件啦&#xff1b; B&#xff1a;过渡&#xff0c;根据物…

SenticNet情感词典介绍

在进行情感分析时&#xff0c;一个好的情感词典能够让我们的工作事半功倍&#xff0c;较为出名的情感词典有SentiWordNet&#xff0c;General Inquirer等&#xff0c;这篇博客将介绍另外一个出色情感词典&#xff0c;SenticNet。 简介 当谈论SenticNet时&#xff0c;我们正在…

中文金融领域情感词典构建

2019年10月4日-6日 Python爬虫与文本分析工作坊 & 课题申报高级研修班 这篇文章是公众号关注者郝童鞋今早发给我的&#xff0c;在此谢谢郝童鞋。 文章基于简单算法和人工判断&#xff0c;使用多阶段剔除法&#xff0c;构建了 中文金融情感词典CFSD&#xff08;ChineseFinan…