UltimateStacker/UltimateStackerAPI/src/main/java/com/craftaro/ultimatestacker/api/UltimateStackerAPI.java

60 lines
2.2 KiB
Java

package com.craftaro.ultimatestacker.api;
import com.craftaro.ultimatestacker.api.stack.block.BlockStackManager;
import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager;
import com.craftaro.ultimatestacker.api.stack.item.ItemStackManager;
import com.craftaro.ultimatestacker.api.stack.spawner.SpawnerStackManager;
public final class UltimateStackerAPI {
private static EntityStackManager entityStackManager;
private static ItemStackManager itemStackManager;
private static SpawnerStackManager spawnerStackManager;
private static BlockStackManager blockStackManager;
private static UltimateStackerAPI instance;
public UltimateStackerAPI(EntityStackManager entityStackManager, ItemStackManager itemStackManager, SpawnerStackManager spawnerStackManager, BlockStackManager blockStackManager) {
if (UltimateStackerAPI.entityStackManager != null || UltimateStackerAPI.itemStackManager != null || UltimateStackerAPI.spawnerStackManager != null || UltimateStackerAPI.blockStackManager != null) {
throw new IllegalStateException("UltimateStackerAPI has already been initialized!");
}
UltimateStackerAPI.entityStackManager = entityStackManager;
UltimateStackerAPI.itemStackManager = itemStackManager;
UltimateStackerAPI.spawnerStackManager = spawnerStackManager;
UltimateStackerAPI.blockStackManager = blockStackManager;
instance = this;
}
public static UltimateStackerAPI getInstance() {
return instance;
}
/**
* Used to interact with EntityStacks
* @return The EntityStackManager
*/
public static EntityStackManager getEntityStackManager() {
return entityStackManager;
}
/**
* Used to interact with ItemStacks
* @return The ItemStackManager
*/
public static ItemStackManager getItemStackManager() {
return itemStackManager;
}
/**
* Used to interact with SpawnerStacks
* @return The SpawnerStackManager
*/
public static SpawnerStackManager getSpawnerStackManager() {
return spawnerStackManager;
}
public static BlockStackManager getBlockStackManager() {
return blockStackManager;
}
}