Class ModifiableStructureInfo
java.lang.Object
net.neoforged.neoforge.common.world.ModifiableStructureInfo
Holds lazy-evaluable modified structure info.
Memoizers are not used because it's important to return null
without evaluating the structure info if it's accessed outside of a server context.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final record
Record containing raw structure data. -
Field Summary
Modifier and TypeFieldDescriptionprivate @Nullable ModifiableStructureInfo.StructureInfo
private final ModifiableStructureInfo.StructureInfo
-
Constructor Summary
ConstructorDescriptionModifiableStructureInfo
(ModifiableStructureInfo.StructureInfo originalStructureInfo) -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyStructureModifiers
(Holder<Structure> structure, List<StructureModifier> structureModifiers) Internal forge method; the game will crash if mods invoke this.get()
Returns The modified structure info if modified structure info has been generated, otherwise gets original structure info.@Nullable ModifiableStructureInfo.StructureInfo
Returns Modified structure info; null if it hasn't been set yet.Returns The original structure info that the associated structure was created with.
-
Field Details
-
originalStructureInfo
-
modifiedStructureInfo
-
-
Constructor Details
-
ModifiableStructureInfo
- Parameters:
originalStructureInfo
- StructureInfo representing the original state of a structure when the structure was constructed.
-
-
Method Details
-
get
Returns The modified structure info if modified structure info has been generated, otherwise gets original structure info.- Returns:
- The modified structure info if modified structure info has been generated, otherwise gets original structure info
-
getOriginalStructureInfo
Returns The original structure info that the associated structure was created with.- Returns:
- The original structure info that the associated structure was created with
-
getModifiedStructureInfo
Returns Modified structure info; null if it hasn't been set yet.- Returns:
- Modified structure info; null if it hasn't been set yet
-
applyStructureModifiers
@Internal public void applyStructureModifiers(Holder<Structure> structure, List<StructureModifier> structureModifiers) Internal forge method; the game will crash if mods invoke this. Creates and caches the modified structure info.- Parameters:
structure
- named structure with original data.structureModifiers
- structure modifiers to apply.- Throws:
IllegalStateException
- if invoked more than once.
-