【问题标题】:Run exe from Java args (Minecraft Launcher)从 Java args 运行 exe(Minecraft 启动器)
【发布时间】:2021-11-17 01:34:53
【问题描述】:

我希望在从 MC 启动器运行 Minecraft 时启动另一个应用程序,这样就不需要手动打开或运行第二个应用程序。我认为Java args 可能是一种方法。这可行吗?

作为参考,这是默认的 java args:

"-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"

是否有允许我运行 exe 或执行 shell 命令的标志?

【问题讨论】:

  • 我很困惑。你的问题是什么?您想从 Java 程序启动另一个程序吗? “运行命令”是什么意思? Java args 与此有什么关系?
  • 我正在尝试在 Minecraft 启动时启动另一个 .exe,并想知道是否可以利用 java args 来执行此操作。
  • @Mr.Technician 好的,我明白你在做什么。不幸的是,我认为您的问题的答案很简单。 JVM 选项只是设置了 JVM 应该如何运行的各种参数,我非常怀疑是否有任何选项可以启动另一个程序。一个更简单的选择可能是让启动器启动您的程序而不是 Minecraft,然后让您的程序启动 Minecraft。我不知道该怎么做,但看起来你可以在启动器中添加一个新的“版本”并将它指向你想要的任何 jar 文件。
  • 有关执行 java 应用程序时的有效选项列表,请参阅此页面:docs.oracle.com/en/java/javase/14/docs/specs/man/java.html 当您需要时,任何选项都不允许。您需要在应用程序中管理它,或者使用启动 jar 文件和 exe 文件的脚本单独执行它。
  • 考虑到这一点,我认为运行一个自定义 jar 来启动 Minecraft jar 和自定义应用程序是最有意义的。

标签: java cmd minecraft args


【解决方案1】:

在使用旧版 Minecraft 启动器 (install guide) 时,您可以将您的 %APPDATA%/Roaming/.minecraft 目录中的 launcher.jar 文件替换为您自己的自定义 Java 应用程序。在您自己的应用程序中,您可以做任何您喜欢的事情。要启动 Minecraft,您必须自己启动原始的 launcher.jar。这可以通过Runtime.exec(String[]) 来完成,或者通过将launcher.jar 文件作为依赖项包含在您的项目中并直接调用其main(String[]) 方法来完成。或者,您可以编写一个批处理脚本来启动 Minecraft 启动器和您的应用程序,或者您可以编写一个 Minecraft Forge 客户端模块,您可以在游戏开始后立即执行任何操作。

【讨论】:

  • 所以听起来这对于当前的现代启动器是不可能的?当然,可以像 optifine 那样修改游戏,并且可以使用 Microsoft 商店的最新启动器...
  • 除非您可以修改该启动器,否则不会。我还没有迁移我的 Minecraft 帐户,也没有使用新的 Microsoft 商店启动器,所以我不知道启动器是用什么语言编写的,以及在其中破解某些东西需要付出多大的努力。如果我知道您的申请,那么也许我可以就如何做提供更好的建议。现在,您可能正在尝试在自动视频捕捉软件、游戏信息软件或键盘记录器之间启动任何东西。
  • 这是一个简单的 .NET 应用程序,可用于使 Minecraft(或任何其他应用程序)作为无边界窗口运行。几年前我写了这个应用程序。不过,有必要破解启动器吗? Optifine 是原版游戏的修改版本,例如,它可以从现代启动器运行。
  • 我也希望这个可以很容易地分发给其他人......所以修改启动器本身不是一个好方法。
  • 为了便于分发,编写客户端模组是可行的方法。玩家必须安装 Forge、Fabric 或其他客户端 modloader 并将您的 mod jar 放入某个 mods 目录。这种方式在 Minecraft 社区中也被广泛接受,因为这就是客户端改装的工作方式。好处是您还可以访问整个 MC 客户端,这使得可以在游戏中嵌入东西而不是运行单独的应用程序。缺点是您的模组将是特定于 MC 版本的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多