
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