⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

An easy to use library for loading small worlds in minecraft

License

Notifications You must be signed in to change notification settings

Alex1607/WorldAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WorldAPI

This WorldAPI was initially made for my server, however I have switched to SWM. I still think that this API can come in handy for some people, so here is it.

Information

What I should mention: This is by no means a replacement for a good worldmanager like multiverse, I made this API exclusively for minigames. That's also the reason you are not able to set a worldname and instead will receive an uuid as a string. (In case its not clear, my intention was to load a temporary world — hence the uuid — for a minigames and then delete it when its no longer needed)

Usage

First you have to get the WorldAPI instance. To do so include this code in your @onEnable methode.
WorldAPI worldapi = WorldAPI.getAPI(); after that you have 7 methodes to work with:

    /**
     * Will return the name of a random File / Directory in the given folder.
     *
     * @param path of a directory
     * @return String
     */
    String getRandomFile(File path);

    /**
     * Deletes the directory with all files in it.
     *
     * @param path of the directory to delete
     * @throws IOException If the file deletion wasn't successful
     */
    void deleteDirectory(File path) throws IOException;

    /**
     * Unloads the World and deletes the directory of the world
     *
     * @param world Name of the World which should be removed from the server
     * @return a boolean that indicates if the removing was successful
     */
    boolean removeWorld(String world);

    /**
     * Loads a zip file as a world with a given name.
     *
     * @param file ZIP File
     * @return true if the world loaded successful and false if not
     */
    boolean loadMap(File file, String name);

    /**
     * Loads a zip file as a world
     *
     * @param file ZIP File
     * @return Name of the loaded world or an empty Optional if an error has occurred
     */
    Optional<String> loadMap(File file);

    /**
     * Saved the directory of the world.
     * However, it does not save the world ingame. So it's best combined with a `Bukkit.getWorld(world).save();`, else it will not represent the latest changes that happened ingame.
     *
     * @param world    World that will be saved
     * @param output   Requires a path and filename with the .zip extension like: worlds/world.zip
     * @param compress Should the zip file be compressed or just store the world
     * @return true if the world was saved successful and false if not
     */
    boolean saveMap(String world, File output, boolean compress);

    /**
     * Loads a world directory if its already in the server folder.
     * If not it will create a new void world.
     *
     * @param worldname Name of the world, this has to be uniq
     */
    void loadAsVoid(String worldname);

About

An easy to use library for loading small worlds in minecraft

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages