Skip to content

Commit 8b77f1e

Browse files
Add files via upload
1 parent cc4ba08 commit 8b77f1e

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

atom.xml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<feed xmlns="http://www.w3.org/2005/Atom">
3+
<title>Neoforge模组开发</title>
4+
5+
6+
<link href="https://neoforgetutorial.netlify.app/atom.xml" rel="self"/>
7+
8+
<link href="https://neoforgetutorial.netlify.app/"/>
9+
<updated>2025-04-12T03:57:22.351Z</updated>
10+
<id>https://neoforgetutorial.netlify.app/</id>
11+
12+
<author>
13+
<name>Taigou</name>
14+
15+
</author>
16+
17+
<generator uri="https://hexo.io/">Hexo</generator>
18+
19+
<entry>
20+
<title>2.创建第一个方块</title>
21+
<link href="https://neoforgetutorial.netlify.app/wiki/2.%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%96%B9%E5%9D%97.html"/>
22+
<id>https://neoforgetutorial.netlify.app/wiki/2.%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%96%B9%E5%9D%97.html</id>
23+
<published>2025-04-12T03:38:00.000Z</published>
24+
<updated>2025-04-12T03:57:22.351Z</updated>
25+
26+
<content type="html"><![CDATA[<h1 id="2-创建第一个方块"><a href="#2-创建第一个方块" class="headerlink" title="2.创建第一个方块"></a>2.创建第一个方块</h1><h2 id="2-1分包"><a href="#2-1分包" class="headerlink" title="2.1分包"></a>2.1分包</h2><h3 id="Tip"><a href="#Tip" class="headerlink" title="Tip:"></a><code>Tip:</code></h3><p><code>建议把模组分成多个部分,以提升模组的可读性。你可以按照功能或按照逻辑将模组分为多个包。</code></p><p><code>按照功能:例如将方块放在block包中,将物品放在item包中,将实体放在entity包中。</code></p><p><code>按照逻辑:通过游戏内容的分类进行分类。例如,你想搞一个新的工作台,你可以将和它有关的方块、物品、菜单等内容归为一类。</code></p><h3 id="操作:"><a href="#操作:" class="headerlink" title="操作:"></a>操作:</h3><p>新建一个包(在上一篇文章中打开的类.java相同的目录下新建一个文件夹),然后新建一个类。</p><p>例如:com.Taigou.industrial_technology –&gt;block –&gt;Macerator,java</p><p>在主类中导包</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> ...</span><br></pre></td></tr></table></figure><p>例如:</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> com.Taigou.industrial_technology.block.Macerator;</span><br></pre></td></tr></table></figure><h2 id="2-2-注册方块"><a href="#2-2-注册方块" class="headerlink" title="2.2 注册方块"></a>2.2 注册方块</h2><p>创建注册器(DeferredRegister.Blocks)</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> DeferredRegister.<span class="type">Blocks</span> <span class="variable">BLOCKS</span> <span class="operator">=</span> DeferredRegister.createBlocks(<span class="string">&quot;yourmodid&quot;</span>);</span><br></pre></td></tr></table></figure><p>可以直接注册方块</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> DeferredBlock&lt;Block&gt; MY_BETTER_BLOCK = BLOCKS.register(</span><br><span class="line"> <span class="string">&quot;my_block&quot;</span>, </span><br><span class="line"> registryName -&gt; <span class="keyword">new</span> <span class="title class_">Block</span>(BlockBehaviour.Properties.of()</span><br><span class="line"> .setId(ResourceKey.create(Registries.BLOCK, registryName))</span><br><span class="line"> .destroyTime(<span class="number">2.0f</span>)</span><br><span class="line"> .explosionResistance(<span class="number">10.0f</span>)</span><br><span class="line"> .lightLevel(state -&gt; <span class="number">0</span>)</span><br><span class="line"> ));</span><br></pre></td></tr></table></figure><p>my_block为你的方块名</p><p>setID:每个方块注册必须有它</p><p>destroyTime:挖掘时间,石头的破坏时间为1.5,泥土为0.5,黑曜石为50,基岩为-1(无法挖掘)。</p><p>explosionResistance:爆炸抗性,石头的抗爆性为6.0,泥土为0.5,黑曜石为1200,基岩为360万。</p><p>lightLevel:发光亮度,在[0,15]区间内。</p><p>(这是几个比较常用的属性,还有其他属性,此处不再一一列举)</p><p>在主类中使用注册器:</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> 主类类名(IEventBus modEventBus, ModContainer modContainer)</span><br><span class="line">&#123;</span><br><span class="line"> 注册类名.BLOCKS.register(modEventBus);<span class="comment">//使用方块注册器</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>注册类名填你注册方块的类名。</p>]]></content>
27+
28+
29+
30+
31+
<summary type="html">&lt;h1 id=&quot;2-创建第一个方块&quot;&gt;&lt;a href=&quot;#2-创建第一个方块&quot; class=&quot;headerlink&quot; title=&quot;2.创建第一个方块&quot;&gt;&lt;/a&gt;2.创建第一个方块&lt;/h1&gt;&lt;h2 id=&quot;2-1分包&quot;&gt;&lt;a href=&quot;#2-1分包&quot; class=&quot;header</summary>
32+
33+
34+
35+
36+
<category term="Neoforge模组" scheme="https://neoforgetutorial.netlify.app/categories/Neoforge%E6%A8%A1%E7%BB%84/"/>
37+
38+
39+
</entry>
40+
41+
<entry>
42+
<title>1.开始制作模组&amp;环境配置</title>
43+
<link href="https://neoforgetutorial.netlify.app/wiki/1.%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%A8%A1%E7%BB%84&amp;%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.html"/>
44+
<id>https://neoforgetutorial.netlify.app/wiki/1.%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%A8%A1%E7%BB%84&amp;%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.html</id>
45+
<published>2025-04-12T03:36:04.000Z</published>
46+
<updated>2025-04-12T03:57:07.981Z</updated>
47+
48+
<content type="html"><![CDATA[<h1 id="1-开始制作模组-环境配置"><a href="#1-开始制作模组-环境配置" class="headerlink" title="1.开始制作模组&amp;环境配置"></a>1.开始制作模组&amp;环境配置</h1><p>建议熟悉Java编程语言(花几个小时在网上学习了解一下也可以)</p><h2 id="下载JDK和IntelliJ-IDEA"><a href="#下载JDK和IntelliJ-IDEA" class="headerlink" title="下载JDK和IntelliJ IDEA"></a>下载JDK和IntelliJ IDEA</h2><p>下载<a href="https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-21">JDK21</a>,按正常步骤安装就可以了。</p><p><img src="/assets/1.png"></p><p>下载<a href="https://www.jetbrains.com/idea/download/?section=windows">IntelliJ IDEA</a>,建议下载图中的社区版,因为它免费,如果你想选专业版也可以。</p><p><img src="/assets/2.png"></p><h2 id="下载MDK"><a href="#下载MDK" class="headerlink" title="下载MDK"></a>下载MDK</h2><p>点击<a href="https://github.com/NeoForgeMDKs/MDK-1.21.4-ModDevGradle">链接</a>,将仓库克隆到本地。</p><p>若链接打不开或下载速度极慢,<a href="https://github.com/Taigou-1/Blogs-Tech-Tips-Articles/blob/main/Github%E7%BB%8F%E5%B8%B8%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%8C%E6%95%99%E4%BD%A0%E6%B5%81%E7%95%85%E8%AE%BF%E9%97%AEGithub.md">这篇文章</a>提供一个较好的解决方案。或者,网上还有很多类似的视屏或文章,也可以帮到你。</p><p><img src="/assets/3.png"></p><p>点击【Code】,【Download Zip】,仓库会下载到本地。然后将压缩包解压缩。</p><h2 id="用IDEA打开文件"><a href="#用IDEA打开文件" class="headerlink" title="用IDEA打开文件"></a>用IDEA打开文件</h2><p>用IDEA打开【MDK-1.21.4-ModDevGradle-main】文件,等待构建完成,可能需要一段时间。点击图中标出的【构建按钮】,可以看到构建任务的状态,如果构建出错,可以按照这一栏中IDEA给出的方法解决。</p><p><img src="/assets/4.png"></p><p>点击右侧在图中标出的按钮,双击【runClient】,IDEA会启动Minecraft,用于测试模组。选择【Language】,然后点击继续(continue),点击【模组列表】,可以看到【Example Mod】是我们现在正在制作的模组。</p><p><img src="/assets/5.png"></p><h2 id="修改Mod信息"><a href="#修改Mod信息" class="headerlink" title="修改Mod信息"></a>修改Mod信息</h2><p>双击左侧【gradle.properties】文件,修改信息:</p><p>mod_id:模组ID(MOD ID),用于区分你的模组和其他模组,两个模组如果有相同的Mod ID,模组将不能正常加载。模组ID还将作为资源和数据包的命名空间(例如模组中所有的物品ID开头都含有模组ID,用来与其他模组的同名物品区分)。只能包含小写字母、数字和下划线。</p><p>mod_name:模组的名字</p><p>mod_version:模组版本</p><p>mod_group_id:你的组ID,两个具有相同组ID的模组同时加载时只有一个能用,文件中给出的示例为com.example.examplemod,【example】部分随意命名,【examplemod】部分改为你的模组ID。例如我的MOD ID为industrial_technology,组ID为com.Taigou.industrial_technology。</p><p>mod_description:模组介绍,会在模组列表中显示</p><p><img src="/assets/6.png"></p><h2 id="调整包结构"><a href="#调整包结构" class="headerlink" title="调整包结构"></a>调整包结构</h2><p>打开scr\main\java\com\example\examplemod\ExampleMod.java文件</p><p><img src="/assets/7.png"></p><p>将第一行package后面的“com.example.examplemod”改为你的组ID,下方会出现红色小按钮,点它,然后点击【移至软件包…】。同时,Config.java文件同样需要像这样修改第一行内容。</p><p>将ModID修改为你的模组ID。</p><p>可选:修改类名,注意需要在IDEA显示报错的位置(即相关联的位置)按照提示进行修改。</p><p>可选:删去物品注册示例代码(第52——68行),其他多余的代码可暂时保留,以供需要时参考。</p><p>点击【同步Gradle项目】(如下图),重新构建</p><p><img src="/assets/8.png"></p>]]></content>
49+
50+
51+
52+
53+
<summary type="html">&lt;h1 id=&quot;1-开始制作模组-环境配置&quot;&gt;&lt;a href=&quot;#1-开始制作模组-环境配置&quot; class=&quot;headerlink&quot; title=&quot;1.开始制作模组&amp;amp;环境配置&quot;&gt;&lt;/a&gt;1.开始制作模组&amp;amp;环境配置&lt;/h1&gt;&lt;p&gt;建议熟悉Java编程语言(花几个小时</summary>
54+
55+
56+
57+
58+
<category term="Neoforge模组" scheme="https://neoforgetutorial.netlify.app/categories/Neoforge%E6%A8%A1%E7%BB%84/"/>
59+
60+
61+
</entry>
62+
63+
</feed>

0 commit comments

Comments
 (0)