Пишу свой мод для майнкрафта на Fabric. Хочу создать класс каторый в случайный момент времени будет вводить команду. Спрашивал у chat gpt, и он мне предлогал сделать через Literal text, но сборка всё время жаловалась на такие строки как:
import net.minecraft.text.LiteralText;
server.getCommandManager().execute(server.getCommandSource().getBypassHidden(), new LiteralText("say Привет, мир!"));
Вот полный код:
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.event.server.ServerTickCallback;
import net.minecraft.server.MinecraftServer;
import net.minecraft.text.LiteralText;
import java.util.Random;
public class MyMod implements ModInitializer {
private static final Random RANDOM = new Random();
private static final int MAX_TICKS = 6000; // Максимальное количество тиков (20 тиков = 1 секунда)
private static int ticksUntilNextCommand;
@Override
public void onInitialize() {
ServerTickCallback.EVENT.register(this::onServerTick);
}
private void onServerTick(MinecraftServer server) {
if (ticksUntilNextCommand <= 0) {
// Вызываем вашу определённую команду здесь
server.getCommandManager().execute(server.getCommandSource().getBypassHidden(), new LiteralText("say Привет, мир!"));
// Устанавливаем новый случайный интервал для следующего вызова
ticksUntilNextCommand = RANDOM.nextInt(MAX_TICKS) + 1;
} else {
ticksUntilNextCommand--;
}
}
}