Skip to main content

Getting Started

In order to use CrateReloadedAPI, you should first install the latest version of CrateReloaded.

For support, please send us a message in Github or Discord.

Project Setup​

To utilize CrateReloaded, you must first link the API to your setup. To do this, you may download the API directly or setup Gradle/Maven. Instructions

After you have done this, make sure to add the following line to your plugin.yml.

depend: [CrateReloaded]

Accessing the API​

The API is a class called CrateAPI. All of the methods may be accessed statically.

CrateAPI api = CrateAPI.getInstance();

Create a crate​

A crate may be created using an id and a type. This will manage the crate in-memory however the crate will be lost unless you save it to memory.

String id = "UniqueCrate"; // This is the ID used to give the crate in-game.
CrateType type = CrateType.MYSTERY // KEY, MYSTERY, SUPPLY

Crate crate = CrateAPI.getCrateRegistrar().createCrate(id, type); // Creates a crate
CrateAPI.getCrateRegistrar().add(crate) // Registers the plugin

For a more in-depth tutorial on how to create crates and add rewards, click here.

Manipulate existing crates​

You may manipulate crates dynamically. Keep in mind that all modifications to crates are in-memory and will be lost unless saved to a flat file.

Get all crates​

List<Crate> crates = CrateAPI.getCrateRegistrar().getCrates();

Get a single crate​

String id = ... // The crate's id
Crate crateByID = CrateAPI.getCrateRegistrar().getCrate(id);

ItemStack item = ... // The crate's item
Crate crateByItem = CrateAPI.getCrateRegistrar().getCrate(item);

Check if item is a crate​

ItemStack item = ... // An item
boolean is = CrateAPI.getCrateRegistrar().isCrate(item);

Next steps​

If you think this tutorial is enough, you may want to read the API documentation. Otherwise, check the sidebar under API for links to more tutorials.