mirror of
https://github.com/Minestom/Minestom.git
synced 2025-03-02 11:21:15 +01:00
Added isRegistered(DimensionType) and getDimension(NamespaceID) to DimensionTypeManager
This commit is contained in:
parent
4cf66fde08
commit
99151cb05a
@ -1,6 +1,8 @@
|
||||
package net.minestom.server.world;
|
||||
|
||||
import net.minestom.server.utils.NamespaceID;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
|
||||
import org.jglrxavpok.hephaistos.nbt.NBTList;
|
||||
import org.jglrxavpok.hephaistos.nbt.NBTTypes;
|
||||
@ -43,6 +45,32 @@ public final class DimensionTypeManager {
|
||||
return dimensionTypes.remove(dimensionType);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param namespaceID The dimension name
|
||||
* @return true if the dimension is registered
|
||||
*/
|
||||
public boolean isRegistered(@NotNull NamespaceID namespaceID) {
|
||||
return isRegistered(getDimension(namespaceID));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dimensionType dimension to check if is registered
|
||||
* @return true if the dimension is registered
|
||||
*/
|
||||
public boolean isRegistered(@Nullable DimensionType dimensionType) {
|
||||
return dimensionType != null && dimensionTypes.contains(dimensionType) && dimensionType.isRegistered();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return to a @{@link DimensionType} only if present and registered
|
||||
*
|
||||
* @param namespaceID The Dimension Name
|
||||
* @return an a DimensionType if it present and registered
|
||||
*/
|
||||
public DimensionType getDimension(@NotNull NamespaceID namespaceID) {
|
||||
return unmodifiableList().stream().filter(dimensionType -> dimensionType.getName().equals(namespaceID)).filter(DimensionType::isRegistered).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an immutable copy of the dimension types already registered.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user