# Change Log
[ToLaserBlade (NeoForge)](https://github.com/Iunius118/ToLaserBlade#readme).
[Source](https://github.com/Iunius118/ToLaserBlade).

## [Unreleased]

## [15.0.0 NeoForge]
### Changed
- Port to Minecraft 1.21.10.
- Require NeoForge 21.10.15-beta+.
- Update laser blade model API.

## [14.0.0 NeoForge]
### Changed
- Port to Minecraft 1.21.6.
- Require NeoForge 21.6.5-beta+.
- Change rendering of laser blades in GUI.

## [13.0.0 NeoForge]
### Changed
- Port to Minecraft 1.21.5.
- Require NeoForge 21.5.62-beta+.

### Fixed
- Laser blade can now use the `minecraft:blocks_attacks` data component to block attacks.
- Icons of some advancements.

## [12.2.0 NeoForge]
### Added
- Add sound event to DX Laser B1ade: `tolaserblade:item.dx_laser_blade.hit`.
- Add sound events to Laser Blade: `tolaserblade:item.laser_blade.hit` and `tolaserblade:item.laser_blade.block`.
- Add sound events to Laser Blade (fireproof): `tolaserblade:item.laser_blade_fp.hit` and `tolaserblade:item.laser_blade_fp.block`.
- Add sound event to Brand-new Laser Blade: `tolaserblade:item.lb_brand_new.use`.
- Add sound event to Brand-new Laser Blade (fireproof): `tolaserblade:item.lb_brand_new_fp.use`.
- Add sound event to laser trap: `tolaserblade:item.laser_trap.activate`.
- Add `useShieldSoundForLaserBlade` to client-side config.

### Changed
- Adjust sound effects of laser blade.

## [12.1.1 NeoForge]
### Fixed
- Fix exception thrown by TLBServerConfig when world is unloaded.

## [12.1.0 NeoForge]
### Added
- Add `laserBladeBaseDamage`, `laserBladeBaseSpeed`, and `attackDamageUpgradeMultiplier` to server-side config.

### Changed
- Make base attack damage and base attack speed of laser blades configurable.
- Make damage multiplier of attack damage upgrade configurable.
- Change limits of `maxAttackDamageUpgradeCount` in server-side config.

## [12.0.0 NeoForge]
### Added
- Add special model type `tolaserblade:laser_blade` to render laser blade items.
- Add tint source type `tolaserblade:laser_blade` to tint laser blade part items.
- Add boolean property `tolaserblade:using_original_model` to represent condition of laser blades.
- Add boolean property `tolaserblade:blocking` to represent condition of laser blades.
- New color of brand-new laser blade for pale garden biome.

### Changed
- Port to Minecraft 1.21.4.
- Require NeoForge 21.4.47-beta+.

## [11.0.0 NeoForge]
### Changed
- Port to Minecraft 1.21.3.
- Require NeoForge 21.3.6-beta+.

## [10.0.4 NeoForge]
### Fixed
- Fix mining speed of laser blades.

## [10.0.3 NeoForge]
### Changed
- Require NeoForge 21.0.167+.

### Fixed
- Fix optional feature of blocking damage with laser blade that was not working.

## [10.0.2 NeoForge]
### Fixed
- Fix crash when opening creative tabs in multiplayer mode.

## [10.0.1 NeoForge]
### Fixed
- Fix laser trap attack causing creeper to explode.

## [10.0.0 NeoForge]
### Changed
- Port to Minecraft 1.21.
- Require NeoForge 21.0.38-beta+.

### Fixed
- Fix sound effect when DX laser b1ade destroys redstone torch.

## [9.1.0 NeoForge]
### Added
- Add recipes of repair upgrade and fireproof upgrade.

### Changed
- Require NeoForge 20.6.112-beta+.
- Switch license to MIT.

### Fixed
- Attribute modifiers are now removed when laser blades are converted to brand-new ones.

## [9.0.2 NeoForge]
### Fixed
- Fix Light Element not working correctly against undead mobs and illagers.

## [9.0.1 NeoForge]
### Added
- Data components for laser blade: `tolaserblade:lb_atk`, `tolaserblade:lb_spd`, and `tolaserblade:lb_mdl`.
- Entity type tag `tolaserblade:sensitive_to_light_element` for Light Element enchantment.

### Changed
- Port to Minecraft 1.20.6.
- Require NeoForge 20.6.61-beta+.

### Removed
- Additional shader for laser blade.
- Modification of fixed vertex buffer.

### Fixed
- Categories of recipes.

## [8.3.0 NeoForge]
### Changed
- Port to 1.20.4 NeoForge.
- Require NeoForge 20.4.42-beta+.

### Removed
- Remapping of item IDs for backward compatibility.

### Fixed
- Title of achievement: `Into the Core`.
- Registration event for laser blade models.

## [8.3.0 Forge]
### Changed
- Change update information file to update-forge.json.

### Fixed
- Rename client config item `useInternalModel` to `useOriginalModelType`.
- Improve laser blade model no. 2.
- Improve loading and rendering of laser blade models.

## [8.2.0]
### Added
- New blade color of laser blade obtained in cherry grove biome.

### Changed
- Require Forge 1.20.2-48.0.30+.

### Fixed
- Blade color of laser blade obtained in deep dark.

## [8.1.1]
### Fixed
- Blade color of laser blade obtained in deep dark.

## [8.1.0]
### Changed
- Require Forge 1.20.2-48.0.24+.
- Conditions for changing blade colors of laser blade that can be obtained from Brand-new Laser Blade I or II.

### Fixed
- Fake player for laser trap to attack mobs.
- Tag type when writing model type number to laser blade item stack.

## [8.0.0]
### Changed
- Port to 1.20.2.
- Require Forge 1.20.2-48.0.10+.
- Version scheme.

## [1.20.1-7.0.0.0]
### Changed
- Require Forge 1.20.1-47.0.34+.

## [1.20.1-7.0.0.0-beta.1]
### Added
- New recipes for Laser Blade Blueprint, LB Energy Cell, Laser Medium, Laser Blade Emitter, and Laser Blade Casing.
- Built-in optional data pack `tolaserblade:old_lb_recipes_6` to revert laser blade recipes to version 6.

### Changed
- Port to 1.20.1.
- Require Forge 1.20.1-47.0.1+.
- Brand-new laser blade recipes to use Laser Blade Blueprint and laser blade parts.
- All smithing recipes require Laser Blade Blueprint as template.
- Laser Blade Blueprint remains in template slot when result item is taken.
- Attack damage upgrade consumes Block of Diamond now.

## [1.19.4-6.2.0.0]
### Added
- LaserBladeModelRegistrationEvent to ToLaserBlade API.
- LaserBladeState to ToLaserBlade API.

### Changed
- Require Forge 1.19.4-45.0.64+.
- Update ToLaserBladeAPI.

## [1.19.4-6.1.0.0]
### Changed
- Port to 1.19.4.
- Require Forge 1.19.4-45.0.9+.

### Fixed
- LaserBladeModel in ToLaserBlade API.

## [1.19.3-6.0.1.0]
### Added
- Laser blades of additional shapes to creative mode tab.

## [1.19.3-6.0.0.0]
### Changed
- Require Forge 1.19.3-44.1.0+.

## [1.19.3-6.0.0.0-beta.2]
### Added
- New function `shield` to laser blade json model.

### Changed
- Require Forge 1.19.3-44.0.37+.

### Fixed
- Laser blade models.

## [1.19.3-6.0.0.0-beta.1]
### Added
- New model type `tolaserblade:model_v1`.
- Migrate 4 laser blade shapes to new model types.

### Changed
- Port to 1.19.3.
- Require Forge 1.19.3-44.0.30+.
- Setting items in client config: added `useOriginalModelType` and `defaultModel`; removed `useInternalModel`, `internalModelType`, and `externalModelType`.

### Removed
- .OBJ model support.
- Internal laser blade models. They will be distributed as add-on later.

### Fixed
- Laser blade to allow sweep attack.

## [1.19-5.3.3.0]
### Changed
- Compatible with Forge 1.19-41.0.98.

## [1.19-5.3.2.1]
### Fixed
- Port to Forge 1.19-41.0.64.

### Changed
- Require Forge 1.19-41.0.64+.

## [1.19-5.3.2.0]
### Added
- New internal Laser Blade model.
- Recipe to change laser blade model.

## [1.19-5.3.1.0]
### Added
- New internal Laser Blade model.
- Recipe to change laser blade model.

### Changed
- Require Forge 1.19-41.0.45+.

## [1.19-5.3.0.0]
### Changed
- Port to 1.19.
- Require Forge 1.19-41.0.1+.
- Add echo shard to the ingredients of silk touch upgrade.

## [1.18.2-5.2.0.0]
### Changed
- Port to 1.18.2.
- Require Forge 1.18.2-40.0.2+.

## [1.18-5.1.1.1]
### Fixed
- Behavior of laser blade when using (right-clicking) it in hand.
- Fix laser blade so that it cannot be worn as helmet.

## [1.18-5.1.1.0]
### Changed
- Port to 1.18.

## [1.17.1-5.1.1.0]
### Added
- Translation keys to `ru_ru.json` and `zh_cn.json`.

### Changed
- Update Simplified Chinese (`zh_cn`) translation (thanks to tankyap).

## [1.17.1-5.1.0.0]
### Changed
- Require Forge 1.17.1-37.0.45+.

### Fixed
- Tiers of mod items.

## [1.17.1-5.0.1.0]
### Added
- Recipes to change model type of laser blade to 0 or 1.
- Laser blade unlit shader.

### Changed
- Update Forge to 1.17.1-37.0.19.

## [1.17.1-5.0.0.0]
### Added
- Particles for visual effects of laser trap.
- Recipes to switch blend mode of blade color.

### Changed
- Port to 1.17.1.
- Update Forge to 1.17.1-37.0.12.
- Default value of canLaserTrapAttackPlayer in server config to true.
- Non-fireproof laser blade can be used for laser furnace.
- Add amethyst shard to the ingredients of silk touch upgrade.

### Removed
- Laser trap entity (ID: `tolaserblade:laser_trap`).

### Deprecated
- .OBJ model support.
