当前位置: 首页 > 知识库问答 >
问题:

Minecraft 1.8.9命令中的Modded命令在多人服务器中不存在

楚良平
2023-03-14

我正在为1.8.9开发一些minecraft mod。我试图创建的是简单地发送消息给发送者的命令。

下面是command类和main类的代码

package happyandjust.happymod.commands;

import java.util.HashMap;
import java.util.List;

import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;

public class Command extends CommandBase {

    private HashMap<String, String> collection = new HashMap<String, String>();

    @Override
    public String getCommandName() {
        return "collection";
    }

    @Override
    public String getCommandUsage(ICommandSender sender) {
        return "collection <enchant name>";
    }

    @Override
    public void processCommand(ICommandSender sender, String[] args) throws CommandException {

        collection.put("harvesting", "Wheat Collection Level 2");
        collection.put("cubism", "Pumpkin Collection Level 5");

        if (args.length < 1) {
            sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /collection [Enchant Name]"));
            return;
        }

        if (args.length == 1) {
            String enchant_name = args[0].toLowerCase();
            String collec = collection.get(enchant_name);
            if (collec == null) {
                sender.addChatMessage(new ChatComponentText(
                        EnumChatFormatting.RED + enchant_name.toUpperCase() + " is not valid Enchant Name"));
                return;
            }
            sender.addChatMessage(new ChatComponentText(
                    EnumChatFormatting.GREEN + enchant_name.toUpperCase() + " is at " + collection.get(enchant_name)));
        }

    }

    @Override
    public boolean canCommandSenderUseCommand(ICommandSender sender) {
        return true;

    }

}
package happyandjust.happymod.main;

import happyandjust.happymod.commands.Command;
import happyandjust.happymod.proxy.CommonProxy;
import happyandjust.happymod.util.Reference;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.ModContainer;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;

@Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION)

public class HappyMod {

    @Instance
    public static HappyMod instance;

    @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS)
    public static CommonProxy proxy;

    @EventHandler
    public static void preInit(FMLPostInitializationEvent e) {
    }

    @EventHandler
    public static void init(FMLInitializationEvent e) {
        ClientCommandHandler.instance.registerCommand(new Command());
    }

    @EventHandler
    public static void postInit(FMLPostInitializationEvent e) {

    }

}

我不知道怎么做

有谁能帮我在多人服务器中使用这个命令吗?

共有1个答案

丁豪
2023-03-14

您需要重写CommandBase中的GetRequiredPermissionLevel()方法,使其在多人游戏中工作。

@Override
public int getRequiredPermissionLevel() {
    return 0;
}
 类似资料:
  • 在我的项目目录中,我使用以下命令安装了Grunt: ...之后,我在我的项目目录中创建了Grunt服务器,但它给了我命令NotFound错误。 和: 我怎样才能修好它?

  • 主要内容:常用服务器命令,基本命令演示Redis 服务器是对客户端提供服务的主体,只要是安装了 Redis 数据库的计算机都可以通过本地,或者远程的方式对外提供服务。 Redis 服务器能够以高可用集群的方式对外提供服务。所谓高可用集群,指的是多台 Redis 服务器组成的服务器架构,每台服务器都提供相同的服务,从而让服务器达到一个稳定,高效的运行状态。有关 Redis 集群的相关知识在后续内容中详介绍。 从 3.0 版本开始,Red

  • KEYS,SCAN,FLUSHDB 等等,这些命令在哪里? 一些常见的重复性的问题是: 好像没有看到如:Key(...) 或者 Scan(...) 方法?我该怎么才能查询哪些key是在数据库中的? 或者 好像也没有 Flush(...) 方法?我该怎样才能移除掉所有在数据库中的key? The key word here, oddly enough, is the last one: databa

  • 我目前正在尝试为1.15.2开发一个简单的Minecraft mod。我试图创建的是一个命令,匿名你的消息,例如在假选举期间。它基本上接受您编写的消息,并将其匿名发送给服务器中的每个人。 下面是处理该行为的命令类的代码:

  • 问题内容: 我在ShoreTel语音开关上遇到问题,并且尝试使用Paramiko跳入并运行一些命令。我认为问题可能是,ShoreTel CLI给出的提示与标准Linux不同。它看起来像这样: Python是否仍在期待它,还是我还缺少其他东西? 我认为这可能是一件时事,所以我将它们放在命令之间。似乎仍然没有采取。 从成功执行此代码中,我期望的级别是1。这意味着当我通过SSH进入东西时,我会看到那些H

  • 我正在尝试用docker容器中的一个表建立一个数据库。为了正确运行数据库,我需要运行以下命令: bash:--:无效选项db_1用法:bash[GNU long option][option]... db_1 bash[GNU long option][option]脚本-文件... db_1 GNU long options: db_1--debugg db_1--debugger\ 如果“ba