Java 类org.bukkit.plugin.InvalidDescriptionException 实例源码

项目:MCPluginDebuggerforMC    文件:SocketRunnable.java   
@Override
public void run() {
    while (true) {
        try (Socket socket = serverSocket.accept(); DataInputStream inputStream = new DataInputStream(socket.getInputStream())) {
            String name = inputStream.readUTF();
            if (!Objects.equals(pluginName, name)) continue;
            Util.unloadPlugin(Bukkit.getPluginManager().getPlugin(pluginName));
            Bukkit.getConsoleSender().sendMessage("[Debugger] Unload Plugin");
            File file = new File(pluginsFolder, pluginName + ".jar");
            byte[] buffer = new byte[512];
            FileOutputStream fileOutputStream = new FileOutputStream(file);
            int fLength;
            while ((fLength = inputStream.read(buffer)) > 0) {
                fileOutputStream.write(buffer, 0, fLength);
            }
            fileOutputStream.flush();
            fileOutputStream.close();
            Bukkit.getConsoleSender().sendMessage("[Debugger] File Reserved");
            Util.loadPlugin(file);
            Bukkit.getConsoleSender().sendMessage("[Debugger] LoadComplete: " + pluginName);
        } catch (IOException | InvalidDescriptionException | InvalidPluginException e) {
            e.printStackTrace();
        }
    }
}
项目:MCPluginDebuggerforMC    文件:MCPluginDebugger.java   
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    switch (cmd.getName().toLowerCase()) {
        case "unload":
            Util.unloadPlugin(Bukkit.getPluginManager().getPlugin(args[0]));
            sender.sendMessage("Unloaded");
            break;
        case "load":
            try {
                Util.loadPlugin(new File(this.getDataFolder().getParent(), args[0] + ".jar"));
                sender.sendMessage("Loaded");
            } catch (InvalidDescriptionException | InvalidPluginException e) {
                e.printStackTrace();
            }
            break;
        default:
            return false;
    }
    return true;
}
项目:OMGPI    文件:OMGPI.java   
/**
 * Register all systems.
 */
@SuppressWarnings("ConstantConditions")
public void init() {
    OMGCommand.omgpi_register();
    if (mainfig.contains("mysql"))
        new MySQL(mainfig.getString("mysql.hostname"), mainfig.getString("mysql.port"), mainfig.getString("mysql.database"), mainfig.getString("mysql.username"), mainfig.getString("mysql.password"));
    iLog("Loading games...");
    OMGList<String> games = new OMGList<>();
    File gdir = new File(getDataFolder() + File.separator + "games");
    if (!gdir.exists() && gdir.mkdir()) iLog("Created games folder.");
    String[] files = gdir.list();
    if (files != null && files.length > 0) Collections.addAll(games, files);
    iLog("Games folder: " + Strings.join(games, ", "));
    games.removeIf(s -> !s.endsWith(".jar"));
    if (games.isEmpty()) {
        wLog("No game jars found in games folder. Please add GameName.jar file to /plugins/OMGPI/games/.");
        return;
    }
    String game = mainfig.getString("selectedGame", "random");
    try {
        if (game == null || !games.contains(game + ".jar")) loadGame(null);
        else loadGame(game);
    } catch (InvalidDescriptionException | InvalidPluginException e) {
        e.printStackTrace();
    }
}
项目:OMGPI    文件:OMGPI.java   
/**
 * Load game from name.
 *
 * @param game Name of a game.
 * @return Module plugin.
 * @throws InvalidDescriptionException Plugin.yml is wrong
 * @throws InvalidPluginException      Plugin cannot be loaded
 */
public Game loadGame(String game) throws InvalidDescriptionException, InvalidPluginException {
    iLog("Loading game " + game + "...");
    Plugin p;
    if (game == null) {
        OMGList<String> games = new OMGList<>();
        String[] list = new File(getDataFolder() + File.separator + "games").list();
        if (list != null) Collections.addAll(games, list);
        games.removeIf(s -> !s.endsWith(".jar"));
        iLog("Last game: " + mainfig.getString("lastGame"));
        if (games.size() > 1 && mainfig.contains("lastGame"))
            games.removeIf(s -> mainfig.getString("lastGame").equals(s.replaceAll("\\.jar", "")));
        iLog("List of runnable games: " + Strings.join(games, ", "));
        String gameName = games.get(new Random().nextInt(games.size()));
        p = Bukkit.getPluginManager().loadPlugin(new File(getDataFolder() + File.separator + "games" + File.separator + gameName));
        mainfig.set("lastGame", gameName.replaceAll("\\.jar", ""));
        mainfig.save();
    } else {
        p = Bukkit.getPluginManager().loadPlugin(new File(getDataFolder() + File.separator + "games" + File.separator + game + ".jar"));
        mainfig.set("lastGame", game);
        mainfig.save();
    }
    g = (Game) p;
    getServer().getPluginManager().enablePlugin(p);
    return (Game) p;
}
项目:ExilePearl    文件:TestPlugin.java   
public TestPlugin(final Class<T> clazz) throws Exception {
    this.clazz = clazz;

    // Make sure the class is loaded
    getClass().getClassLoader().loadClass(clazz.getName());

    try {
        description = new PluginDescriptionFile(getResource("plugin.yml"));
    } catch (Exception ex) {
        throw new  InvalidDescriptionException(ex);
    }

       final InputStream configStream = getResource("config.yml");
       if (configStream == null) {
           return;
       }
       config = YamlConfiguration.loadConfiguration(new InputStreamReader(configStream, Charsets.UTF_8));
}
项目:Phantom    文件:PluginUtil.java   
public static String getPluginFileName(String name)
{
    File pluginDir = Phantom.getDataFolder().getParentFile();

    for(File f : pluginDir.listFiles())
    {
        if(f.getName().endsWith(".jar"))
        {
            try
            {
                PluginDescriptionFile desc = Phantom.getPluginLoader().getPluginDescription(f);
                if(desc.getName().equalsIgnoreCase(name))
                {
                    return f.getName();
                }
            }

            catch(InvalidDescriptionException e)
            {

            }
        }
    }

    return null;
}
项目:Phantom    文件:PluginUtil.java   
public static String getPluginFileNameUnsafe(String name, Plugin ins)
{
    File pluginDir = ins.getDataFolder().getParentFile();

    for(File f : pluginDir.listFiles())
    {
        if(f.getName().endsWith(".jar"))
        {
            try
            {
                PluginDescriptionFile desc = ins.getPluginLoader().getPluginDescription(f);
                if(desc.getName().equalsIgnoreCase(name))
                {
                    return f.getName();
                }
            }

            catch(InvalidDescriptionException e)
            {

            }
        }
    }

    return null;
}
项目:TagTabAPI    文件:FakePlugin.java   
public FakePlugin(Plugin parent) {
    this.parent = parent;

    plugins = Reflection.getField(Reflection.makeField(SimplePluginManager.class, "plugins"), parent.getServer().getPluginManager());
    lookupNames = Reflection.getField(Reflection.makeField( SimplePluginManager.class, "lookupNames"), parent.getServer().getPluginManager());

    StringWriter write = new StringWriter();
    parent.getDescription().save(write);
    String yaml = write.toString().replaceAll(parent.getName(), getFakeName());

    try {
        description = new PluginDescriptionFile(new StringReader(yaml));
    } catch (InvalidDescriptionException ex) {
        Throwables.propagate(ex);
    }

    plugins.add(this);
    lookupNames.put(getName(), this);
}
项目:GameDispenser    文件:GameManager.java   
/**
 * Loads a game type by name
 * @param name name of game type
 * @return game type object
 * @throws InvalidGameException if could not load
 */
public GameType loadGameType(String name) throws InvalidGameException {
    File file = new File(directory, name + ".jar");
    if (!file.exists()) {
        throw new InvalidGameException("Game jar does not exist");
    }

    GameDescriptionFile description = null;
    try {
        description = gameLoader.getGameDescription(file);
    } catch (InvalidDescriptionException e) {
        throw new InvalidGameException(e);
    }

    if (!isDependLoaded(description.getDepend())) {
        throw new InvalidGameException("One or more dependencies are not yet loaded");
    }

    gameLoader.loadGameType(file, description, true);
    GameType type = GameType.get(description.getName());
    gameLoader.loadEvents(type);
    loadedGameTypes.add(type);
    loadGames(type);
    return type;
}
项目:Essentials    文件:Essentials.java   
public void setupForTesting(final Server server) throws IOException, InvalidDescriptionException
{
    testing = true;
    final File dataFolder = File.createTempFile("essentialstest", "");
    if (!dataFolder.delete())
    {
        throw new IOException();
    }
    if (!dataFolder.mkdir())
    {
        throw new IOException();
    }

    logger.log(Level.INFO, _("Using temp folder for testing:"));
    logger.log(Level.INFO, dataFolder.toString());
    storageQueue.setEnabled(true);
    settings = new SettingsHolder(this);
    i18n.updateLocale("en");
    userMap = new UserMap(this);
    economy = new Economy(this);
}
项目:iTag    文件:TagAPI.java   
public TagAPI(iTag parent)
{
    this.parent = parent;

    plugins = (List<Plugin>) getObj( SimplePluginManager.class, parent.getServer().getPluginManager(), "plugins" );
    lookupNames = (Map<String, Plugin>) getObj( SimplePluginManager.class, parent.getServer().getPluginManager(), "lookupNames" );

    StringWriter write = new StringWriter();
    parent.getDescription().save( write );
    String yaml = write.toString().replaceAll( "iTag", "TagAPI" );

    try
    {
        description = new PluginDescriptionFile( new StringReader( yaml ) );
    } catch ( InvalidDescriptionException ex )
    {
        throw Throwables.propagate( ex );
    }

    plugins.add( this );
    lookupNames.put( getName(), this );
}
项目:CloudNet    文件:CloudServer.java   
@Override
public void onCustomSubChannelMessageReceive(String channel, String message, Document document)
{
    Bukkit.getPluginManager().callEvent(new BukkitSubChannelMessageEvent(channel, message, document));

    if (channel.equalsIgnoreCase("cloudnet_internal"))
    {
        if (message.equalsIgnoreCase("install_plugin"))
        {
            String url = document.getString("url");
            try
            {
                URLConnection urlConnection = new URL(url).openConnection();
                urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
                urlConnection.connect();
                Files.copy(urlConnection.getInputStream(), Paths.get("plugins/" + document.getString("name") + ".jar"));
                File file = new File("plugins/" + document.getString("name") + ".jar");

                Plugin plugin = Bukkit.getPluginManager().loadPlugin(file);
                Bukkit.getPluginManager().enablePlugin(plugin);
            } catch (IOException | InvalidDescriptionException | InvalidPluginException e)
            {
                e.printStackTrace();
            }
        }
    }

}
项目:MockBukkit    文件:PluginManagerMock.java   
/**
 * Load a plugin from a class. It will use the system resource
 * {@code plugin.yml} as the resource file.
 * 
 * @param class1 The plugin to load.
 * @return The loaded plugin.
 */
public JavaPlugin loadPlugin(Class<? extends JavaPlugin> class1)
{
    try
    {
        return loadPlugin(class1, new PluginDescriptionFile(ClassLoader.getSystemResourceAsStream("plugin.yml")));
    }
    catch (InvalidDescriptionException e)
    {
        throw new RuntimeException(e);
    }
}
项目:MockBukkit    文件:PluginManagerMock.java   
@Override
public Plugin loadPlugin(File file)
        throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException
{
    // TODO Auto-generated method stub
    throw new UnimplementedOperationException();
}
项目:UnlimitedPlugins    文件:UnlimitedPlugins.java   
public Plugin loadPlugin(CommandSender sender, File f, ArrayList<Plugin> loaded) {
    Plugin pl = null;
    for (Plugin pll : loaded) {
        if (pll.getName().equals(f.getName().replaceAll(".jar", ""))) {
            return null;
        }
    }
    try {
        pl = Bukkit.getPluginManager().loadPlugin(f);
    } catch (UnknownDependencyException | InvalidPluginException | InvalidDescriptionException e) {
        if (e instanceof UnknownDependencyException) {
            sender.sendMessage("[UnlimitedPlugins] Tried to load the jar, " + f.getName()
                    + " but failed because the required dependencies wheren't found.");
        } else if (e instanceof InvalidPluginException) {
            sender.sendMessage("[UnlimitedPlugins] Tried to load the jar, " + f.getName()
                    + " but failed because the jar was invalid.");
        } else if (e instanceof InvalidDescriptionException) {
            sender.sendMessage("[UnlimitedPlugins] Tried to load the jar, " + f.getName()
                    + " but failed because the plugin.yml was invalid.");
        } else {
            sender.sendMessage("[UnlimitedPlugins] Tried to load the jar, " + f.getName()
                    + " but failed because an unknown error occurred.");
        }
        return null;
    }
    if (pl != null) {
        Bukkit.getPluginManager().enablePlugin(pl);
    }
    return pl;
}
项目:ExilePearl    文件:TestPluginManager.java   
public PluginDescriptionFile createDescription(JavaPlugin plugin) throws InvalidDescriptionException {
    for (TestPlugin<?> p : pluginsToLoad) {
        if (p.getPluginClass() == plugin.getClass()) {
            return p.getDescription();
        }
    }
    return null;
}
项目:AdvancedAchievements    文件:MockUtility.java   
public MockUtility withPluginDescription() {
    try {
        File pluginYml = new File(getClass().getResource("/plugin.yml").getPath());
        PluginDescriptionFile desc = new PluginDescriptionFile(new FileInputStream(pluginYml));
        when(pluginMock.getDescription()).thenReturn(desc);
    } catch (FileNotFoundException | InvalidDescriptionException e) {
        System.out.println("Error while setting plugin description");
    }
    return this;
}
项目:pexel-platform    文件:BukkitPluginLoader.java   
@Override
public void load(final MinigameDescriptor plugin) {
    try {
        this.plugins.put(plugin, this.internal.loadPlugin(plugin.getJar()));
    } catch (UnknownDependencyException | InvalidPluginException
            | InvalidDescriptionException e) {
        e.printStackTrace();
    }
}
项目:MCPluginDebuggerforMC    文件:Util.java   
public static void loadPlugin(File pluginFile) throws InvalidDescriptionException, InvalidPluginException {
    PluginManager pluginManager = Bukkit.getPluginManager();
    Plugin plugin = pluginManager.loadPlugin(pluginFile);
    plugin.onLoad();
    pluginManager.enablePlugin(plugin);
}
项目:AlphaLibary    文件:Updater.java   
public boolean update() {
    if (!getLatestVersion().equalsIgnoreCase(currentVersion)) {
        String newVersion = getLatestVersion();

        try {
            if (!new File(pluginToUpdate.getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).delete())
                Bukkit.getLogger().log(Level.WARNING, "Unable to delete the old version of " + pluginName + " (v." + currentVersion + ")");

            Bukkit.getPluginManager().disablePlugin(pluginToUpdate);

            URL url = new URL(this.updateURL + "/download");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("User-Agent", "SpigetResourceUpdater");
            long completeFileSize = connection.getContentLength();

            BufferedInputStream in = new BufferedInputStream(connection.getInputStream());
            FileOutputStream fos = new FileOutputStream(new File(dataFolder.substring(0, dataFolder.lastIndexOf("/")) + jarName + ".jar"));
            BufferedOutputStream out = new BufferedOutputStream(fos, 1024);

            byte[] data = new byte[1024];
            long downloadedFileSize = 0;
            int i;

            while ((i = in.read(data, 0, 1024)) >= 0) {
                downloadedFileSize += i;

                int progress = (int) ((((double) downloadedFileSize) / ((double) completeFileSize)) * 100);

                System.out.println("Downloading " + pluginName + " to version " + newVersion + " at " + progress + " %");

                out.write(data, 0, i);
            }

            out.close();
            in.close();

            Bukkit.getPluginManager().loadPlugin(new File(dataFolder.substring(0, dataFolder.lastIndexOf("/")) + "/" + jarName + ".jar"));
            Bukkit.getPluginManager().enablePlugin(Bukkit.getPluginManager().getPlugin(pluginName));
            return true;
        } catch (IOException | URISyntaxException | InvalidDescriptionException | InvalidPluginException e) {
            e.printStackTrace();
        }
    }
    return false;
}
项目:VoxelGamesLibv2    文件:LoggedPluginManager.java   
@Override
public Plugin loadPlugin(File file)
        throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException {
    return delegate.loadPlugin(file);
}
项目:MinigameManager    文件:MinigamePluginManagerWrapper.java   
@Override
public Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException {
    return pm.loadPlugin(file);
}
项目:economy    文件:SubPluginLoader.java   
@Override
public PluginDescriptionFile getPluginDescription(File file) throws InvalidDescriptionException {
    throw new UnsupportedOperationException("Not supported yet");
}
项目:ExilePearl    文件:TestPluginManager.java   
@Override
public Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException {
    return null;
}
项目:ExilePearl    文件:TestServer.java   
public PluginDescriptionFile getDescription(JavaPlugin plugin) throws InvalidDescriptionException {
    return pluginManager.createDescription(plugin);
}
项目:TagTabAPI    文件:FakePlugin.java   
public PluginDescriptionFile getPluginDescription(File file) throws InvalidDescriptionException {
    throw new UnsupportedOperationException();
}
项目:NovaGuilds    文件:LoggedPluginManager.java   
@Override
public Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException {
    return delegate.loadPlugin(file);
}
项目:GameDispenser    文件:GameDescriptionFile.java   
public GameDescriptionFile(final InputStream stream) throws InvalidDescriptionException {
    loadMap((Map<?, ?>) yaml.load(stream));
}
项目:BedrockAPI    文件:JavaPluginLoader.java   
public PluginDescriptionFile getPluginDescription(File file) throws InvalidDescriptionException {
    return null;
}
项目:BedrockAPI    文件:PluginDescriptionFile.java   
public PluginDescriptionFile(InputStream stream) throws InvalidDescriptionException {
}
项目:BedrockAPI    文件:PluginDescriptionFile.java   
public PluginDescriptionFile(Reader reader) throws InvalidDescriptionException {
}
项目:iTag    文件:TagAPI.java   
public PluginDescriptionFile getPluginDescription(File file) throws InvalidDescriptionException
{
    throw new UnsupportedOperationException( "Not supported yet." ); //To change body of generated methods, choose Tools | Templates.
}
项目:BedrockAPI    文件:PluginLoader.java   
PluginDescriptionFile getPluginDescription(File file) throws InvalidDescriptionException;
项目:BedrockAPI    文件:PluginManager.java   
Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException;