Задать вопрос
@Zuhains

Как создать класс для мода каторый в случайный момент игры будет выполнять команду в minecraft?

Пишу свой мод для майнкрафта на 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--;
        }
    }
}
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы