ModularWarfare-Shining is a military armed MOD specifically designed for 1.12.2 Minecraft. Based on this MOD, you do not need any MOD development capabilities and only need to create or use a Context-Pack to add numerous military armed attributes to the game, such as guns, attachments, ammunition, armor, and backpacks.
ModularWarfare Shining is a continuation of ModularWarfare who have been orginally developed by Protoxy. ModularWarfare-Shining is a branch enhanced version of ModularWarfare, providing some enhanced features, such as support for multiple languages and more modern modularity.
Thanks Protoxy for long term unremitting efforts and selfless cultivation of the Minecraft MOD community.
### Since version 2.4.5f, `fasterxml-jackson-2.12.x`and`joml-1.10.5` no longer need to be downloaded separately
#### We have removed the prototype content pack and replaced it with the simplepart pack. Similar to Flan's Simple Parts Pack, it serves as a required prerequisite. We have deleted most of the guns and armor, retaining only the sound effects and aiming overlays to ensure there are no issues.
### Gui:
- Fixed an issue that caused the interface to not close
### Since version 2.4.5f, `fasterxml-jackson-2.12.x`and`joml-1.10.5` no longer need to be downloaded separately
#### We have removed the prototype content pack and replaced it with the simplepart pack. Similar to Flan's Simple Parts Pack, it serves as a required prerequisite. We have deleted most of the guns and armor, retaining only the sound effects and aiming overlays to ensure there are no issues.
Due to numerous version updates, I have collapsed the previous update logs.
## Version 2.4.5f-fix2
<details>
<summary>Spoiler</summary>
### Enhancements in Launcher-Type Weapon Logic:
The following parameters are now fully effective:
### Gun Parameters:
```json
"bulletSpread": 4
"accuracySneakFactor": 0.8
"accuracyCrawlFactor": 0.6
"accuracyAimFactor": 0.05
"recoilCrawlYawFactor": 0.9
"recoilCrawlPitchFactor": 0.6
```
### Bullet Parameters:
```json
"impactDamage": 10
"projectileVelocity": 4
"explosionStrength": 6.0
"gravity": -0.01
"isSmoke": true
"isExplosion": true
"damageWorld": false
```
### Parameter Descriptions:
- `impactDamage`: Damage dealt to an entity upon impact.
- `projectileVelocity`: Speed at which the projectile is launched.
- `explosionStrength`: Strength of the explosion caused by the projectile (integer).
- `gravity` :Downward speed of the projectile.
- `isSmoke`: Whether the projectile leaves a smoke trail.
- `isExplosion`: Whether the projectile explodes.
- `damageWorld`: Whether the explosion caused by the projectile damages the world.
### New Tactical Feature Toggle Options:
```json
{
"lean": {
"enable": true,
"autoHold": false,
"mouseCorrection": true,
"withGunsOnly": false
},
"slide": {
"enable": true,
"maxForce": 1.0
},
"sit": {
"enable": true,
"autoHold": true
},
"crawl": {
"enable": true,
"sprintCancel": true
},
"version": "1.0.0f"
}
```
### Bug Fixes
- Fixed the issue where tactical action parameters were not effective.
- Fixed the issue where block attenuation curves were enabled by default.
- Fixed the issue where arms were visible in the scope.
### Overhauls
- The modification interface can now only be opened in the `default`/`defaultEmpty` state.
</details>
## Version 2.4.6
### Enhancements in Weapon and Animation Logic:
#### New Features:
- **Custom Sprint Blending Node**: Added a customizable node for sprint state transitions.
- **Aiming Fire Animations**: Introduced the following animations for aiming and firing:
- `preFireADS`
- `fireADS`
- `fireLastADS`
- `postFireADS`
- `postFireADSEmpty`
- **Laser Attachment**: Added a new attachment type `laser`:
**Render Parameters**:
```json
{
"laserColor": [1.0, 0.0, 0.0],
"laserAlpha": 1.0,
"maxDistance": 100,
"dotSize": 2.0
}
```
- `laserColor`: RGB values for the laser's color.
- `laserAlpha`: Transparency level of the laser.
- `maxDistance`: Maximum effective range of the laser beam.
- `dotSize`: Size of the laser dot.
**Attachment Parameters**:
```json
{
"accuracyFactor": 1.0,
"aimSpeedFactor": 1.0,
"recoilPitchFactor": 1.0,
"recoilYawFactor": 1.0
}
```
- `accuracyFactor`: Influence of the laser on weapon accuracy.
- `aimSpeedFactor`: Impact of the laser on aiming speed.
- `recoilPitchFactor`: Reduction in vertical recoil due to the laser.
- `recoilYawFactor`: Reduction in horizontal recoil due to the laser.
#### Parameter Descriptions:
- **Reticle Scaling Parameters**:
- `fovZoomStage`: Discrete zoom levels supported by the reticle.
- `fovZoomMin`: Minimum zoom level for continuous scaling.
- `fovZoomMax`: Maximum zoom level for continuous scaling.
- Note: When `fovZoomMin` and `fovZoomMax` are present, `fovZoomStage` will be ignored, enabling continuous (seamless) zoom functionality.
- Example configuration:
```json
{
"fovZoomStage": [4.0, 8.0],
"fovZoomMin": 4.0,
"fovZoomMax": 8.0
}
```
#### Improvements:
- **Camera Shake Logic**: Now influenced by lateral recoil.
- **Linear Model Parameter Adjustment**: Smoothed parameter changes.
- **Adaptive Reticle Scaling**:
- Reticles now scale proportionally across resolutions.
- Removed defocusing effects.
- Supported seamless zoom transitions.
- **Gun Hold Length**: Added a parameter to account for weapon length.
- **Projectile Trails**: Introduced static caching for performance improvement.
#### Bug Fixes:
- Resolved an issue causing desynchronized shell ejection effects in multiplayer.
- Fixed tactical action-related armor misalignment.
- Corrected errors with sprint parameters.
- Addressed conflicts between first-person camera animations and third-person weapon interactions.
- Enhanced GL compatibility for `LittleTiles`.
#### Forge Update:
- Upgraded Forge version to `2860`. Previous version `2855` remains supported.
### Since version 2.4.5f, `fasterxml-jackson-2.12.x`and`joml-1.10.5` no longer need to be downloaded separately
#### We have removed the prototype content pack and replaced it with the simplepart pack. Similar to Flan's Simple Parts Pack, it serves as a required prerequisite. We have deleted most of the guns and armor, retaining only the sound effects and aiming overlays to ensure there are no issues.
Due to numerous version updates, I have collapsed the previous update logs.
## Version 2.4.4f-fix8
<details>
<summary>Spoiler</summary>
* Fix bullet scattering issue
* Add animations `defaultEmpty`, `preReloadEmpty`, `reloadFirstEmpty`, `reloadSecondEmpty`
* New sounds: `weaponIdleEmpty`, `weaponPreReloadEmpty`, `weaponReloadEmpty`, `weaponReloadSecondEmpty`
* CustomiNpc can now render Enhance gun
* Fix the issue of incorrect position of guns and blocks after hiding player models in armor
* Add new `Mod_Config` parameter `projectionScale` to adjust the scaling depth of basic type
* Adjusting the position of leg armor
* Add Elytra feature to the backpack [can cancel the flight by jump again during flight]
* Add Jet featurethe backpack [take off, hover, and burst during flight]
* Add rendering parameters `shellYawOffset`, `shellPitchOffset`, `shellForwardOffset` to adjust the ejection position of shells
* Add headshot to ohter entities
* New parameters for bullet effect: `fireLevel`, `explosionLevel`, `explosionBroken`, `knockLevel`, and `banShield`
* `shellModel` now follows bullet settings
* bullet can change bullettrail
* Encryption server migration
</details>
## Version 2.4.4f-fix9
<details>
<summary>Spoiler</summary>
* New shellModel function added, `shellModel_ #` will be displayed sequentially during shooting
* Add new the parameter `aimSpeedFactor` for stock, which can adjust the aiming speed. Multiplication (The larger the value, the faster the aiming speed)
* New sub option adjustment parameters added to the barrel to adjust `flashModel` position
> "tcp.suppressor_normal": {
> "binding": "gunModel",
> "hidePart": [],
> "flashModelOffset": {
> "x": 0.0,
> "y": 0.0,
> "z": 0.0
> }
> }
* Add headshot event for bukkit call
* Fix the issue: Losing grenade sound again
* Fix the issue: When the barrel attachment is loaded with a non silencer, the sound heard by other players is still the silenced sound effect
* Fix the issue: Under enhanced weapons, if players hold weapons with different aim speeds, their scope opening speeds will be disrupted by other players' weapons
* Fix the issue: Under enhanced weapons, players changing weapons may cause nearby players in the open mirror state to lose their zoom factor
* New Animation `drawEmpty` and `inspectEmpty`, with related sounds: `weaponDrawEmpty` and `inspectEmpty`
* Added animations `fireLast` and `postFireEmpty` for use when only the last bullet is left
* `ShoulderSurfing` compatibility
</details>
## Version 2.4.4f-fix10
<details>
<summary>Spoiler</summary>
* Update backpack storage logic
* More `ShoulderSurfing` compatibility
* Shooting and aiming angle following in ELM(HE) state
* Added new configuration `allowEquipSounds` to control whether guns play default equipment sound effects
* Added new configuration `restrictingFireAnimation`、`firingReload` to control whether `postFireEmpty` will be interrupted by fire and reload
* Fix the issue: When `CustomiNPC` gives players guns, the ground also drops a portion
* Fix the issue: Guns of the same type will be forcibly loaded after `load` execution
* Fix the issue: Sound delay caused by network delay
* Fix the issue: `postFireEmpty` will still be interrupted by `preFire` after being triggered
* Fix the issue: The sounds of `draw` and `inspect` will be played repeatedly
* Fix the issue: `defaultEmpty` will be reset to `default` by shot
</details>
## Version 2.4.5f
### New Parameters
- `accuracyThirdAimFactor` Controls third-person aim scatter when holding the aim button
- `antiRecoilFactor` The higher the value, the faster the recoil backtrack
- `antiRecoilStartTime` Start time of the recoil, calculated in milliseconds. The lower the start time, the smaller the recoil
### General Global Settings
- `serverTickVerification` Enable server packet verification
- `serverShotVerification` Enable server shot verification
- `collisionBorderSizeFixNonPlayer` Bullet collision box size
### Client Settings
- `enableBloodParticle` Enable client-side hit particles
- `gunSmokeCorrectForBSL` Enable gun smoke compatibility with BSL shaders
- `gunFlashEffect` Enable gun flash system
### Additional Features
- Integrated `hidePart` and `showPart` for magazines
- Added drag-and-drop attachment installation method [WIP]
- Added bullet entity penetration and related settings:
- Gun Attributes:
- `gunPenetrateSize` Size of the penetrable collision box
- `gunPenetrationDamageFalloff` Linear damage decay after penetration
- Bullet Attributes:
- `bulletPenetrateFactor` Bullet penetration influence (multiplicative)
- Added bullet block penetration and related settings:
- Gun Attributes:
- `gunMaxPenetrateBlockResistance` The maximum block explosion resistance that can be penetrated.
- `gunPenetrateBlocksResistance` The maximum continuous penetration resistance.
- Bullet Attributes:
- `gunPenetrateBlocksDamageFalloffFactor` Bullet penetration influence (multiplicative)
- Damage falloff after penetration = Original damage * ((Remaining continuous penetration resistance / Maximum continuous penetration resistance) * Falloff factor).
- New animation type: `takedown` /`takedownEmpty`(triggered when putting away a weapon)
- related sounds effects: `weaponTakedown`/`weaponTakedownEmpty`
- dual-wielding weapons
- Added `renderElements` for third-person:
- `player_offhand` Controls the position of offhand weapons
- New rendering parameters:
- `renderOffhandPart` Controls whether the model is rendered in the offhand
- `thirdHideOffhandPart` Controls hidden models in the offhand
- `thirdShowOffhandPart` Controls displayed models in the offhand
- New gun chamber and barrel smoke system
```json
"specialEffect": {
"oldFlashModel": false,
"postSmokeFactor": 1,
"flashModelGroups": [
{
"name": "muzzle_point_1"
}
],
"postSmokeGroups": [
{
"name": "muzzle_point_1"
}
],
"ejectionGroups": [
{
"name": "ejection_point_1",
"throwShellFrame": 38,
"throwShellMaxForce": {
"x": 0,
"y": 0.5,
"z": 0.5
},
"ejectSmoke": true,
"ejectSmokeForce": {
"x": -20,
"y": -1,
"z": 5
}
}
],
"firstPersonShellEjectPos": {
"x": 0,
"y": 0,
"z": -0.2
},
"thirdPersonShellEjectPos": {
"x": 0,
"y": 0,
"z": 0
}
}
```
### Parameter Descriptions
- `name` Shell and Side smoke will eject form this node
- `oldFlashModel` Enable rendering for traditional FlashModel objects
- `postSmokeFactor` Coefficient for gun muzzle smoke; The larger the value, the more smoke appears
- `flashModelGroups` Objects in this group will be rendered as FlashModel objects
- `postSmokeGroups` Objects in this group will become binding points for muzzle smoke
- `ejectionGroups` Objects in this group will become binding points for ejection ports
- `firstPersonShellEjectPos` Realistic first-person shell ejection position (generally best left unchanged)
- `thirdPersonShellEjectPos` Realistic third-person shell ejection position (generally best left unchanged)
- `throwShellFrame` Frame number to throw the shell (requires a separate model named `shellEffect` without any animations)
- `throwShellMaxForce` Maximum force of shell ejection
- `ejectSmoke` Enable ejection smoke
- `ejectSmokeForce` Force adjustment for ejection smoke
- Add a `shellEffect` object to the model file, which is used for throwing shell
- This object cannot have any animation and must be at the world origin
### New Window Frame Sequence Parts
```json
"panelLogo": {
"texhead": "he_start/he_start_",
"FPS": 16,
"frameCount": 29
},
"panelReload": {
"texhead": "reload/reload_",
"FPS": 16,
"frameCount": 16
},
"panelAmmo": {
"texhead": "number[0-1000]/number_",
"FPS": 1,
"frameCount": 29
},
"panelSpecialAmmo": {
"0": {
"texhead": "lowammo0/number_",
"FPS": 5,
"frameCount": 7
}
},
"panelInspect": {
"texhead": "he_start/he_start_",
"FPS": 16,
"frameCount": 29
}
```
- Added`panelModel` to play sequence frames.
### Explanation
- Sequence image suffix starts from 0 and counts up to `frameCount` - 1
- When used with `panelAmmo`, `frameCount` represents the cycle period. For example, if the current ammo count is 4 and `frameCount` is 3, the texture will be `assets/modularwarfare/panel/+texhead+1.png`
- Specific instances for guns will be updated with the animation pack
### Sequence Frame Display
- `panelLogo` plays during the `draw` animation
- `panelReload` plays during the `preReload` animation
- `panelAmmo` plays based on the ammo count
- `panelSpecialAmmo` plays when a specified ammo count is reached
- `panelInspect` plays during the inspection process
### Additional Features
- Added `mwf_camera` to handle camera animations. Please use rotations as much as possible since translations in Blender units differ from Minecraft, causing discrepancies
- New `fire flash` mechanism
- Added `devotionSpeed` to control the acceleration strength for each shot [Tips: Focused Light Machine Gun]
### Bug Fixes
- Fixed accessory event for Bukkit
- Fixed third-person weapon position offset caused by sneaking
- Fixed inaccurate side head trajectory and non-following grenade throw position
- Fixed `preReloadEmpty` issue where reload was completed directly
- Fixed numerous network bugs and format adjustments (thanks to Komi's efforts)
- Fixed empty magazine rendering error
### Removals
- Removed task button compatibility with `CustomNpc`
- Removed restriction on gun loot being ground-only
- Removed `DevGui`
- Completely removed the original back weapon rendering (reworked and will be updated later)
### Overhauls
- Overhauled the rate of fire system [WIP]
- Rewritten the refresh logic for the `mod_config` file
# Since version 2.4.4f, mcgltf will no longer be used as a dependency. Please note downloading new dependencies[Hegltf is within the mod]
## Also need Optifine G5
## This is a little update before the major update.
### * Adjust emission call for mixing
### * Adjust the effect of leaning
### * Adjust the rendering of hand
### * Add `GetLivingAABBEvent` API
### * Add model cache to hegltf. now you can load more guns with lower memory🔸
### * Add new render parameter `bobbingFactor` [Enhance only]
### * Add Hebridge for future character updates
### * Add new parameter to adjust bullet spread[`accuracyMoveOffset`, `accuracySprintOffset`, `accuracyHoverOffset`]
### * Add new feature for switch to first person view when you are aiming at third person view[new parameter `autoSwitchToFirstView` in Mod_Config][Support ShoulderSurfing 2.8.1][WIP]
### * Fix the issue of abnormal model display when the number of nodes (objects, bones, etc.) exceeds 128🔸
### * Fix the issue of incorrect starting point of bullets when leaning🔸
### * Fix the issue of incorrect bullet spreaing at times🔸
>Since version 2.4.4f, mcgltf will no longer be used as a dependency. Please note downloading new dependencies[Hegltf is within the mod]
* Remove Mcgltf as the main dependency and use Hegltf instead [requires jackson libs]🔸
* The random texture processing stage of the muzzle flame has been changed from POST to FIRE and the alpha channel has been enabled.
* Sprint animation returns with significant performance improvement
* Add inspection sound effect 'inspect'
* Add custom bullettrail function [WIP]
* Add simple animation script [WIP]
* Add a list of default attachments, refer to configuration ↓
"defaultAttachments": {
"sight": "tcp.scope_m24a2"
}
* Added Enhanced type gun arm armor display, supporting bone animation[ [New Arm Armor Tutorial Document EN](https://shimo.im/docs/loqeMD8pjpfVYRqn)]🔸
* Added Enhanced type guns emission map support[_glow]
* Added Enhanced type guns texture alpha support [first person only]
* Added recoil mechanism, canceling automatic recovery after detecting manual gun pressing
* Remove the left panel of the attachment GUI
* Remove the attachment GUI slot string "无" and write it to the lang language file
* Fix the state machine issue of being unable to fire after death
* Fix the issue of pitch angle affecting bullet spread [fix gimbal deadlock]
* Add a new API for other addon calls
* Configuration file refresh cancelled, built-in content pack cancelled [download separately]
* New encryption system online
* Important: Server will not load any 'ZIP' or 'JAR' pack. If you want to use content pack on server, you must unzip them.
* New Attachment GUI.
* Better OBBHIT.
* More smooth lean.
* New Attachment: Stock.
* More parameters for the barrel and stock.
* Make ModularMovement inside the mod.
* Aim, Sneak, Sit, and Crawl will affect bullet spread.
* No "modelRecoilBackwards" when aiming.
* Third Person completed[include Loot and Itemframe].
* Add EasyEffect inside the mod.
* Fire Smoke[WIP and may rework].
* Camera Shake[WIP and may rework].
* Tooltips completed.
* Temporarily remove the inside guns` model from the PIP scope→ add PBR effect in the future.
* When the "allowEmptyMagazines" parameter of the magazine is false, the empty magazine will be thrown to the ground