Interface ILevelExtension
- All Known Implementing Classes:
ClientLevel,Level,ServerLevel
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringPrefix used for all dimension based translations -
Method Summary
Modifier and TypeMethodDescriptiondefault <T,C extends @Nullable Object>
TgetCapability(BlockCapability<T, C> cap, BlockPos pos, C context) Retrieve a block capability.default <T,C extends @Nullable Object>
TgetCapability(BlockCapability<T, C> cap, BlockPos pos, @Nullable BlockState state, @Nullable BlockEntity blockEntity, C context) Retrieve a block capability.default <T> TgetCapability(BlockCapability<T, @Nullable Void> cap, BlockPos pos) Retrieve a block capability with no context.default <T> TgetCapability(BlockCapability<T, @Nullable Void> cap, BlockPos pos, @Nullable BlockState state, @Nullable BlockEntity blockEntity) Retrieve a block capability with no context.default ComponentReturns Component which looks up the matching value for getDescriptionKey(), falling back to the registry name if no translation exists.default StringReturns the translation key for this dimension.doubleThe maximum radius to scan for entities when trying to check bounding boxes.default @Nullable ModelDataManagerRetrieves the model data manager for the given level.doubleincreaseMaxEntityRadius(double value) Increases the max entity radius, this is safe to call with any value.default voidNotify all listeners that the capabilities at a specific position might have changed.default voidNotify all listeners that the capabilities at all the positions in a chunk might have changed.private Levelself()
-
Field Details
-
TRANSLATION_PREFIX
Prefix used for all dimension based translationsAll dimension translations must start with this prefix, followed by the registry namespace and path.
dimension.<namespace>.<path>- See Also:
-
-
Method Details
-
self
-
getMaxEntityRadius
double getMaxEntityRadius()The maximum radius to scan for entities when trying to check bounding boxes. Vanilla's default is 2.0D But mods that add larger entities may increase this. -
increaseMaxEntityRadius
double increaseMaxEntityRadius(double value) Increases the max entity radius, this is safe to call with any value. The setter will verify the input value is larger then the current setting.- Parameters:
value- New max radius to set.- Returns:
- The new max radius
-
getModelDataManager
Retrieves the model data manager for the given level. May be null on a server level.For model data retrieval, prefer calling
IBlockGetterExtension.getModelData(BlockPos)rather than this method, as it works on more than just a level. -
getCapability
@Nullable default <T,C extends @Nullable Object> T getCapability(BlockCapability<T, C> cap, BlockPos pos, C context) Retrieve a block capability.If the block state and/or the block entity is known, pass them via
getCapability(BlockCapability, BlockPos, BlockState, BlockEntity, Object)instead. -
getCapability
@Nullable default <T,C extends @Nullable Object> T getCapability(BlockCapability<T, C> cap, BlockPos pos, @Nullable @Nullable BlockState state, @Nullable @Nullable BlockEntity blockEntity, C context) Retrieve a block capability.Use this override if the block state and/or the block entity is known, otherwise prefer the shorter
getCapability(BlockCapability, BlockPos, Object).If either the block state or the block entity is unknown, simply pass
null. This function will fetchnullparameters from the level, with some extra checks to attempt to skip unnecessary fetches.- Parameters:
state- the block state, if known, ornullif unknownblockEntity- the block entity, if known, ornullif unknown
-
getCapability
Retrieve a block capability with no context.If the block state and/or the block entity is known, pass them via
getCapability(BlockCapability, BlockPos, BlockState, BlockEntity)instead. -
getCapability
@Nullable default <T> T getCapability(BlockCapability<T, @Nullable Void> cap, BlockPos pos, @Nullable @Nullable BlockState state, @Nullable @Nullable BlockEntity blockEntity) Retrieve a block capability with no context.Use this override if the block state and/or the block entity is known, otherwise prefer the shorter
getCapability(BlockCapability, BlockPos).If either the block state or the block entity is unknown, simply pass
null. This function will fetchnullparameters from the level, with some extra checks to attempt to skip unnecessary fetches.- Parameters:
state- the block state, if known, ornullif unknownblockEntity- the block entity, if known, ornullif unknown
-
invalidateCapabilities
Notify all listeners that the capabilities at a specific position might have changed. This includes new capabilities becoming available.This method will only do something on
ServerLevels, but it is safe to call on anyLevel, without the need for aninstanceofcheck.If you already have a block entity at that position, you can call
IBlockEntityExtension.invalidateCapabilities()instead. -
invalidateCapabilities
Notify all listeners that the capabilities at all the positions in a chunk might have changed. This includes new capabilities becoming available.This method will only do something on
ServerLevels, but it is safe to call on anyLevel, without the need for aninstanceofcheck. -
getDescriptionKey
Returns the translation key for this dimension.Used when looking up the matching translation.
- Returns:
- Translation key used to lookup translation for this dimension.
- See Also:
-
getDescription
Returns Component which looks up the matching value for getDescriptionKey(), falling back to the registry name if no translation exists.- Returns:
- Translated name or registry name if none exists.
- See Also:
-