Tags
Creators
Details
All versions
1.21-1.0.1
Release
Limited Spectator 1.21.x-1.0.1last year 54
Compatibility
Minecraft: Java Edition
1.21.1–1.21.10
Platform
NeoForge
Supported environments
Client and server
Changes
[1.0.1] - 2025-11-05
Changed
- Updated mod initialization to use
IEventBusparameter in constructor instead of deprecated@EventBusSubscriber(bus = ...)annotation - Modernized event registration for NeoForge 1.21.1+ compatibility
- Replaced all
System.out.println()andSystem.err.println()calls with proper SLF4J logging - Replaced
printStackTrace()calls withLOGGER.error()with exception parameter for better error tracking - Updated NeoForge from 21.1.209 to 21.1.213 for bug fixes and security improvements
Fixed
- Suppressed IDE warnings for event handler methods that are called via reflection
- Suppressed deprecation warnings for
mayflyability field (awaiting NeoForge API replacement) - Removed redundant null check in
/survivalcommand aftergetPlayerOrException()call - Removed always-true condition checking
player.connection != null && player.server != nullin/survivalcommand - Removed always-false null check for
BlockStateinonPlayerRightClickBlockevent handler
Security
- Resolved CVE-2025-24970 (Netty vulnerability, Score 7.5) by forcing Netty upgrade to 4.1.118.Final
- Added dependency resolution strategy in build.gradle to force Netty 4.1.118.Final (from transitive 4.1.97.Final)
- Netty handler vulnerability that could cause native crash with malformed SSL packets has been fully patched
- Resolved CVE-2025-48924 (Apache Commons Lang3 vulnerability, Score 5.3) by forcing upgrade to 3.18.0
- Fixed uncontrolled recursion vulnerability in ClassUtils.getClass() that could cause StackOverflowError with very long inputs
- Upgraded from Commons Lang3 3.14.0 to 3.18.0 (from transitive dependency)
Technical
- Removed deprecated
@EventBusSubscriberwithbusparameter - Replaced inner
ModEventsclass with directIEventBus.addListener()registration - Added
@SuppressWarnings("unused")to all event handler methods inSpectatorModandClientEventHandler - Added
@SuppressWarnings("deprecation")to methods using deprecatedmayflyability field - Added SLF4J
Loggerinstances toSpectatorMod,NetworkHandler, andClientEventHandlerclasses - Converted console output to proper log levels:
LOGGER.info(),LOGGER.error(), andLOGGER.debug() - Updated commented debug statements to use SLF4J logger with parameterized messages
- Added Gradle dependency resolution strategy to force specific dependency versions:
- Netty 4.1.118.Final (handler, common, buffer, transport, codec)
- Apache Commons Lang3 3.18.0
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1h1Nfg72:35E3trjx"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1h1Nfg72:35E3trjx"
}

