-
-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ho ho hotfix #324
Ho ho hotfix #324
Conversation
WalkthroughThe changes across multiple files in the codebase address rendering issues, modify entity registration, tweak configuration parameters, and enhance compatibility with different versions of Java and Forge. The updates also fix shader crashes, correct magazine bullet types, and resolve game crashes caused by on-screen weather effects. These adjustments aim to improve the visual experience and stability of the game, particularly focusing on texture rendering and shader processing. Changes
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on X ? TipsChat with CodeRabbit Bot (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: OK
- Declining Code Health: 0 findings(s) ๐ฉ
- Improving Code Health: 0 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Lightweight sanity check
View detailed results in CodeScene
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: OK
- Declining Code Health: 0 findings(s) ๐ฉ
- Improving Code Health: 0 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Lightweight sanity check
View detailed results in CodeScene
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: OK
- Declining Code Health: 0 findings(s) ๐ฉ
- Improving Code Health: 0 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Lightweight sanity check
View detailed results in CodeScene
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: OK
- Declining Code Health: 0 findings(s) ๐ฉ
- Improving Code Health: 0 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Lightweight sanity check
View detailed results in CodeScene
- Fixed `onScreenRainAndSnow` missing lang entries - Fixed `enableFancyRainAndSnow` missing lang entries - Fixed `enableFancyRainAndSnow` having the lang entries for `onScreenRainAndSnow`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: FAILED
- Declining Code Health: 5 findings(s) ๐ฉ
- Improving Code Health: 3 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Lightweight sanity check
View detailed results in CodeScene
๐ฉ Declining Code Health (highest to lowest):
- String Heavy Function Arguments WeaponlibClassTransformer.java
- Complex Method Bloom.java: checkFramebufer
- Complex Conditional Dloom.java: blitDepth
- Complex Method WeaponlibClassTransformer.java: WeaponlibClassTransformer.CVTransform.visitMethod
- Bumpy Road Ahead Bloom.java: recreateFramebuffers
โ Improving Code Health:
- Complex Conditional WeaponlibClassTransformer.java: WeaponlibClassTransformer.UpdateEntityActionStateMethodVisitor.visitFieldInsn
- Complex Method WeaponSpawnEntity.java: onImpact
- Excess Number of Function Arguments WeaponlibClassTransformer.java: WeaponlibClassTransformer.SendSlotContentsMethodVisitor.visitMethodInsn
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: FAILED
- Declining Code Health: 5 findings(s) ๐ฉ
- Improving Code Health: 3 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Lightweight sanity check
View detailed results in CodeScene
๐ฉ Declining Code Health (highest to lowest):
- String Heavy Function Arguments WeaponlibClassTransformer.java
- Complex Method Bloom.java: checkFramebufer
- Complex Conditional Dloom.java: blitDepth
- Complex Method WeaponlibClassTransformer.java: WeaponlibClassTransformer.CVTransform.visitMethod
- Bumpy Road Ahead Bloom.java: recreateFramebuffers
โ Improving Code Health:
- Complex Conditional WeaponlibClassTransformer.java: WeaponlibClassTransformer.UpdateEntityActionStateMethodVisitor.visitFieldInsn
- Complex Method WeaponSpawnEntity.java: onImpact
- Excess Number of Function Arguments WeaponlibClassTransformer.java: WeaponlibClassTransformer.SendSlotContentsMethodVisitor.visitMethodInsn
โฆthey where crafted when this isn't necessary anymore
โฆe remaining time with millisecond precision
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: FAILED
- Declining Code Health: 6 findings(s) ๐ฉ
- Improving Code Health: 3 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Detailed -- Inspect the code that degrades in code health.
View detailed results in CodeScene
๐ฉ Declining Code Health (highest to lowest):
- Complex Conditional TileEntityAmmoPress.java: update
- String Heavy Function Arguments WeaponlibClassTransformer.java
- Complex Method Bloom.java: checkFramebufer
- Complex Conditional Dloom.java: blitDepth
- Complex Method WeaponlibClassTransformer.java: WeaponlibClassTransformer.CVTransform.visitMethod
- Bumpy Road Ahead Bloom.java: recreateFramebuffers
โ Improving Code Health:
- Complex Conditional WeaponlibClassTransformer.java: WeaponlibClassTransformer.UpdateEntityActionStateMethodVisitor.visitFieldInsn
- Complex Method WeaponSpawnEntity.java: onImpact
- Excess Number of Function Arguments WeaponlibClassTransformer.java: WeaponlibClassTransformer.SendSlotContentsMethodVisitor.visitMethodInsn
src/main/java/com/paneedah/weaponlib/crafting/ammopress/TileEntityAmmoPress.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/crafting/ammopress/TileEntityAmmoPress.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: FAILED
- Declining Code Health: 6 findings(s) ๐ฉ
- Improving Code Health: 3 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Detailed -- Inspect the code that degrades in code health.
View detailed results in CodeScene
๐ฉ Declining Code Health (highest to lowest):
- Complex Conditional TileEntityAmmoPress.java: update
- String Heavy Function Arguments WeaponlibClassTransformer.java
- Complex Method Bloom.java: checkFramebufer
- Complex Conditional Dloom.java: blitDepth
- Complex Method WeaponlibClassTransformer.java: WeaponlibClassTransformer.CVTransform.visitMethod
- Bumpy Road Ahead Bloom.java: recreateFramebuffers
โ Improving Code Health:
- Complex Conditional WeaponlibClassTransformer.java: WeaponlibClassTransformer.UpdateEntityActionStateMethodVisitor.visitFieldInsn
- Complex Method WeaponSpawnEntity.java: onImpact
- Excess Number of Function Arguments WeaponlibClassTransformer.java: WeaponlibClassTransformer.SendSlotContentsMethodVisitor.visitMethodInsn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 14
Configuration used: CodeRabbit UI
Files ignored due to filter (1)
- src/main/resources/assets/mwc/textures/models/Drum100rndMag.png
Files selected for processing (30)
- build.gradle (1 hunks)
- src/main/java/com/paneedah/mwc/skins/CustomSkin.java (1 hunks)
- src/main/java/com/paneedah/mwc/weapons/Magazines.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/ClientEventHandler.java (2 hunks)
- src/main/java/com/paneedah/weaponlib/StaticModelSourceRenderer.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/WeaponRenderer.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/WeaponSpawnEntity.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/ai/EntityConfiguration.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/command/WeaponDebugCommand.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/compatibility/ServerInterceptors.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/compatibility/graph/CompatibilityClassGenerator.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/config/ModernConfigManager.java (3 hunks)
- src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java (13 hunks)
- src/main/java/com/paneedah/weaponlib/crafting/ammopress/GUIContainerAmmoPress.java (3 hunks)
- src/main/java/com/paneedah/weaponlib/crafting/ammopress/TileEntityAmmoPress.java (5 hunks)
- src/main/java/com/paneedah/weaponlib/crafting/workbench/GUIContainerWorkbench.java (3 hunks)
- src/main/java/com/paneedah/weaponlib/particle/ParticleFancyRain.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/render/Bloom.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/render/Dloom.java (1 hunks)
- src/main/java/com/paneedah/weaponlib/render/bgl/PostProcessPipeline.java (13 hunks)
- src/main/java/com/paneedah/weaponlib/render/bgl/weather/ModernWeatherRenderer.java (1 hunks)
- src/main/resources/assets/mwc/lang/en_US.lang (2 hunks)
- src/main/resources/assets/mwc/lang/es_ES.lang (1 hunks)
- src/main/resources/assets/mwc/lang/tr_TR.lang (1 hunks)
- src/main/resources/assets/mwc/lang/zh_CN.lang (1 hunks)
- src/main/resources/assets/mwc/shaders/bloom_h.frag (1 hunks)
- src/main/resources/assets/mwc/shaders/bloom_h.vert (1 hunks)
- src/main/resources/assets/mwc/shaders/bloom_v.frag (1 hunks)
- src/main/resources/assets/mwc/shaders/bloom_v.vert (1 hunks)
- src/main/resources/assets/mwc/shaders/postflat.frag (1 hunks)
Files skipped from review due to trivial changes (5)
- build.gradle
- src/main/java/com/paneedah/weaponlib/WeaponSpawnEntity.java
- src/main/java/com/paneedah/weaponlib/crafting/workbench/GUIContainerWorkbench.java
- src/main/java/com/paneedah/weaponlib/render/bgl/weather/ModernWeatherRenderer.java
- src/main/resources/assets/mwc/lang/tr_TR.lang
Additional comments: 40
src/main/resources/assets/mwc/shaders/bloom_h.vert (1)
- 1-8: The vertex shader code for the horizontal bloom effect is standard and correct.
src/main/resources/assets/mwc/shaders/bloom_v.vert (1)
- 1-8: The vertex shader code for the vertical bloom effect is standard and correct.
src/main/java/com/paneedah/mwc/skins/CustomSkin.java (1)
- 1-32: The changes in the
CustomSkin
constructor andgetCustomSkinResource
method improve case sensitivity handling and error logging.src/main/java/com/paneedah/weaponlib/particle/ParticleFancyRain.java (1)
- 1-41: The
ParticleFancyRain
class and itsFactory
inner class are implemented correctly to define a custom rain particle effect.src/main/java/com/paneedah/weaponlib/command/WeaponDebugCommand.java (1)
- 4-11: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-11]
The change from
scala.actors.threadpool.Arrays
tojava.util.Arrays
is a standard refactor and is correctly implemented.src/main/resources/assets/mwc/shaders/postflat.frag (1)
- 287-293: Verify the impact of commenting out the normal calculation for raindrops on the shader's visual effect.
src/main/java/com/paneedah/weaponlib/compatibility/graph/CompatibilityClassGenerator.java (1)
- 5-15: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-15]
The change from
scala.actors.threadpool.Arrays
tojava.util.Arrays
is a standard refactor and is correctly implemented.src/main/java/com/paneedah/weaponlib/crafting/ammopress/GUIContainerAmmoPress.java (1)
- 160-174: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-174]
The addition of a tooltip for the remaining crafting time and the change to direct references for
TextFormatting
improve the user interface and follow Java conventions.src/main/java/com/paneedah/weaponlib/config/ModernConfigManager.java (1)
- 80-93: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-131]
The adjustments to various configuration parameters related to rendering and gameplay, including the removal of the
knockbackOnHit
configuration, are correctly implemented.src/main/java/com/paneedah/weaponlib/render/Dloom.java (3)
84-123: The method
bloom
contains a loop that iterates in reverse order over bloom layers. It uses OpenGL calls to set up and apply shaders for bloom effects. Ensure that the shaders are correctly managing the OpenGL state, as state changes in OpenGL can have far-reaching effects. Also, verify that the shaders are released after use to prevent resource leaks.126-168: The method
recreateBloomFBOs
recreates the framebuffer objects for bloom effects. It uses a scaling factor for the width and height of the buffers that changes after the first two iterations. Ensure that this scaling logic is correct and that the framebuffer objects are being deleted before being recreated to prevent memory leaks.170-199: The method
renderFboTriangle
is used to render a triangle that covers the entire screen. This is a common technique for applying post-processing effects in screen space. Ensure that the vertex positions and texture coordinates are correct for the intended effect.src/main/java/com/paneedah/weaponlib/StaticModelSourceRenderer.java (1)
- 434-440: The change in the
renderModelSource
method simplifies the texture binding logic by directly using thetexturedModel.getV()
value. This assumes that the texture names are now correctly formatted and do not require the previous string manipulation. Ensure that all texture names are now provided in the correct format and that this change does not break texture binding for any models.src/main/java/com/paneedah/weaponlib/render/Bloom.java (5)
100-154: The method
recreateFramebuffers
deletes and recreates framebuffer objects. It is crucial to ensure that all resources are properly released before being recreated to prevent memory leaks. Additionally, the method logs the recreation of framebuffers; ensure that the logging level is appropriate and that the log message provides enough context for debugging.156-174: The method
checkFramebufer
checks the status of a framebuffer object and throws a runtime exception if the framebuffer is not complete. This is a critical error-checking method that should be called after any framebuffer setup to ensure that the framebuffer is ready for use. Verify that this method is being called at all appropriate places in the code.176-196: The method
renderHDRToBuffer
binds a texture and applies a shader to render a full-screen triangle. This is part of the bloom effect rendering process. Ensure that the shaderbloomTest
is correctly implemented and that the texture binding is appropriate for the effect.230-249: The method
runDownsampler
applies a downsampling shader to the bloom buffers. It is important to verify that the shader is correctly sampling from the previous buffer and that the uniforms are set correctly. Additionally, ensure that the shader is released after use.285-333: The method
use
appears to be the main method that orchestrates the bloom effect by running the downsampler and applying the upsample shader. It is critical to ensure that the blending functions and equations are set correctly for the desired effect and that the framebuffer bindings are managed properly.src/main/java/com/paneedah/weaponlib/ClientEventHandler.java (3)
385-388: The addition of
PostProcessPipeline.setWorldElements();
ensures that world elements are set for post-processing. This seems to be a logical step in the rendering process.446-447: The conditional call to
PostProcessPipeline.blitDepth()
based onPostProcessPipeline.shouldDoFog()
introduces a new rendering condition. Ensure that theshouldDoFog
method accurately reflects when depth blitting should occur to avoid rendering issues.446-450: The new conditional logic for fog processing could have performance implications. It's important to test these changes under different environmental conditions to ensure that performance remains consistent and that the visual effects are as expected.
src/main/java/com/paneedah/weaponlib/ai/EntityConfiguration.java (1)
- 539-539: The change to prefix entity names with
ModReference.ID
during registration is a good practice for namespacing and avoiding conflicts. Ensure that all references to these entities throughout the codebase and any external integrations are updated to use the new names.src/main/java/com/paneedah/weaponlib/render/bgl/PostProcessPipeline.java (8)
8-15: The addition of imports for
ParticleFancyRain
andBloom
, and the modification of the import forParticleRain
suggest new functionality related to particle effects and bloom post-processing. Ensure that these new classes are utilized appropriately in the codebase.52-55: The modification of
ResourceLocation
constants to remove string concatenation is a change in the way resources are referenced. Confirm that this new format is supported and correctly interpreted by the game engine or any related resource management systems.87-87: Initializing
originalWeatherRenderer
tonull
may have implications for null safety. Ensure that there are null checks in place before this field is used to prevent potentialNullPointerExceptions
.96-96: The change in
BASE_FOG_INTENSITY
from0.6f
to0.2f
will affect the visual density of fog in the game. Verify that this change matches the desired visual effect and does not adversely affect gameplay or aesthetics.191-201: The refactoring of
setWorldElements
to handle weather renderer swapping and conditional registration of particle effects should be checked for correctness. Ensure that the conditions and the particle effect registration align with the game's configuration settings.241-241: The addition of extra conditions in
shouldDoFog
to check for enabled shaders and world shaders should be verified to ensure that fog is rendered only when intended.633-633: The removal of certain conditions in
doWorldProcessing
and the enabling of depth testing should be reviewed to ensure they are appropriate for the method's intended functionality and do not introduce any rendering issues.881-882: The addition of a conditional call to
Bloom.doBloom
indoPostProcess
should be verified to ensure that the bloom effect is applied correctly according to the game's configuration settings.src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java (4)
17-61: Initialization of
ClassInfo
objects with class names fromCompatibleClassInfoProvider
suggests that reflection or dynamic class manipulation is being used. Ensure that the class names are correct and that theseClassInfo
objects are utilized consistently in the transformer logic.80-83: Replacing the
collideWithPlayer
method with a print statement appears to be a debugging change. Confirm if this is intended for production or should be reverted before release.151-169: The
debugPrint
method is a debugging utility to write class bytecode to a file. Verify if this method is intended for production use or should be removed or gated behind a debug flag to prevent unintended file I/O operations in a production environment.303-318: The addition and modification of several method visitors indicate changes to ASM bytecode manipulation. Verify that these changes are correct and align with the intended bytecode transformations.
src/main/resources/assets/mwc/lang/zh_CN.lang (1)
- 3-18: The renaming of entity declarations from "entity" to "entity.mwc_" is consistent and follows the new naming convention. Ensure that all references to these entities in the game's codebase and documentation are updated to reflect these changes.
src/main/resources/assets/mwc/lang/en_US.lang (2)
9-10: The entity names "Terrorist" and "Soldier" have been correctly prefixed with "mwc_" to match the new naming convention. Ensure that all references to these entities in the game's codebase and other localization files are updated accordingly.
1138-1141: New properties for enabling on-screen rain and snow effects (
config.rendering.screenshaders.onScreenRainAndSnow
) and fancy rain and snow (config.rendering.enableFancyRainAndSnow
) have been added. These changes are consistent with the PR's objectives to address crashes related to rain and snow effects. Ensure that these new settings are properly handled in the game's rendering code.src/main/resources/assets/mwc/lang/es_ES.lang (1)
- 9-10: The renaming of entities "terrorist" and "soldier" to include the "mwc_" prefix aligns with the PR objectives and AI-generated summaries. Ensure that this naming convention is consistently applied across all language files.
Verification successful
The search results confirm that the new entity names with the "mwc_" prefix for "terrorist" and "soldier" are indeed present in all the language files within the
src/main/resources/assets/mwc/lang/
directory. This verifies that the renaming has been applied consistently across the different language localizations.
zh_CN.lang
: Bothentity.mwc_terrorist.name
andentity.mwc_soldier.name
are present.tr_TR.lang
: Bothentity.mwc_terrorist.name
andentity.mwc_soldier.name
are present.en_US.lang
: Bothentity.mwc_terrorist.name
andentity.mwc_soldier.name
are present.es_ES.lang
: Bothentity.mwc_terrorist.name
andentity.mwc_soldier.name
are present.The consistency of these changes with the PR objectives and AI-generated summaries has been confirmed.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that the new entity names are consistently used across all language files. rg --type txt 'entity\.mwc_terrorist\.name|entity\.mwc_soldier\.name' src/main/resources/assets/mwc/lang/Length of output: 107
Script:
#!/bin/bash # Check if the old entity names without the "mwc_" prefix still exist in any language files. rg --type txt 'entity\.terrorist\.name|entity\.soldier\.name' src/main/resources/assets/mwc/lang/Length of output: 99
Script:
#!/bin/bash # List all the language files to ensure they are present in the expected directory. fd '.*\.lang$' src/main/resources/assets/mwc/lang/Length of output: 236
Script:
#!/bin/bash # Search for any line containing 'entity.' to understand the structure of entity naming within the language files. rg 'entity\.' src/main/resources/assets/mwc/lang/Length of output: 1765
src/main/java/com/paneedah/mwc/weapons/Magazines.java (1)
- 338-338: Please verify that the change from
Bullet556x45
toBullet65
forMagazines.NGSWRMag
correctly reflects the intended ammunition type for this magazine. This change should align with the game's logic for magazine and bullet compatibility.src/main/java/com/paneedah/weaponlib/WeaponRenderer.java (1)
- 3315-3321: Review the use of
DebugCommand.isForceLiveRenderGUI()
within therenderItem
method to ensure it is only enabled for debugging purposes and cannot be accidentally triggered in production.
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/core/WeaponlibClassTransformer.java
Show resolved
Hide resolved
src/main/java/com/paneedah/weaponlib/compatibility/ServerInterceptors.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: FAILED
- Declining Code Health: 6 findings(s) ๐ฉ
- Improving Code Health: 3 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Detailed -- Inspect the code that degrades in code health.
View detailed results in CodeScene
๐ฉ Declining Code Health (highest to lowest):
- Complex Conditional TileEntityAmmoPress.java: update
- String Heavy Function Arguments WeaponlibClassTransformer.java
- Complex Method Bloom.java: checkFramebufer
- Complex Conditional Dloom.java: blitDepth
- Complex Method WeaponlibClassTransformer.java: WeaponlibClassTransformer.CVTransform.visitMethod
- Bumpy Road Ahead Bloom.java: recreateFramebuffers
โ Improving Code Health:
- Complex Conditional WeaponlibClassTransformer.java: WeaponlibClassTransformer.UpdateEntityActionStateMethodVisitor.visitFieldInsn
- Complex Method WeaponSpawnEntity.java: onImpact
- Excess Number of Function Arguments WeaponlibClassTransformer.java: WeaponlibClassTransformer.SendSlotContentsMethodVisitor.visitMethodInsn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (1)
- Changelog.md (4 hunks)
Additional comments: 5
Changelog.md (5)
20-25: The addition of new config options is listed without any issues. However, ensure that these new options are documented in the user guide or help section of the game to assist users in understanding their purpose and usage.
39-40: The addition of new fancy rain splash and remaining time display for crafting in the ammunition press are good enhancements for user experience. Verify that these features have been tested across different game environments to ensure consistency.
78-82: Changes to default configuration values for visual effects such as
filmGrain
,onScreenRainAndSnow
, andenableFancyRainAndSnow
may significantly alter the player's visual experience. It's important to ensure that these changes are communicated to the players, possibly through a pop-up or news section in the game, so they are aware of the new defaults.112-113: Fixing unused variables in shaders and correcting resource locations are critical for preventing crashes and ensuring the game runs smoothly. It's important to verify that these fixes have been tested in both deobfuscated and obfuscated environments as stated in the PR objectives.
116-130: The fixes for custom skin system, resource locations, fog rendering, depth testing, and tooltip formatting are significant improvements. These fixes enhance the game's visual fidelity and user interface. Ensure that these changes have been tested for performance impact, especially the changes related to rendering.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
โ Code Health Quality Gates: FAILED
- Declining Code Health: 6 findings(s) ๐ฉ
- Improving Code Health: 3 findings(s) โ
- Affected Hotspots: 0 files(s) ๐ฅ
Recommended Review Level: Detailed -- Inspect the code that degrades in code health.
View detailed results in CodeScene
๐ฉ Declining Code Health (highest to lowest):
- Complex Conditional TileEntityAmmoPress.java: update
- String Heavy Function Arguments WeaponlibClassTransformer.java
- Complex Method Bloom.java: checkFramebufer
- Complex Conditional Dloom.java: blitDepth
- Complex Method WeaponlibClassTransformer.java: WeaponlibClassTransformer.CVTransform.visitMethod
- Bumpy Road Ahead Bloom.java: recreateFramebuffers
โ Improving Code Health:
- Complex Conditional WeaponlibClassTransformer.java: WeaponlibClassTransformer.UpdateEntityActionStateMethodVisitor.visitFieldInsn
- Complex Method WeaponSpawnEntity.java: onImpact
- Excess Number of Function Arguments WeaponlibClassTransformer.java: WeaponlibClassTransformer.SendSlotContentsMethodVisitor.visitMethodInsn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (1)
- Changelog.md (4 hunks)
Additional comments: 4
Changelog.md (4)
20-25: The addition of new config options is well-documented, providing clear information on the new features available to users.
39-40: The new features added, such as the fancy rain splash effect and the display of remaining craft time, are clearly stated and enhance the user experience by providing more visual effects and useful information.
78-82: Changing default configuration values can significantly affect user experience. Ensure that these changes are communicated to users, possibly through an in-game notification or update log, to avoid confusion.
112-128: The fixes documented in this hunk address critical issues such as crashes, incorrect bullet types, and rendering problems. These changes are crucial for game stability and should be highlighted in the changelog for users to understand the improvements made to the game.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good to me! Approving this PR.
๐ Description
Ho-ho-hotfix!
Dev 15 will be mainly hot fixes for Christmas, as a little gift.
๐ฏ Goals
โ Non Goals
๐ฆ Testing
Testing in a super flat world, both in deobfuscated environment and obfuscated environment.
โฎ๏ธ Backwards Compatibility
This is 100% backward compatible with 0.1 Dev 14
๐ Related Issues & Documents
Fixes #290
Fixes #208
Fixes #147
Fixes #150
Fixes #4
๐ผ๏ธ Screenshots/Recordings
๐ Added to documentation?
๐ What gif best describes this PR or how it makes you feel?
Summary by CodeRabbit
New Features
Bug Fixes
knockbackOnHit
is false.Refactor
Documentation
Style
Chores
Revert