Java源码示例:net.minecraft.command.WrongUsageException

示例1
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException{
    if(args.length == 0) throw new WrongUsageException("command.signals.noArgs");
    String subCommand = args[0];
    if(subCommand.equals("rebuildNetwork")) {
        RailNetworkManager.getServerInstance().rebuildNetwork();
        sender.sendMessage(new TextComponentTranslation("command.signals.networkCleared"));
    } else if(subCommand.equals("debug") && sender.getName().startsWith("Player" /* Playerx */)) {
        if(debug(server, sender, args)) {
            sender.sendMessage(new TextComponentString("DEBUG EXECUTED"));
        } else {
            sender.sendMessage(new TextComponentString("Could not execute debug!"));
        }
    } else {
        throw new WrongUsageException("command.signals.invalidSubCommand", subCommand);
    }
}
 
示例2
@Override
public void execute(@NotNull MinecraftServer server, @NotNull ICommandSender sender, @NotNull String[] args) throws WrongUsageException {
	if (args.length < 2) throw new WrongUsageException(getUsage(sender));

	ModuleInstance module = ModuleRegistry.INSTANCE.getModule(args[1]);

	if (module == null) {
		notifyCommandListener(sender, this, "wizardry.command." + getName() + ".module_not_found");
		return;
	}

	notifyCommandListener(sender, this, TextFormatting.YELLOW + " ________________________________________________\\\\");
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " | " + TextFormatting.GRAY + "Module " + module.getReadableName() + ":");
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Description           " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getDescription());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Item Stack            " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getItemStack().getDisplayName());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Burnout Fill          " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getBurnoutFill());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |  |_ " + TextFormatting.DARK_GREEN + "Burnout Multiplier" + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getBurnoutMultiplier());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Mana Drain           " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getManaDrain());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |  |_" + TextFormatting.DARK_GREEN + "Mana Multiplier     " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getManaMultiplier());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Power Multiplier     " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getPowerMultiplier());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Charge Up Time      " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getChargeupTime());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Cooldown Time        " + TextFormatting.GRAY + " | " + TextFormatting.GRAY + module.getCooldownTime());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Primary Color        " + TextFormatting.GRAY + " | " + TextFormatting.RED + module.getPrimaryColor().getRed() + TextFormatting.GRAY + ", " + TextFormatting.GREEN + module.getPrimaryColor().getGreen() + TextFormatting.GRAY + ", " + TextFormatting.BLUE + module.getPrimaryColor().getBlue());
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Secondary Color    " + TextFormatting.GRAY + " | " + TextFormatting.RED + module.getSecondaryColor().getRed() + TextFormatting.GRAY + ", " + TextFormatting.GREEN + module.getSecondaryColor().getGreen() + TextFormatting.GRAY + ", " + TextFormatting.BLUE + module.getSecondaryColor().getBlue());

	if (!module.getAttributeModifiers().isEmpty())
		notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Default AttributeRegistry");
	for (AttributeModifier attributeModifier : module.getAttributeModifiers())
		notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |  |_ " + TextFormatting.GRAY + attributeModifier.toString());

	ModuleInstanceModifier[] modifierList = module.applicableModifiers();
	if (modifierList != null) {
		notifyCommandListener(sender, this, TextFormatting.YELLOW + " |  |_ " + TextFormatting.GREEN + "Applicable Modifiers ");
		for (ModuleInstanceModifier modifier : modifierList)
			notifyCommandListener(sender, this, TextFormatting.YELLOW + " |     |_ " + TextFormatting.DARK_GREEN + modifier.getNBTKey());
	}
	notifyCommandListener(sender, this, TextFormatting.YELLOW + " |________________________________________________//");
}
 
示例3
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {

	if (!(sender instanceof EntityPlayer)) {
		return;
	}

	EntityPlayer player = (EntityPlayer) sender;

	if (args.length < 1) {
		throw new WrongUsageException("commands.tq.usage", new Object[0]);
	}

	String command = args[0];

	System.out.println("command " + command);

	if ("rep".equals(command)) {
		adjustRep(server, player, args);
	} else if ("list".equals(command)) {
		listCommand(player, args);
	} else if ("gen".equals(command)) {
		genCommand(player, args);
	} else if ("gui".equals(command)) {
		guiCommand(player, args);
	} else if ("quest".equals(command)) {
		questCommand(player, args);
	} else if ("book".equals(command)) {
		bookCommand(player, args);
	} else {
		throw new WrongUsageException("commands.tq.usage", new Object[0]);
	}
}
 
示例4
private void genCommand(EntityPlayer player, String[] args) throws CommandException {
	if (args.length < 2) {
		throw new WrongUsageException("commands.tq.usage", new Object[0]);
	}
	String structure = args[1];

	if ("throne_room".equals(structure)) {
		new ThroneRoomGenerator().generate(player.getEntityWorld(), player.getEntityWorld().rand, player.getPosition());
		return;
	}

	if ("mage_tower".equals(structure)) {
		new MageTowerGenerator().generate(player.getEntityWorld(), player.getEntityWorld().rand, player.getPosition());
		return;
	}

	if ("bastions_lair".equals(structure)) {
		new BastionsLairGenerator().generate(player.getEntityWorld(), player.getEntityWorld().rand, player.getPosition());
		return;
	}

	if ("monolith".equals(structure)) {
		new MonolithGenerator().generate(player.getEntityWorld(), player.getEntityWorld().rand, player.getPosition());
		return;
	}

	if ("graveyard".equals(structure)) {
		new GraveyardGenerator().generate(player.getEntityWorld(), player.getEntityWorld().rand, player.getPosition());
		return;
	}

	throw new WrongUsageException("commands.tq.usage", new Object[0]);
}
 
示例5
private void guiCommand(EntityPlayer player, String[] args) throws CommandException {
	if (args.length < 2) {
		throw new WrongUsageException("commans.tq.usage", new Object[0]);
	}

	String type = args[1];

	if ("lord".equals(type)) {
		player.openGui(ToroQuest.INSTANCE, VillageLordGuiHandler.getGuiID(), player.world, player.getPosition().getX(),
				player.getPosition().getY(), player.getPosition().getZ());
		return;
	}

	throw new WrongUsageException("commands.tq.usage", new Object[0]);
}
 
示例6
@Override
public void processCommand(ICommandSender sender, String[] args) {
	if (args.length != 1 || !"alex".equals(args[0].toLowerCase()) && !"steve".equals(args[0].toLowerCase()))
		throw new WrongUsageException(getCommandUsage(sender));

	if (sender instanceof EntityPlayer) {
		EntityPlayer player = (EntityPlayer) sender;
		NBTTagCompound nbt = player.getEntityData();
		boolean isAlex = "alex".equals(args[0].toLowerCase());
		nbt.setBoolean(MODEL_KEY, isAlex);
		EtFuturum.networkWrapper.sendToAll(new SetPlayerModelMessage(player, isAlex));
	}
}
 
示例7
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
    if (args.length != 2)
        throw new WrongUsageException(getUsage(sender));

    EntityPlayer player = getPlayer(server, sender, args[1]);

    if (player != null)
    {
        PlacementSettings settings = new PlacementSettings();
        WorldServer world = (WorldServer) sender.getEntityWorld();

        int platformNumber = SpawnPlatformSavedData.get(world).addAndGetPlatformNumber();
        BlockPos pos = getPositionOfPlatform(world, platformNumber);

        Template temp = StructureUtil.loadTemplate(new ResourceLocation(args[0]), world, true);
        BlockPos spawn = StructureUtil.findSpawn(temp, settings);
        spawn = spawn == null ? pos : spawn.add(pos);

        sender.sendMessage(new TextComponentString("Building \"" + args[0] + "\" at " + pos.toString()));
        temp.addBlocksToWorld(world, pos, settings, 2); //Push to world, with no neighbor notifications!
        world.getPendingBlockUpdates(new StructureBoundingBox(pos, pos.add(temp.getSize())), true); //Remove block updates, so that sand doesn't fall!

        if (player instanceof EntityPlayerMP) {
            ((EntityPlayerMP) player).setPositionAndUpdate(spawn.getX() + 0.5, spawn.getY() + 1.6, spawn.getZ() + 0.5);
        }

        player.setSpawnChunk(spawn, true, world.provider.getDimension());
    }
    else
    {
        throw new WrongUsageException(getUsage(sender));
    }
}
 
示例8
@Override
public void processCommand(ICommandSender sender, String[] var2) {
	if (sender instanceof EntityPlayerMP) {
		EntityPlayerMP player = (EntityPlayerMP)sender;

		if (var2.length == 3) {
			int x = parseInt(sender,var2[0]);
			int y = parseInt(sender,var2[1]);
			int z = parseInt(sender,var2[2]);
			NBTEdit.log(Level.FINE, sender.getCommandSenderName() + " issued command \"/nbtedit " + x + " " + y + " " + z + "\"");
			new TileRequestPacket(x, y, z).handleServerSide(player);
		}
		else if (var2.length == 1) {
			int entityID = (var2[0].equalsIgnoreCase("me")) ? player.getEntityId() : parseIntWithMin(sender, var2[0], 0);
			NBTEdit.log(Level.FINE, sender.getCommandSenderName() + " issued command \"/nbtedit " + entityID +  "\"");
			new EntityRequestPacket(entityID).handleServerSide(player);
		}
		else if (var2.length == 0) {
			NBTEdit.log(Level.FINE, sender.getCommandSenderName() + " issued command \"/nbtedit\"");
			NBTEdit.DISPATCHER.sendTo(new MouseOverPacket(), player);
		}
		else  {
			String s = "";
			for (int i =0; i < var2.length; ++i) {
				s += var2[i];
				if (i != var2.length - 1)
					s += " ";
			}
			NBTEdit.log(Level.FINE, sender.getCommandSenderName() + " issued invalid command \"/nbtedit " + s + "\"");
			throw new WrongUsageException("Pass 0, 1, or 3 integers -- ex. /nbtedit", new Object[0]);
		}
	}
}
 
示例9
@Override
public void processCommand(ICommandSender sender, String[] args){
    if(sender instanceof EntityPlayerMP) {
        if(args.length != 1) throw new WrongUsageException("command.deliverAmazon.args");
        String varName = args[0].startsWith("#") ? args[0].substring(1) : args[0];
        ChunkPosition pos = GlobalVariableManager.getInstance().getPos(varName);
        ItemStack stack = GlobalVariableManager.getInstance().getItem(varName);
        NetworkHandler.sendTo(new PacketCommandGetGlobalVariableOutput(varName, pos, stack), (EntityPlayerMP)sender);
    }
}
 
示例10
@Override
public void processCommand(ICommandSender sender, String[] args){
    if(args.length != 4) throw new WrongUsageException("command.deliverAmazon.args");
    String varName = args[0].startsWith("#") ? args[0].substring(1) : args[0];
    ChunkPosition newPos = new ChunkPosition(parseInt(sender, args[1]), parseInt(sender, args[2]), parseInt(sender, args[3]));
    GlobalVariableManager.getInstance().set(varName, newPos);
    sender.addChatMessage(new ChatComponentTranslation("command.setGlobalVariable.output", varName, newPos.chunkPosX, newPos.chunkPosY, newPos.chunkPosZ));
}
 
示例11
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
    if (isOP(sender)) throw new CommandException(getUsage(sender));
    else if (args.length == 0 || args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("h") || args[0].equalsIgnoreCase("?"))  showHelp(sender);
    else if (args[0].equalsIgnoreCase("ban"))
    {
        ServerEventHandler.catchNext = ServerEventHandler.Type.BAN;
        sender.sendMessage(new TextComponentString("Right click a block.").setStyle(new Style().setColor(TextFormatting.AQUA)));
    }
    else if (args[0].equalsIgnoreCase("unban"))
    {
        if (args.length == 1)
        {
            ServerEventHandler.catchNext = ServerEventHandler.Type.UNBAN;
            sender.sendMessage(new TextComponentString("Right click a block.").setStyle(new Style().setColor(TextFormatting.AQUA)));
        }
        else
        {
            boolean wasBanned = Helper.banned.remove(args[1]);
            if (wasBanned)
                sender.sendMessage(new TextComponentString("Unbanned " + args[1]).setStyle(new Style().setColor(TextFormatting.GREEN)));
            else
                sender.sendMessage(new TextComponentString(args[1] + " is not banned.").setStyle(new Style().setColor(TextFormatting.RED)));
        }
    }
    else if (args[0].equalsIgnoreCase("list"))
    {
        sender.sendMessage(new TextComponentString(HoloInventory.MODID.concat(" banlist:")).setStyle(new Style().setColor(TextFormatting.AQUA)));
        for (String type : Helper.banned)
        {
            sender.sendMessage(new TextComponentString(type));
        }
    }
    else throw new WrongUsageException(getUsage(sender));
}
 
示例12
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
    if (args.length < 1)
        throw new WrongUsageException(getUsage(sender));

    String cmd = args[0].toLowerCase(Locale.ENGLISH);
    if ("list".equals(cmd))
    {
        sender.sendMessage(new TextComponentString("Known Platforms:"));
        for (ResourceLocation rl : getPlatforms())
        {
            sender.sendMessage(new TextComponentString("  " + rl.toString()));
        }
    }
    else if ("spawn".equals(cmd) || "preview".equals(cmd))
    {
        if (args.length < 2)
            throw new WrongUsageException(getUsage(sender));

        Entity ent = sender.getCommandSenderEntity();
        PlacementSettings settings = new PlacementSettings();
        WorldServer world = (WorldServer)sender.getEntityWorld();

        if (args.length >= 3)
        {
            //TODO: Preview doesnt quite work correctly with rotations....
            String rot = args[2].toLowerCase(Locale.ENGLISH);
            if ("0".equals(rot) || "none".equals(rot))
                settings.setRotation(Rotation.NONE);
            else if ("90".equals(rot))
                settings.setRotation(Rotation.CLOCKWISE_90);
            else if ("180".equals(rot))
                settings.setRotation(Rotation.CLOCKWISE_180);
            else if ("270".equals(rot))
                settings.setRotation(Rotation.COUNTERCLOCKWISE_90);
            else
                throw new WrongUsageException("Only rotations none, 0, 90, 180, and 270 allowed.");
        }

        BlockPos pos;
        if (args.length >= 6)
            pos = CommandBase.parseBlockPos(sender, args, 3, false);
        else if (ent != null)
            pos = ent.getPosition();
        else
            throw new WrongUsageException("Must specify a position if the command sender is not an entity");

        Template temp = StructureUtil.loadTemplate(new ResourceLocation(args[1]), world, true);

        BlockPos spawn = StructureUtil.findSpawn(temp, settings);
        if (spawn != null)
            pos = pos.subtract(spawn);

        if ("spawn".equals(cmd))
        {
            sender.sendMessage(new TextComponentString("Building \"" + args[1] +"\" at " + pos.toString()));
            temp.addBlocksToWorld(world, pos, settings, 2); //Push to world, with no neighbor notifications!
            world.getPendingBlockUpdates(new StructureBoundingBox(pos, pos.add(temp.getSize())), true); //Remove block updates, so that sand doesn't fall!
        }
        else
        {
            BlockPos tpos = pos.down();
            if (spawn != null)
                tpos = tpos.add(spawn);
            sender.sendMessage(new TextComponentString("Previewing \"" + args[1] +"\" at " + pos.toString()));
            world.setBlockState(tpos, Blocks.STRUCTURE_BLOCK.getDefaultState().withProperty(BlockStructure.MODE, TileEntityStructure.Mode.LOAD));
            TileEntityStructure te = (TileEntityStructure)world.getTileEntity(tpos);
            if (spawn != null)
                te.setPosition(te.getPosition().subtract(spawn));
            te.setSize(temp.getSize());
            te.setMode(Mode.LOAD);
            te.markDirty();
        }
    }
    else
        throw new WrongUsageException(getUsage(sender));
}
 
示例13
@Override
public void processCommand(ICommandSender sender, String[] args){
    if(args.length < 2) throw new WrongUsageException("command.deliverAmazon.args");
    int x, y, z;
    int curArg;
    String regex = "-?\\d+";
    if(args[0].matches(regex)) {
        if(args.length < 4) throw new WrongUsageException("command.deliverAmazon.args");
        if(!args[1].matches(regex) || !args[2].matches(regex)) throw new WrongUsageException("command.deliverAmazon.coords");
        x = Integer.parseInt(args[0]);
        y = Integer.parseInt(args[1]);
        z = Integer.parseInt(args[2]);
        curArg = 3;
    } else {
        EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager().func_152612_a(args[0]);
        if(player != null) {
            x = (int)Math.floor(player.posX);
            y = (int)Math.floor(player.posY) + 1;
            z = (int)Math.floor(player.posZ);
            curArg = 1;
        } else {
            throw new WrongUsageException("command.deliverAmazon.playerName");
        }
    }

    if(args.length < curArg + 3) throw new WrongUsageException("command.deliverAmazon.args");
    if(!args[curArg].matches(regex) || !args[curArg + 1].matches(regex) || !args[curArg + 2].matches(regex)) throw new WrongUsageException("command.deliverAmazon.coords");
    TileEntity te = sender.getEntityWorld().getTileEntity(Integer.parseInt(args[curArg]), Integer.parseInt(args[curArg + 1]), Integer.parseInt(args[curArg + 2]));
    IInventory inv = IOHelper.getInventoryForTE(te);
    if(inv != null) {
        List<ItemStack> deliveredStacks = new ArrayList<ItemStack>();
        for(int i = 0; i < inv.getSizeInventory() && deliveredStacks.size() < 65; i++) {
            if(inv.getStackInSlot(i) != null) deliveredStacks.add(inv.getStackInSlot(i));
        }
        if(deliveredStacks.size() > 0) {
            PneumaticRegistry.getInstance().deliverItemsAmazonStyle(sender.getEntityWorld(), x, y, z, deliveredStacks.toArray(new ItemStack[deliveredStacks.size()]));
            sender.addChatMessage(new ChatComponentTranslation("command.deliverAmazon.success"));
        } else {
            sender.addChatMessage(new ChatComponentTranslation("command.deliverAmazon.noItems"));
        }
    } else {
        throw new WrongUsageException("command.deliverAmazon.noInventory");
    }

}
 
示例14
@Override
public void processCommand(ICommandSender icommandsender, String[] astring){
    if(astring.length > 0 && astring[0].equalsIgnoreCase("changelog")) {
        if(astring.length > 1) {
            if(astring[1].equalsIgnoreCase("additions")) {
                if(instance().additions.size() > 0) {
                    sendMessage(icommandsender, "-----Additions-----");
                    sendMessage(icommandsender, instance().additions);
                } else {
                    sendMessage(icommandsender, "No additions in the newest PneumaticCraft. :(");
                }
            } else if(astring[1].equalsIgnoreCase("apichanges")) {
                if(instance().apiChanges.size() > 0) {
                    sendMessage(icommandsender, "-----API Changes-----");
                    sendMessage(icommandsender, instance().apiChanges);
                } else {
                    sendMessage(icommandsender, "No API changes in the newest PneumaticCraft.");
                }
            } else if(astring[1].equalsIgnoreCase("bugfixes")) {
                if(instance().bugfixes.size() > 0) {
                    sendMessage(icommandsender, "-----Bugfixes-----");
                    sendMessage(icommandsender, instance().bugfixes);
                } else {
                    sendMessage(icommandsender, "No bugfixes in the newest PneumaticCraft.");
                }
            } else if(astring[1].equalsIgnoreCase("true")) {
                sendMessage(icommandsender, "You'll now get a notification when a new version of PneumaticCraft is released. Checking now...");
                Config.config.get(Configuration.CATEGORY_GENERAL, "Enable Update Checker", true).set(true);
                Config.config.save();
                //if(Config.enableUpdateChecker) FMLCommonHandler.instance().bus().unregister(instance()); causes NPE for some reason...
                INSTANCE = new UpdateChecker();//reset variables, prevent thread from running twice.
                instance().displayDelay = 0;
                FMLCommonHandler.instance().bus().register(instance());
                instance().start();
                Config.enableUpdateChecker = true;
            } else if(astring[1].equalsIgnoreCase("false")) {
                sendMessage(icommandsender, "You'll no longer get a notification when there's a new version of PneumaticCraft available.");
                Config.config.get(Configuration.CATEGORY_GENERAL, "Enable Update Checker", true).set(false);
                Config.config.save();
                //   if(Config.enableUpdateChecker) FMLCommonHandler.instance().bus().unregister(instance());//save cpu time by unsubscribing to the tickevent.  //causes NPE for some reason.
                Config.enableUpdateChecker = false;
            } else {
                throw new WrongUsageException(getCommandUsage(icommandsender));
            }
        } else {
            if(instance().additions.size() > 0) {
                sendMessage(icommandsender, "-----Additions-----");
                sendMessage(icommandsender, instance().additions);
            }
            if(instance().apiChanges.size() > 0) {
                sendMessage(icommandsender, "-----API Changes-----");
                sendMessage(icommandsender, instance().apiChanges);
            }
            if(instance().bugfixes.size() > 0) {
                sendMessage(icommandsender, "-----Bugfixes-----");
                sendMessage(icommandsender, instance().bugfixes);
            }
        }
    } else {
        throw new WrongUsageException(getCommandUsage(icommandsender));
    }
}