问题标签 [minecraft-forge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 将 minecraft forge 导入到我的 Minecraft 工作区后,如何查看它的所有“命令”?
不久前我开始学习 Java,并且对这门语言有相当的了解(我已经读完了 Herbert Scheildns Java 初学者指南书的一半)。
我真的很想在 forge 中编写一个 MineCraft 模组。因此,我使用此视频https://www.youtube.com/watch?v=tD6MsMWIH-4&list=UUrsaesoinvX126cv-ctAwBw&index=18设置了环境,并且成功了。
现在我有两个问题。一个有点离题,但我真的不知道还有什么地方可以问,我很感激帮助。如果您不想回答离题问题,请至少帮助另一个问题。
我的第一个问题是:如何查看 MineCraft forge 的“命令”。我知道它导入了一个命令库,我想知道是否有办法查看它们(getHealth() 之类的命令或类似的东西)。
现在这里是题外话:什么是我学习如何使用 MineCraft forge 进行编码的最佳方式。我知道必须有一个特定的“语法”,这样一个 mod 才能像代理和 Preload 方法一样运行,所以我想知道是否有某种类型的教程你们都知道。感谢您的帮助,对不起,关于话题!
java - 机器人类和 Forge 键绑定
我想要的只是制作一个锻造模组,当我按 O 时按 F3
这是我有 KeyBindings.java 的 2 个类文件
KeyInputHandler.java
当我进入游戏并按 O 时没有任何反应
java - Minecraft Forge 1.7.10 - 从 ID 中删除食谱
我正在尝试为 Minecraft 1.7.10 制作一个小型实用程序模组,您可以在其中将 ID 列表放入配置文件中,然后该模组会从游戏中删除它们的配方。我已经让配置文件正常工作,但我似乎无法删除食谱。
我删除食谱的方法是我在其他地方的几个论坛线程中看到的一种方法,并稍作修改以使用我的配置文件(或在我的情况下不起作用)。
这是方法:
java - Minecraft forge mod:移除一个方块并放置一个新方块
我目前正在制作一个我的世界锻造模组。有谁知道如何首先删除特定坐标上的块,然后在同一个地方放置一个新块?就像用新块替换旧块一样。
我将它放在这段代码的中间:
Item.dirt 只是一个测试
所以如果玩家拿着一个特定的物品(我现在使用泥土)并右键单击该块,就会发生一些事情。顺便说一句,当玩家右键单击该块时,我有更多的代码使这种情况发生。
我已经用谷歌搜索了它并没有找到任何东西。
java - 我的世界锻造不加载纹理
我正在尝试自学 Java 语法并使用 minecraft 作为潜水平台。但我遇到了问题,因为我的纹理都没有被加载。就此而言,我的本地化也不是。这是我的块的代码
这是我的常量类
我的纹理保存在
根据日志,它无法找到我的纹理。这是我收到的信息
客户端加载并显示我的项目,但具有默认的黑色和紫色纹理。我做错了什么?我认为这可能与我的命名约定有关,因为 .lang 文件也永远不会被读取,而我可以给我的块起一个友好名称的唯一方法是使用现在已弃用的LanguageRegistry.addName()
方法
java - 反编译的 minecraft 源代码的 javadoc 注释在哪里?
我使用 Forge 反编译了 Minecraft 1.8。在源代码中,我看到添加的 Forge 方法和修改都已正确注释。但是,Minecraft 的原版代码根本没有注释。我知道 MCP 用于反编译 Minecraft,但我认为它在所有方法中添加了 javadoc 注释。我想知道是否有办法找到 javadoc 并将其附加到我的项目中。
java - 在 onBlockActivated 中将 NBTtagList 条目添加到 ItemStack
我有一个项目,它应该在右键单击带有特定块的块时添加它的坐标。坐标存储在 NBTTagList 中。
问题是不会保存对 ItemStack 的更改。它没有保存在 level.dat 中,它在单人游戏中保存了玩家的项目。使用数据的 addInformation 方法也不会得到任何东西。
消息来源:
目标块类的onBlockActivate方法:
项目类的方法:
java - java重写的方法没有被调用
我正在尝试为 Minecraft 制作一个小模组。
这涉及创建自定义 WorldType。
到目前为止,我的代码如下所示:
在 HungryPillarWorld.class
在 HungryPillarsChunkProvider.class
编译或运行时没有错误,但我的方法HungryPillarsChunkProvider.loadChunk
方法没有被游戏调用。它仍然使用来自ChunkProviderGenerate
. 我可以在这里发布原始的 Minecraft 代码,但它非常大。
我已经检查过它不是私有的或最终的。
我的方法如下所示ChunkProviderGenerate
:
ChunkProviderGenerate
IChunkProvider
如果有任何区别,则实现接口。我也试过让我自己的班级也这样做,但没有效果。
在控制台中,我得到以下输出:
但是最后一条消息(“来自自定义 loadChunk 的东西”)从未显示过,我放在那里的任何其他代码似乎都没有运行,所以我在这里错过了什么?
当游戏很高兴地跳过我所有的类来获得世界类型时,为什么不使用我的新方法?
java - 如何在 Minecraft 中获取和设置方块项目的元数据值?
我正在使用 Minecraft Forge 编写一个 Minecraft 模块。
我可以从世界上检索一个 Block 对象,使用
但是,现在我有了块,我如何找出元数据?如果该块是 StoneSteps 块,那么我想知道它的方向,它保存在元数据中。
同样,如何设置此值?我可以简单地创建一个新块:
但同样,我现在如何将此块设置为特定方向?我知道您可以在创建 ItemStack 时执行此操作,但在这种情况下,我想要一个可以传递给world.setBlock()
.
我似乎找不到任何方法来获取和设置这个值。
java - 如何从字符串转换为 NBTCompoundTag?
我正在为 Minecraft Forge 模块编写一些代码,我需要在其中将 TileEntity 定义保存到字符串和从字符串恢复。
要将 TileEntity 转换为字符串,我可以使用:
但是,要从 String 转换回 TileEntitiy,我错过了 toString 方法的反向(某种 NBT 解析器)。
我搜索了各种文档,但找不到可以将字符串表示形式转换为解析的 NBTCompoundTag 对象的函数。
我的问题是,在包含 NBT 的字符串中解析的方法是什么?