Conversation
Introduce smooth FOV interpolation for the Etherwarp overlay and apply it via a GameRenderer mixin. Adds new config options (smooth-zoom toggle and zoom-smoothness integer) and translations for en_us and zh_cn. Implements state and getFovMultiplier(partialTicks) to interpolate current FOV toward a target based on hit distance, resets target to normal when no hit or not sneaking, and injects into GameRenderer.getFov to multiply the returned FOV (with a safety try/catch).
lineargraph
left a comment
There was a problem hiding this comment.
overall a really nice PR, with some minor nit picks. also not entirely sure if this RP has AI generated code in it, would be nice to get clarification either way (this is a genuine question, not an indictment or expression of preference).
| @Inject( | ||
| method = "getFov(Lnet/minecraft/client/Camera;FZ)F", | ||
| at = @At("RETURN"), | ||
| cancellable = true | ||
| ) |
There was a problem hiding this comment.
Hey, id prefer if we use @ModifyReturnValue instead of .setReturnValue, to allow better compatible with other modules also injecting in this method.
| } catch (Throwable t) { | ||
| } |
There was a problem hiding this comment.
while not crashing the client is good, exceptions/throwables drain performance (due to stack trace collection), so if at all possible, we should handle the exceptions in a visible way so we are made aware of the problem. in the future i would like to create functionality in ErrorUtil for a logOnce (possible with remote logging), that allows handling this nicer. for now i think it should be fine to remove the crash handler (skyblock players deserve little respect).
| } | ||
| } | ||
|
|
||
| if (success == EtherwarpResult.SUCCESS) { |
There was a problem hiding this comment.
i feel like we should probably zoom in on occupied results as well? those might require fine tuning for which the smooth zoom might help
| "firmament.config.etherwarp-overlay.smooth-zoom": "平滑缩放", | ||
| "firmament.config.etherwarp-overlay.smooth-zoom.description": "当 Etherwarp 指向一个方块时启用 FOV 的平滑插值", | ||
| "firmament.config.etherwarp-overlay.zoom-smoothness": "缩放平滑度", | ||
| "firmament.config.etherwarp-overlay.zoom-smoothness.description": "FOV 插值到目标的速度(更高 = 更迅速,更低 = 更缓慢)", |
There was a problem hiding this comment.
thanks for those translations. were those done by hand or machine assisted? generally adding other translations is not required, and i would prefer them to be done by someone with some amount of familiarity with chinese, and specifically gaming in chinese, since machine translations are always a bit weird when it comes to in-game languages. either way 谢谢。
Kathund
left a comment
There was a problem hiding this comment.
Please sort translations so that the checks pass 🥺
You can sort the translations inside intellij with CTRL+SHIFT+A then run Sort Properties (or what ever it's called. You should just be able to search sort and it will come up)
No description provided.