UltimateStacker/UltimateStacker-API/src/main/java/com/craftaro/ultimatestacker/api/UltimateStackerApi.java

97 lines
3.2 KiB
Java
Raw Normal View History

2023-05-25 19:20:03 +02:00
package com.craftaro.ultimatestacker.api;
import com.craftaro.ultimatestacker.api.stack.block.BlockStackManager;
import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager;
2023-05-30 11:20:31 +02:00
import com.craftaro.ultimatestacker.api.stack.item.StackedItemManager;
2023-05-25 19:20:03 +02:00
import com.craftaro.ultimatestacker.api.stack.spawner.SpawnerStackManager;
import org.bukkit.plugin.Plugin;
2023-05-25 19:20:03 +02:00
2023-06-29 17:33:36 +02:00
/**
* The main class of the API
* <p>
* <b>!! {@link UltimateStackerApi#getVersion()} value is automatically replaced by maven don't change it !!</b>
2023-06-29 17:33:36 +02:00
*/
public final class UltimateStackerApi {
2023-05-25 19:20:03 +02:00
private static Plugin plugin;
2023-05-25 19:20:03 +02:00
private static EntityStackManager entityStackManager;
2023-05-30 11:20:31 +02:00
private static StackedItemManager stackedItemManager;
2023-05-25 19:20:03 +02:00
private static SpawnerStackManager spawnerStackManager;
private static BlockStackManager blockStackManager;
private static Settings settings;
private static UltimateStackerApi instance;
2023-05-25 19:20:03 +02:00
public UltimateStackerApi(Plugin plugin, EntityStackManager entityStackManager, StackedItemManager itemStackManager, SpawnerStackManager spawnerStackManager, BlockStackManager blockStackManager, Settings settings) {
if (UltimateStackerApi.plugin != null || UltimateStackerApi.entityStackManager != null || UltimateStackerApi.stackedItemManager != null || UltimateStackerApi.spawnerStackManager != null || UltimateStackerApi.blockStackManager != null || UltimateStackerApi.settings != null) {
2023-05-25 19:20:03 +02:00
throw new IllegalStateException("UltimateStackerAPI has already been initialized!");
}
UltimateStackerApi.plugin = plugin;
UltimateStackerApi.entityStackManager = entityStackManager;
UltimateStackerApi.stackedItemManager = itemStackManager;
UltimateStackerApi.spawnerStackManager = spawnerStackManager;
UltimateStackerApi.blockStackManager = blockStackManager;
UltimateStackerApi.settings = settings;
2023-05-25 19:20:03 +02:00
instance = this;
}
public static UltimateStackerApi getInstance() {
2023-05-25 19:20:03 +02:00
return instance;
}
/**
* Used to interact with the plugin
* @return The plugin
*/
public static Plugin getPlugin() {
return plugin;
}
2023-05-25 19:20:03 +02:00
/**
* Used to interact with EntityStacks
* @return The EntityStackManager
*/
public static EntityStackManager getEntityStackManager() {
return entityStackManager;
}
/**
* Used to interact with ItemStacks
2023-05-30 11:20:31 +02:00
* @return The StackedItemManager
2023-05-25 19:20:03 +02:00
*/
2023-05-30 11:20:31 +02:00
public static StackedItemManager getStackedItemManager() {
return stackedItemManager;
2023-05-25 19:20:03 +02:00
}
/**
* Used to interact with SpawnerStacks
* @return The SpawnerStackManager
*/
public static SpawnerStackManager getSpawnerStackManager() {
return spawnerStackManager;
}
2023-05-30 11:20:31 +02:00
/**
* Used to interact with BlockStacks
* @return The BlockStackManager
*/
2023-05-25 19:20:03 +02:00
public static BlockStackManager getBlockStackManager() {
return blockStackManager;
}
/**
* Used to interact with the plugin's settings
* @return The Settings
*/
public static Settings getSettings() {
return settings;
}
2023-06-29 17:33:36 +02:00
/**
* Used to get the version of the plugin
* @return The version of the plugin
*/
public static String getVersion() {
return "UKNOWN_VERSION";
}
2023-05-25 19:20:03 +02:00
}