Package net.neoforged.neoforge.event
Class ModMismatchEvent
java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.event.ModMismatchEvent
- All Implemented Interfaces:
 net.neoforged.fml.event.IModBusEvent
public class ModMismatchEvent
extends net.neoforged.bus.api.Event
implements net.neoforged.fml.event.IModBusEvent
Fires when the mod loader is in the process of loading a world that was last saved
 with mod versions that differ from the currently-loaded versions. This can be used to
 enqueue work to run at a later point, such as multi-file migration of data.
 
Note that level and world information has not yet been fully loaded; as such, it is unsafe to access server or level information during handling of this event.
This event is not cancellable, and does not have a result.
This event is fired on the mod-specific event bus, on both logical sides.
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final recordNested classes/interfaces inherited from class net.neoforged.bus.api.Event
net.neoforged.bus.api.Event.HasResult, net.neoforged.bus.api.Event.Result - 
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final LevelStorageSource.LevelDirectoryThe level being loaded.Which mods have specified that they have handled version mismatches.private final HashMap<String,ModMismatchEvent.MismatchedVersionInfo> A set of previously-known versions that have mismatched with the currently loaded versions. - 
Constructor Summary
ConstructorsConstructorDescriptionModMismatchEvent(LevelStorageSource.LevelDirectory levelDirectory, Map<String, org.apache.maven.artifact.versioning.ArtifactVersion> previousVersions, Map<String, org.apache.maven.artifact.versioning.ArtifactVersion> missingVersions)  - 
Method Summary
Modifier and TypeMethodDescriptionbooleanboolean@Nullable org.apache.maven.artifact.versioning.ArtifactVersiongetCurrentVersion(String modid) Gets the current level directory for the world being loaded.@Nullable org.apache.maven.artifact.versioning.ArtifactVersiongetPreviousVersion(String modId) Fetch a previous version of a given mod, if it has been mismatched.Optional<net.neoforged.fml.ModContainer>getResolver(String modid) getVersionDifference(String modid) voidmarkResolved(String modId) Marks the mod version mismatch as having been resolved safely by the current mod.booleanwasResolved(String modId) Fetches the status of a mod mismatch handling state.Methods inherited from class net.neoforged.bus.api.Event
getResult, hasResult, setResult 
- 
Field Details
- 
levelDirectory
The level being loaded. Useful for things likeDimensionDataStorageto manage multiple files changing between mod versions. - 
versionDifferences
A set of previously-known versions that have mismatched with the currently loaded versions. - 
resolved
Which mods have specified that they have handled version mismatches. 
 - 
 - 
Constructor Details
- 
ModMismatchEvent
@Internal public ModMismatchEvent(LevelStorageSource.LevelDirectory levelDirectory, Map<String, org.apache.maven.artifact.versioning.ArtifactVersion> previousVersions, Map<String, org.apache.maven.artifact.versioning.ArtifactVersion> missingVersions)  
 - 
 - 
Method Details
- 
getLevelDirectory
Gets the current level directory for the world being loaded. Can be used for file operations and manual modification of mod files before world load. - 
getPreviousVersion
@Nullable public @Nullable org.apache.maven.artifact.versioning.ArtifactVersion getPreviousVersion(String modId) Fetch a previous version of a given mod, if it has been mismatched.- Parameters:
 modId- The mod to fetch previous version for.- Returns:
 - The previously known mod version, or 
Optional.empty()if unknown/not found. 
 - 
getCurrentVersion
@Nullable public @Nullable org.apache.maven.artifact.versioning.ArtifactVersion getCurrentVersion(String modid)  - 
markResolved
Marks the mod version mismatch as having been resolved safely by the current mod. - 
wasResolved
Fetches the status of a mod mismatch handling state. - 
getVersionDifference
 - 
getResolver
 - 
anyUnresolved
public boolean anyUnresolved() - 
getUnresolved
 - 
anyResolved
public boolean anyResolved() - 
getResolved
 
 -