9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-19 15:09:19 +00:00

clean: more documentation with the CosmeticSlot registry

This commit is contained in:
LoJoSho
2025-01-18 16:34:47 -06:00
parent 397eebf38f
commit fe52edd833

View File

@@ -1,6 +1,7 @@
package com.hibiscusmc.hmccosmetics.cosmetic; package com.hibiscusmc.hmccosmetics.cosmetic;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collections; import java.util.Collections;
import java.util.Map; import java.util.Map;
@@ -27,15 +28,32 @@ public class CosmeticSlot {
REGISTRY.put(name, this); REGISTRY.put(name, this);
} }
/**
* Registers a new slot with the given name. If a slot with the given name already exists, it will be returned.
* @param name The name of the slot (This will automatically be converted into all UPPERCASE)
* @return The slot that was registered or already exists.
*/
@NotNull
public static CosmeticSlot register(@NotNull String name) { public static CosmeticSlot register(@NotNull String name) {
name = name.toUpperCase(); name = name.toUpperCase();
return REGISTRY.computeIfAbsent(name, key -> new CosmeticSlot(key)); return REGISTRY.computeIfAbsent(name, key -> new CosmeticSlot(key));
} }
/**
* Returns an unmodifiable map of all the slots that have been registered.
* @return An unmodifiable map of all the slots that have been registered.
*/
@NotNull
public static Map<String, CosmeticSlot> values() { public static Map<String, CosmeticSlot> values() {
return Collections.unmodifiableMap(REGISTRY); return Collections.unmodifiableMap(REGISTRY);
} }
/**
* Gets the slot with the given name.
* @param name The name of the slot to get. This is automatically converted to all UPPERCASE.
* @return The slot with the given name, or null if it does not exist.
*/
@Nullable
public static CosmeticSlot valueOf(@NotNull String name) { public static CosmeticSlot valueOf(@NotNull String name) {
name = name.toUpperCase(); name = name.toUpperCase();
return REGISTRY.get(name); return REGISTRY.get(name);
@@ -43,8 +61,8 @@ public class CosmeticSlot {
/** /**
* Checks if the registry contains a slot with the given name. * Checks if the registry contains a slot with the given name.
* @param name * @param name The name of the slot to check for. This is automatically converted to all UPPERCASE.
* @return * @return True if the slot exists, false otherwise.
*/ */
public static boolean contains(@NotNull String name) { public static boolean contains(@NotNull String name) {
name = name.toUpperCase(); name = name.toUpperCase();