问题标签 [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.

0 投票
1 回答
506 浏览

java - 在运行时创建和覆盖 Java 枚举对象 [GregTech/minecraft]

我正在尝试使用此枚举并添加新材料。任何尚未删除的东西在其他地方都有硬依赖,即使如此,根据 mods 作者的说法,这几乎是 java 字节限制,所以无论如何都没有太多的工作空间。

GregoriousT 提到“有一种方法。Overmind 使用反射攻击了 Enum 以添加他自己的东西。不知道他是怎么做到的,如果你问他,也不知道他需要多长时间才能回复。”

我们正在谈论的枚举:http: //pastebin.com/g0aJ2Qjd

所以我只是问,我该怎么做呢?

这是我当前尝试[FML]: Variable m:1|newInstance|public java.lang.Object sun.reflect.DelegatingConstructorAccessorImpl.newInstance(java.lang.Object[]) throws java.lang.InstantiationException,java.lang.IllegalArgumentException,java.lang.reflect.InvocationTargetException|false 在客户端崩溃之前抛出的内容。(为了便于阅读,删除了日志代码)

当前尝试:

任何帮助或建议表示赞赏,他们在 Forge IRC 的人也不确定。

0 投票
1 回答
1458 浏览

coordinates - 如何获取玩家在 Minecraft 中持有的物品的坐标?使用 MinecraftForge

我正在使用 Minecraft Forge,我想知道如何获取玩家拿着或查看的方块或物品的坐标。或者它也可能只是玩家刚刚打破的一个方块。在任何情况下,我都需要获取这些坐标,以便能够以使 y=Sin(x) 的方式更改它们,并且我将继续循环和生成同一项目的副本,以便绘制 Sinus 函数。我真的很感激你的帮助..我被这个困住了好几天。最好的,

0 投票
2 回答
127 浏览

java - 使用单个类从任何元块中命名子块?

我试图使只需要一个类来命名使用此类注册的任何元块中的子块,即,将它们命名为好像它们是参数值一样,但不使用一个。

虽然这围绕着一个 API(Minecraft Forge),但我认为这是一个 Java 问题,所以我在这里快速解释一下我打算如何工作。

元块由子块组成,子块是同一块的变体(例如,同一块但只有纹理和名称改变)。每个子块都需要一个名称来标识它。ExampleItemBlock这些名称在 a中的类中列出String[],然后以格式命名MetablockName.SubBlockName(例如:ExampleMetablock.blueExampleMetablock.green等),使用

然后,ExampleMetablock使用实例化和注册元块

在此之后,一切正常,但是我必须为我制作的每个新元块创建一个新的 *ItemBlock 类,我认为这不是一件好事或适当的事情,我认为创建一个更好任何未来元块都将使用的单个类。

很明显,method 的第二个参数GameRegistry.registerBlock()(即 API 中的方法)需要 type 的值Class。这就是问题所在:如何在ExampleItemBlock不使用实例的情况下使类动态化?

我什至尝试在ExampleItemBlock构造函数中添加一个 String[] 参数,然后使用具有名称的实例代替类,但正如预期的那样,它表示类型不匹配。

我到处寻找某种方式来实现这一目标,但我只找到了两种方法:

1.为每个新元块创建一个ItemBlock类;
2.更改SUBNAMES[i]为or ,这将导致子块被命名为数字而不是名称(例如:getUnlocalizedName(),等),不需要使用 String[] 或任何东西,并使其成为一个通用类。然而,这种方式也是非常不切实际的,因为这在识别哪个子块是哪个时复杂了很多。iitemStack.getItemDamage()ExampleMetablock.0ExampleMetablock.1

我还在 GitHub 上搜索了一些 mods,但在代码中没有找到任何与此相关的内容(据我所知)。

所以我的问题是:有没有办法制作一个通用的 *ItemBlock 类,但仍然用名称(单词)命名子块?

类内容:ExampleMetablockExampleItemBlock

0 投票
2 回答
176 浏览

server - 使用 Minecraft Forge 创建新命令,并在命令执行时生成一个块

我创建了一个扩展 CommandBase 的 Command 类,我希望它在玩家正在寻找的位置生成一个我创建并称为“零”的块。这是我编写的代码,但它没有做任何事情。我希望有人可以提供帮助,并在此先感谢您。命令执行代码 事件处理程序代码

先感谢您 :)

0 投票
1 回答
887 浏览

client-side - Minecraft-Forge Java 编码:如何将服务器命令与客户端连接以即时显示世界的变化?

我正在编写一个命令,当您/fireworks在 Minecraft 命令行中运行该命令时会显示烟花。我应该特别做些什么来将此服务器命令与客户端连接以显示游戏中的烟花?我world.makefireworks(x,y,z,motionX,motionY,motionZ,compound)在命令中使用。提前致谢。

0 投票
2 回答
626 浏览

minecraft - gradlew 反编译错误

我想反编译forge src,但是当我输入命令时,它给了我一个错误。这是什么意思,我该如何解决?

上次登录:2 月 6 日星期六 20:59:20 on ttys000
Quangs-MacBook-Pro:~ quangnguyen200415$ bash /Users/quangnguyen200415/code/nullum\ et\ Vacuum/gradlew setupDecompWorkspace
线程“main”中的异常 java.lang.RuntimeException:在 Gradle 发行版“/Users/quangnguyen200415/.gradle/wrapper/dists/gradle-2.0-bin/5h57m9vra0mjv9qs45oqtsb5c0/gradle-2.0”中找不到 Gradle 启动器 JAR。在 org.gradle.wrapper.BootstrapMainStarter.findLauncherJar(BootstrapMainStarter.java:39) 在 org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:25) 在 org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127 ) 在 org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56) Quangs-MacBook-Pro:~ quangnguyen200415$

我正在运行最新版本的java 8

编辑:尝试简化它,没有效果

Quangs-MacBook-Pro:nullum et Vacuum quangnguyen200415$ ./gradlew setupDecompWorkspace 线程“main”中的异常 java.lang.RuntimeException:在 Gradle 分发中找不到 Gradle 启动器 JAR '/Users/quangnguyen200415/.gradle/wrapper/dists/ gradle-2.0-bin/5h57m9vra0mjv9qs45oqtsb5c0/gradle-2.0'。在 org.gradle.wrapper.BootstrapMainStarter.findLauncherJar(BootstrapMainStarter.java:39) 在 org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:25) 在 org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127 ) 在 org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56) Quangs-MacBook-Pro:nullum et Vacuum quangnguyen200415$

0 投票
1 回答
744 浏览

java - Minecraft Forge 设置 JAVA_HOME 变量 - Ubuntu

正如标题所暗示的,我有 Ubuntu,我试图在 Minecraft Forge 文件夹中调整命令 ./gradlew setupDecompWorkspace,但在大约 70% 时出现以下错误

找不到 javac 编译器;com.sun.tools.javac.Main 不在类路径中。也许 JAVA_HOME 不指向 JDK。当前设置为“/usr/lib/jvm/java-7-openjdk-amd64/jre”

虽然我将 JAVA_HOME 变量设置为 JDK 而不是 JRE,但我通过在终端中运行 export 来确认它,并说明了以下内容

请帮我解决这个问题!!

0 投票
1 回答
778 浏览

c# - Minecraft-Forge:JSON 文件哈希

我目前正在使用forge为我的世界开发一个启动器。我现在面临的问题是关于hashes。Vanilla 的哈希值是 SHA1 哈希值,没关系。(例如https://s3.amazonaws.com/Minecraft.Download/versions/1.7.10/1.7.10.json)我也必须检查哈希值是否有伪造有这个 JSON 文件:https ://github.com/MinecraftForge/FML/blob/master/jsons/1.7.10-rel.json 。正如您所看到的,每个库都有一个带有两个值的校验和字段。现在我的问题是:它们是什么?我想它们是文件的某种散列,而不是名称。我尝试检查 SHA1 和 MD5,但它们不一样。我什至不明白为什么有两个值。有人对此有解释吗?

0 投票
2 回答
492 浏览

java - 让苹果给你经验??| Minecraft Forge 改装 1.7.10

你好互联网的人们,我想知道是否有一种方法可以让定制的食物给你 XP。我正在制作一个模组,并希望“SimonApple”给我 XP。请让我知道是否有办法做到这一点。

0 投票
1 回答
510 浏览

java - 如何在 Minecraft Forge 中使用 java 在块上放置杠杆?

在我的 minecraft mod 中,我正在尝试编写一段代码,将块放置在给定位置,并在放置块后在该块上放置一个杠杆。

我怎样才能做到这一点?

这是我放置必须放置杠杆的块的代码。

所以基本上,我想知道在放置后将杠杆放置在这个块上的功能。

或者,如果有一些特殊类型的块默认带有杠杆,我想使用它。当你点击控制杆时,我想让一个事件发生。