我正在尝试使用以下设置启动 Minecraft:
-XX:MaxPermSize=512M -Xms4096M -Xmx4096M
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
[19:19:13 INFO]: Client> Error occurred during initialization of VM
[19:19:13 INFO]: Client> Incompatible minimum and maximum heap sizes specified
[19:19:13 INFO]: Client> Picked up _JAVA_OPTIONS: -Xmx512M
[19:19:13 ERROR]: Game ended with bad state (exit code 1)
[19:19:13 INFO]: Deleting C:\Users\Phil\AppData\Roaming\.minecraft\versions\1.6.4 Forge9.11.1.953\1.6.4-Forge9.11.1.953-natives-13645892457185
[19:19:13 INFO]: Ignoring visibility rule and showing launcher due to a game crash
Run Code Online (Sandbox Code Playgroud)
我检查过,有人说这是由于Java环境设置造成的,但是,我检查过,Windows 8.1的环境设置中没有Java参数。
在为我的 bukkit 插件编程时,我意识到我需要有自己的配置文件,以便我可以在文件中添加注释。我还需要能够更新配置(如果它已经创建并且是旧的)。
我最近还完成了一个简单的 jQuery 插件,我使用jQuery.extend并合并了两个设置数组。我想知道这在带有配置文件的 java 中是否可行。
我的问题:
Is there a way i can merge the new default config with the one the user already has? (Removing non-needed values or changing the names of the same strings)
问题的解释:
这是我可能拥有的示例 config.yml:
# Comment here....
myString: defaultString
myBool: false
myList:
- Value
- Value 2
Run Code Online (Sandbox Code Playgroud)
很简单。假设这是我的默认配置。插件已将此配置(如果尚未存在)复制到插件文件夹中。但是,这带来了一个问题:
What if i need to update my config? (Add/Remove a bool, string, etc.)
有一天,我说“我不再需要那个布尔值myBool”。我从默认的 config.yml 中删除它,配置看起来像这样:
# Comment here....
myString: defaultString …Run Code Online (Sandbox Code Playgroud) 我的我的世界服务器程序遇到了这个令人讨厌的问题。当您尝试登录我的 minecraft 服务器时,我尝试从 minecraft.com 获得登录响应。一切都很好,设置像验证令牌密钥和共享秘密。
我只是无法获得使用 curl 的 get 请求:(
这就是我所拥有的:
requestString.append("GET /session/minecraft/hasJoined?username=");
requestString.append(player.Username);
requestString.append("&");
requestString.append("serverId=");
requestString.append(player.loginHash);
requestString.append(" HTTP/1.0\r\n");
std::cout << requestString << std::endl;
curl_easy_setopt(curl, CURLOPT_URL, "https://sessionserver.mojang.com");
list = curl_slist_append(list, requestString.c_str());
list = curl_slist_append(list, "User-Agent: MinecraftServerPP\r\n");
list = curl_slist_append(list, "Connection: close\r\n");
list = curl_slist_append(list, "\r\n");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_setopt(curl, CURLOPT_CAINFO, "cacert.pem");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &_write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
Run Code Online (Sandbox Code Playgroud)
我从服务器得到了一个 ok,但不是包含我需要的数据的 json 对象。
我想通过 SSH(PHP 脚本)启动一个 java 进程(Minecraft 服务器)。并且在断开连接时它不应该关闭。
我正在使用适用于 Windows 和 64 位 Java 的 Bitvise SSH 服务器。我可以启动服务器,但是如果我与 ssh 服务器断开连接,那么 java 进程(Minecraft 服务器)就会停止。我试过 PUTTY 但同样的问题。
是否有用于 cmd 的命令,例如用于 Linux 的 screen 将进程置于后台?
谢谢。
This is a continuation of this question My initial issue has been solved, but a new one came after.
Following the tutorial mentioned in it, having solved a few errors, I now get an error when I try to run .\gradlew tasks:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1614-1.7.10-src\build.gradle' line: 18
* What went wrong:
A problem occurred evaluating root project 'forge-1.7.10-10.13.4.1614-1.7.10-src'.
> Failed to apply plugin [id 'forge']
> You must set the Minecraft Version! …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 macOS 上的 eclipse 中制作一个 smimple mod,一切正常,直到我将纹理 .png 文件添加到游戏中,然后出现 DS_Store 错误,我几乎每一次都查看了有关此问题的内容,但没有任何效果,我知道您可以停止在 NAS 上创建 DS_Store 而不是在本地,我可以做些什么来解决这个问题?
[m[32m[23:15:59] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [forge] Found status: BETA Current: 30.0.51 Target: 30.0.51
[m[32m[23:15:59] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [testmod] Starting version check at http://myurl.me/
[m[33m[23:16:00] [Forge Version Check/WARN] [ne.mi.fm.VersionChecker/]: Failed to process update information
java.io.IOException: Server returned HTTP response code: 400 for URL: http://myurl.me/
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_231] {}
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_231] {}
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_231] {}
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_231] {}
at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950) ~[?:1.8.0_231] {} …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行我的修改后的 mc 服务器。它可以在 windows 上运行,但是当我尝试在 ubuntu 上运行它时,它给了我这个错误:
saif@Saif-Ubuntu:~/Desktop/Minecraft Server$ java -Xmx2048M -Xms2048M -jar forge-1.12.2-
14.23.5.2854.jar
A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:70)
at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:34)
Caused by: java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
... 6 more
Run Code Online (Sandbox Code Playgroud)
我尝试了 uding jdk 11 和 jdk 8,但我只能说这两种方法都不起作用。有人知道我可以尝试什么吗?
我有一个 mod 想要读取splits.ymlminecraft 目录中的文件,其中包含其他配置(config.txt 等)。我不知道我会怎么做。我的第一个想法是使用 Mixin
@Mixin(GameOptions.class)
public class GameOptionsMixin {
@Shadow @Final private File optionsFile;
@Inject(method = "load", at = @At("RETURN"))
private void load(CallbackInfo info) {
File splits = new File(optionsFile.getParent(), "splits.yml");
}
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何提取价值。我也不相信该文件夹会是.minecraft因为许多结构用户使用 MultiMC。
我正在尝试制作一张像新的“我们之中”游戏那样的地图,但我遇到了一个问题:我无法在命令之间进行延迟。
我自己尝试过,但改为查找教程,但它们仅适用于 Minecraft Java 版。我尝试了很多方法,例如使用记分板命令,但它使用重复命令,而您无法在 mcfunction 文件中执行这些命令。我还尝试过创建一个设置延迟的命令,但由于它是“自定义”命令,所以我无法在 .mcfunction 文件中使用它。
我想在 1.16.3 中编写 Minecraft mod。我已经在1.12.2中制作了一个mod,但我没有遇到这个问题。我只是下载 1.16.3 forge Mdk 并为 eclipse 构建它(在 cmd 中使用“gradlew eclipse”),但是当我尝试运行 mod(使用“runClient.launch”)时。它给出了一个错误:
java.lang.NoClassDefFoundError:jdk/nashorn/api/scripting/NashornScriptEngineFactory。
我尝试修改主文件和包以支持不必要的代码,但是当我开始时。它给了我同样的错误。
我的主要文件:
package fr.luzog78.newmod;
import net.minecraft.block.Blocks;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@Mod("newmod")
public class NewMod {
private static final Logger LOGGER = LogManager.getLogger();
public NewMod() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
MinecraftForge.EVENT_BUS.register(this);
}
private void setup(final FMLCommonSetupEvent event) {
LOGGER.info("HELLO FROM PREINIT");
LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
}
private void doClientStuff(final FMLClientSetupEvent event) {
}
// @SubscribeEvent
// …Run Code Online (Sandbox Code Playgroud)