Tags
Creators
Details
1.21.1-1.1.0-beta
Compatibility
Changes
[1.1.0-beta] - 2025-11-09
⚠️ Beta Release Notice
This is a beta release with significant new features and bug fixes. Some advanced features have known limitations that are being investigated. See "Known Issues" section below.
Added
- Complete Configuration System - Comprehensive TOML-based configuration file (
limitedspectator-common.toml)- Movement Restrictions: Configure max distance (-1 to disable), dimension travel, teleport behavior, logout position reset
- Player Abilities: Toggle invulnerability, flight, auto-flying, and choose between ADVENTURE/SPECTATOR gamemode
- Interaction Controls: Individually toggle PvP, mob attacks, item drop/pickup, block breaking/placing
- Customizable Block Whitelist: Define exactly which blocks are interactable via Minecraft block IDs
- Permission System: Set required permission levels (0-4) for
/spectatorand/survivalcommands - Client/HUD Settings: Configure auto-hide HUD and F1 toggle functionality
- Message Settings: Choose action bar vs chat messages, enable/disable distance warnings
- Configuration validation with sensible defaults and range checking
- Hot-reload support for configuration changes via
/reloadcommand - Performance-optimized config value caching
- CONTRIBUTING.md - Comprehensive contributor guide with coding standards and known issues
Fixed
- Critical:
/survivalcommand now correctly teleports players back to original dimension (Overworld/Nether/End) - Critical: Dimension tracking added -
spectatorStartDimensionsHashMap prevents cross-dimension bugs - Distance boundary enforcement when
teleport_back_on_exceed=false- players stopped at exact boundary - Vanilla F1 HUD toggle now works when
auto_hide_hud=false - HUD flicker reduced when
auto_hide_hud=true+allow_f1_hud_toggle=true - Message encoding fixed - removed
§color codes causing garbled characters (À symbols) - Messages now use
Component.literal().withStyle(ChatFormatting.XXX)for proper rendering - Messages visible even with HUD hidden (action bar works independently)
- Logout handler cleanup for dimension tracking
Changed
- Distance limit is now fully configurable (default: 75 blocks, set to -1 to disable)
- Block interaction whitelist now supports any Minecraft block ID instead of hardcoded door/trapdoor/gate types
- Command permission levels can now be customized per-command
- All hardcoded values replaced with config-driven logic
- Improved server admin flexibility with granular control over all spectator restrictions
- Enhanced mod description to reflect configurability and beta status
Technical
- Created
ModConfig.javawith NeoForge ConfigSpec API (25+ configurable options) - Integrated
ModConfigEventlistener for hot-reload support - Updated
SpectatorMod.javato use config values throughout - Updated
ClientEventHandler.javato respect client-side config options - Added
LivingIncomingDamageEventhandler for invulnerability control (partial) - Added
BlockEvent.BreakEventandBlockEvent.EntityPlaceEventhandlers - Added
ClientboundPlayerAbilitiesPacketfor flying state sync (partial) - Removed hardcoded constants in favor of config references
- Configuration file auto-generates on first launch with detailed comments
Documentation
- Added comprehensive configuration section with all available options and examples
- Updated Future Roadmap to reflect completed features
- Added example configuration customization scenarios
- Created CONTRIBUTING.md with developer guidelines
- Documented Known Issues section
Known Issues
High Priority
-
Fall Damage (enable_invulnerability=false): Players with
mayfly=truein ADVENTURE mode don't receive fall damage even when invulnerability is disabled. This appears to be core Minecraft behavior with flying abilities. -
Auto-Start Flying (auto_start_flying=true): Players don't immediately enter flying mode when using
/spectator. They must manually double-tap spacebar. Client-server packet sync issue under investigation. -
Block Interaction (allow_block_breaking/placing=true): Even with
mayBuild=true, block breaking and placing don't work in ADVENTURE mode due to vanilla restrictions. Investigating alternative approaches.
Medium Priority
- HUD Edge Cases:
auto_hide_hud=false+allow_f1_hud_toggle=false: Vanilla F1 still works (expected vanilla behavior)auto_hide_hud=true+allow_f1_hud_toggle=false: Brief HUD flash on spectator mode entry (~1 frame)
These issues are documented in CONTRIBUTING.md and are actively being investigated. Contributions welcome!
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:mReBZUUt"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1h1Nfg72:mReBZUUt"
}

