Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Forge 1.16.5 команды

  • Автор темы Автор темы else_if
  • Дата начала Дата начала
Новичок
Новичок
Статус
Оффлайн
Регистрация
23 Ноя 2024
Сообщения
1
Реакции
0
Код:
Expand Collapse Copy
package me.elseif.unityautobuy;

import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod.EventBusSubscriber(modid = "unityautobuy", bus = Mod.EventBusSubscriber.Bus.FORGE)
public class CommandHandler {

    public static boolean isAutoBuyEnabled = false;
    public static int targetPrice = -1;

    @SubscribeEvent
    public static void onRegisterCommands(RegisterCommandsEvent event) {
        CommandDispatcher<CommandSource> dispatcher = event.getDispatcher();

        dispatcher.register(
                Commands.literal("autobuy")
                        .then(Commands.literal("add")
                                .then(Commands.argument("price", IntegerArgumentType.integer(0))
                                        .executes(context -> {
                                            ServerPlayerEntity player = context.getSource().asPlayer();
                                            if (player != null) {
                                                int price = IntegerArgumentType.getInteger(context, "price");
                                                targetPrice = price;
                                                player.sendMessage(new StringTextComponent("Добавлен товар с ценой: $" + price), player.getUniqueID());
                                                return 1;
                                            } else {
                                                context.getSource().sendErrorMessage(new StringTextComponent("Ошибка: Игрок не найден."));
                                                return 0;
                                            }
                                        })))
                        .then(Commands.literal("on")
                                .executes(context -> {
                                    ServerPlayerEntity player = context.getSource().asPlayer();
                                    if (player != null) {
                                        isAutoBuyEnabled = true;
                                        player.sendMessage(new StringTextComponent("AutoBuy включен."), player.getUniqueID());
                                        return 1;
                                    } else {
                                        context.getSource().sendErrorMessage(new StringTextComponent("Ошибка: Игрок не найден."));
                                        return 0;
                                    }
                                }))
                        .then(Commands.literal("off")
                                .executes(context -> {
                                    ServerPlayerEntity player = context.getSource().asPlayer();
                                    if (player != null) {
                                        isAutoBuyEnabled = false;
                                        player.sendMessage(new StringTextComponent("AutoBuy выключен."), player.getUniqueID());
                                        return 1;
                                    } else {
                                        context.getSource().sendErrorMessage(new StringTextComponent("Ошибка: Игрок не найден."));
                                        return 0;
                                    }
                                }))
        );
    }
}
На сервере данная команда не работает, а в одиночном режиме да
 
Код:
Expand Collapse Copy
package me.elseif.unityautobuy;

import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod.EventBusSubscriber(modid = "unityautobuy", bus = Mod.EventBusSubscriber.Bus.FORGE)
public class CommandHandler {

    public static boolean isAutoBuyEnabled = false;
    public static int targetPrice = -1;

    @SubscribeEvent
    public static void onRegisterCommands(RegisterCommandsEvent event) {
        CommandDispatcher<CommandSource> dispatcher = event.getDispatcher();

        dispatcher.register(
                Commands.literal("autobuy")
                        .then(Commands.literal("add")
                                .then(Commands.argument("price", IntegerArgumentType.integer(0))
                                        .executes(context -> {
                                            ServerPlayerEntity player = context.getSource().asPlayer();
                                            if (player != null) {
                                                int price = IntegerArgumentType.getInteger(context, "price");
                                                targetPrice = price;
                                                player.sendMessage(new StringTextComponent("Добавлен товар с ценой: $" + price), player.getUniqueID());
                                                return 1;
                                            } else {
                                                context.getSource().sendErrorMessage(new StringTextComponent("Ошибка: Игрок не найден."));
                                                return 0;
                                            }
                                        })))
                        .then(Commands.literal("on")
                                .executes(context -> {
                                    ServerPlayerEntity player = context.getSource().asPlayer();
                                    if (player != null) {
                                        isAutoBuyEnabled = true;
                                        player.sendMessage(new StringTextComponent("AutoBuy включен."), player.getUniqueID());
                                        return 1;
                                    } else {
                                        context.getSource().sendErrorMessage(new StringTextComponent("Ошибка: Игрок не найден."));
                                        return 0;
                                    }
                                }))
                        .then(Commands.literal("off")
                                .executes(context -> {
                                    ServerPlayerEntity player = context.getSource().asPlayer();
                                    if (player != null) {
                                        isAutoBuyEnabled = false;
                                        player.sendMessage(new StringTextComponent("AutoBuy выключен."), player.getUniqueID());
                                        return 1;
                                    } else {
                                        context.getSource().sendErrorMessage(new StringTextComponent("Ошибка: Игрок не найден."));
                                        return 0;
                                    }
                                }))
        );
    }
}
На сервере данная команда не работает, а в одиночном режиме да
бля ты вообще не то делаешь хахахахахаха надо свою сестему комманд писать
 
Назад
Сверху Снизу