# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
See the full changelog at https://github.com/iamkaf/amber
## [Unreleased]
### Added
- Added comprehensive block interaction events:
- `BlockEvents.BLOCK_BREAK_BEFORE/AFTER` - Fires before/after players break blocks (cancellable)
- `BlockEvents.BLOCK_PLACE` - Unified block placement event (server-only, cancellable)
- `BlockEvents.BLOCK_INTERACT` - Fires when players right-click blocks (cancellable)
- `BlockEvents.BLOCK_CLICK` - Fires when players left-click blocks (cancellable)
- Added client-side input events:
- `InputEvents.MOUSE_SCROLL_PRE` - Fires before mouse wheel scroll with position and delta data (cancellable)
- `InputEvents.MOUSE_SCROLL_POST` - Fires after mouse wheel scroll with position and delta data (non-cancellable)
- Added client-side rendering events:
- `RenderEvents.BLOCK_OUTLINE_RENDER` - Fires when block selection outlines are rendered (cancellable)
- Added Fabric Mixin support for mouse scroll events via `MouseHandlerMixin`
- Added full cross-platform event consistency across Fabric, Forge, and NeoForge
- Added EventBus 7 support for Forge 1.21.8+ with proper cancellation handling
### Changed
- **Updated to Minecraft 1.21.9** (Fabric and NeoForge)
## 6.0.10
### Added
- Added support for Forge.
- Added a DeferredRegister system to allow for registering items, blocks, and entities in a more structured way.
- Added a new AmberInitializer class to init mods.
- Added a new JSON config system.
- Added events to register commands.
- Added SimpleCommands helper to register commands easily.
- Added a KeybindHelper to register keybinds.
- Added events to render to the HUD.
- Added the `/amber doctor` command to diagnose issues with the mod.
- Added client tick events.
- Added unified networking API supporting Fabric, Forge, and NeoForge.
- Added internal networking system for connectivity testing and latency measurement.
- Added `/amber ping` command for manual network connectivity testing.
- Added `/amber reset-stats` command to reset networking statistics.
- Added networking diagnostics to `/amber doctor` command (initialization status, ping count, average latency).
### Deprecated
- AmberMod is now deprecated in favor of AmberInitializer.
- All unversioned API helper classes have been deprecated in preparation for versioned packages.
- JsonFileReader is now deprecated in favor of a new JSON system.
### Fixed
- Fixed a bug where the mod would not load properly on some platforms.
- FORGE: Fixed a bug preventing interactions with entities.
## Types of changes
- `Added` for new features.
- `Changed` for changes in existing functionality.
- `Deprecated` for soon-to-be removed features.
- `Removed` for now removed features.
- `Fixed` for any bug fixes.
- `Security` in case of vulnerabilities.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }