/
codebase/src/net/sourceforge/pain/admin/console/command/
codebase/src/net/sourceforge/pain/data/role/
codebase/src/net/sourceforge/pain/network/console/telnet/
codebase/src/net/sourceforge/pain/network/guitool/
codebase/src/net/sourceforge/pain/plugin/
codebase/src/net/sourceforge/pain/util/
db/src/net/sourceforge/pain/util/
gui/
gui/lib/
gui/src/net/sourceforge/pain/tools/guitool/dbbrowse/
gui/src/net/sourceforge/pain/tools/guitool/dialog/
gui/src/net/sourceforge/pain/tools/guitool/menu/
gui/src/net/sourceforge/pain/tools/guitool/resources/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/explorer/
mudlibs/tinylib/
mudlibs/tinylib/area/
mudlibs/tinylib/etc/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/data/affect/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/data/prototype/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/data/trigger/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/affect/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/event/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/event/deploy/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/event/guitool/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/event/guitool/event/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/fn/util/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/trigger/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/logic/trigger/impl/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/plugin/command/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/plugin/reset/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/plugin/shutdown/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/plugin/social/
mudlibs/tinylib/src/net/sourceforge/pain/tinylib/util/
tests/
tests/src/
tests/src/net/sourceforge/pain/db/data/
package net.sourceforge.pain.tinylib.logic.event.console.command.builder;

import net.sourceforge.pain.data.*;
import net.sourceforge.pain.data.role.*;
import net.sourceforge.pain.tinylib.*;
import net.sourceforge.pain.tinylib.data.*;
import net.sourceforge.pain.tinylib.logic.event.console.*;
import net.sourceforge.pain.tinylib.logic.fn.*;

/**
 * PAiN  Date: 05.06.2003  Time: 1:40:02
 */
public final class BC_New extends BuilderCommand {

    public void processBuilderCommand(BuilderShell p, String args) throws Exception {
        if (args != null) {
            String params[] = new String[2];
            ConsoleInputEvent.parseCommand(args, params);
            if (params[1] != null) {
                PrototypesRegistry prototypesRegistry = Mudlib.getWorld().getPrototypesRegistry();
                if (prototypesRegistry.isVnumInUse(params[0])) {
                    MessageOutFn.outln(p.console, "Vnum is already in use:" + params[0]);
                } else {
                    MessageOutFn.outln(p.console, "Prototype created vnum:" + params[0] + " name:" + params[1]);
                    PrototypeInfo prototype = (PrototypeInfo) ObjectFactory.createRaw(PrototypeInfo.class);
                    prototype.setAuthor(p.console.getPlayer().getInteractiveName());
                    prototype.setName(params[1]);
                    prototype.setDesc("NONE");
                    prototype.setVnum(params[0]);
                    prototypesRegistry.registerPrototype(prototype);
                    p.builder.getEditedPrototypesList().add(prototype);
                    p.builder.setEditedRole(prototype);
                }
                return;
            } else {
                showUsage(p.console);
            }
        } else {
            showUsage(p.console);
        }
    }

    public void showUsage(Console console) {
        MessageOutFn.outln(console, "NEW:Command syntax <VNUM> <PROTONAME>\n");
    }

    public void showHelp(Console console) {
        MessageOutFn.outln(console, "Builder command NEW creates new prototype object and adds it to edited prototypes list");
        MessageOutFn.outln(console, "Usage: new <VNUM> <PROTONAME>");
    }

}