SimpleMod.java
Код: Выделить всё
package net.arecdev.simplemod;
import net.fabricmc.api.ModInitializer;
import net.arecdev.simplemod.test.TestClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SimpleMod implements ModInitializer {
public static final String MOD_ID = "simplemod";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
LOGGER.info("Simple Mod has started");
String teststring = TestClass.test();
LOGGER.info("String: " + teststring);
}
}
Код: Выделить всё
package net.arecdev.simplemod.test;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
public class TestClass {
public static String test() {
PlayerEntity player = MinecraftClient.getInstance().player;
Text playerDisplayName = player.getDisplayName();
String playerDisplayString = playerDisplayName.getString();
return playerDisplayString;
}
}
Вызвано: java.lang.NullPointerException: невозможно вызвать «net.minecraft.entity.player.PlayerEntity.getDisplayName()», потому что «player» имеет значение null
Я предполагаю, что это происходит потому, что MinecraftClient еще не запущен в этот момент пока.
Так как же мне дождаться инициализации MinecraftClient?
Подробнее здесь: https://stackoverflow.com/questions/782 ... turns-null
Мобильная версия