All Downloads are FREE. Search and download functionalities are using the official Maven repository.

walkmc.item.ItemRegistry.kt Maven / Gradle / Ivy

package walkmc.item

import walkmc.extensions.*

/**
 * A registry used to get, register and manipulate custom items.
 */
object ItemRegistry : HashMap() {
	
	/**
	 * Finds a custom registered item by the specified [id].
	 */
	@JvmStatic
	fun find(id: String): IItem? {
		return get(id)
	}
	
	/**
	 * Register an custom [item]
	 */
	@JvmStatic
	fun register(item: IItem) {
		if (item.id in this)
			logWarning("${item.id} is already present in item registry.")
		
		put(item.id, item)
	}
	
	/**
	 * Unregisters a custom item by the specified [id].
	 */
	@JvmStatic
	fun unregister(id: String) {
		remove(id)
	}
	
	/**
	 * Unregisters a custom [item].
	 */
	@JvmStatic
	fun unregister(item: IItem) {
		remove(item.id)
	}
}

/**
 * Register an custom [item]
 */
fun registerItem(item: IItem) = ItemRegistry.register(item)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy