From 8a180c960bd16498ff36bf6bac0a4b67e63bd023 Mon Sep 17 00:00:00 2001
From: H31M5 <2211923909@qq.com>
Date: Wed, 1 Jul 2026 15:36:15 +0800
Subject: [PATCH 1/7] Update issue templates (#218)
- Merged disableWhenSneaking and disableWhenCrawling setting, added disableWhenFlying
---
.github/ISSUE_TEMPLATE/bug_report_cn.yml | 30 +++++++++----
.github/ISSUE_TEMPLATE/bug_report_en.yml | 28 +++++++++---
.github/ISSUE_TEMPLATE/feature_request_cn.yml | 43 +++++++++++++++++++
.github/ISSUE_TEMPLATE/feature_request_en.yml | 43 +++++++++++++++++++
.../com/xtracr/realcamera/KeyMappings.java | 4 +-
.../realcamera/compat/DisableHelper.java | 6 +--
.../realcamera/config/ConfigScreen.java | 20 ++++-----
.../xtracr/realcamera/config/ModConfig.java | 10 ++---
.../realcamera/config/codec/ConfigCodec.java | 2 +-
.../assets/realcamera/lang/en_us.json | 22 +++++-----
.../assets/realcamera/lang/zh_cn.json | 22 +++++-----
11 files changed, 172 insertions(+), 58 deletions(-)
create mode 100644 .github/ISSUE_TEMPLATE/feature_request_cn.yml
create mode 100644 .github/ISSUE_TEMPLATE/feature_request_en.yml
diff --git a/.github/ISSUE_TEMPLATE/bug_report_cn.yml b/.github/ISSUE_TEMPLATE/bug_report_cn.yml
index 6e50b14e..d38034fe 100644
--- a/.github/ISSUE_TEMPLATE/bug_report_cn.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report_cn.yml
@@ -7,41 +7,55 @@ body:
- type: markdown
attributes:
value: |
- 请确保您使用的是最新版的RC,您反馈的bug很可能已经在更新版本中修复
+ 请确保您使用的是最新版的RealCamera,您反馈的bug很可能已经在更新版本中修复
(查看尾缀是否与最新工件相同)
在反馈bug前,请先尝试搜索是否已有相似的问题,请不要重复打开相同的issue
所有有关YSM的问题,请您优先寻求他人的帮助,或者观看配置模型教程
- 而不是直接在issue中提问。
+ 而不是直接在issue中提问
- type: checkboxes
id: preliminary
attributes:
label: 我已确认 ...
options:
- - label: 我正在使用最新版的RC
+ - label: 我正在使用最新版的RealCamera
required: true
- - label: 无法在关闭主要功能时复现
+ - label: issues里没有相关的问题
required: true
- type: input
- id: minecraft-version-loader
+ id: minecraft-version
attributes:
- label: Minecraft版本和加载器
+ label: Minecraft版本
description: |
- 请填写游戏版本与所使用的加载器.
+ 你所使用的Minecraft的版本.
你可以在游戏主界面作下角或者游戏启动时的日志开头等地方找到.
validations:
required: true
+ - type: checkboxes
+ id: bug-type
+ attributes:
+ label: 问题类型
+ options:
+ - label: 开启时主功能时出现bug
+ required: false
+ - label: 与其他模组的兼容问题
+ required: false
+ - label: 在fabric端出现
+ required: false
+ - label: 在(neo)forge端出现
+ required: false
+
- type: textarea
id: incompatible-mods
attributes:
label: 不兼容的mod
description: >-
和bug相关的模组
-
请在反馈问题前尝试尽可能移除不相干的模组的情况下复现bug
+
请在反馈问题前移除不相干的模组的情况下复现bug
placeholder: 'Mods list here'
render: 'raw'
validations:
diff --git a/.github/ISSUE_TEMPLATE/bug_report_en.yml b/.github/ISSUE_TEMPLATE/bug_report_en.yml
index 2be682d9..f24fce85 100644
--- a/.github/ISSUE_TEMPLATE/bug_report_en.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report_en.yml
@@ -12,7 +12,7 @@ body:
Before reporting a bug, please search for similar issues first and avoid opening duplicate issues
For all YSM-related questions, please seek help from others or watch configuration model tutorials first
- instead of asking directly in the issue.
+ instead of asking directly in the issue
- type: checkboxes
id: preliminary
@@ -21,27 +21,41 @@ body:
options:
- label: I am using the latest version of RealCamera
required: true
- - label: Unable to reproduce when main feature is disabled
+ - label: No related issues found in the issue tracker.
required: true
+ - label: Appears on Fabric
+ required: false
+ - label: Appears on (Neo)Forge
+ required: false
- type: input
- id: minecraft-version-loader
+ id: minecraft-version
attributes:
- label: Minecraft Version and Loader
+ label: Minecraft Version
description: |
- Please specify the game version and your mod loader.
+ The Minecraft version you are using.
You can find them at the corner of main menu or in the log while startup.
validations:
required: true
+ - type: checkboxes
+ id: bug-type
+ attributes:
+ label: 问题类型
+ options:
+ - label: Bug occurs when enabling main feature
+ required: false
+ - label: Incompatibility with other mods
+ required: false
+
- type: textarea
id: incompatible-mods
attributes:
label: Incompatible Mods
description: >-
- The mods related to the bug.
-
Try to remove unrelated plugins and mods before reporting
+ The mods related to the bug
+
Reproduce the bug with unrelated mods removed before reporting
placeholder: 'Mods list here'
render: 'raw'
validations:
diff --git a/.github/ISSUE_TEMPLATE/feature_request_cn.yml b/.github/ISSUE_TEMPLATE/feature_request_cn.yml
new file mode 100644
index 00000000..f960b8d0
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request_cn.yml
@@ -0,0 +1,43 @@
+name: 新功能建议
+description: 为我们提供新的想法
+title: "[new feature]:"
+labels: [ "new feature" ]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ 感谢您花时间提出新的功能想法!
+ 请确保最新版本内没有这个功能!
+
+ - type: textarea
+ id: feature-description
+ attributes:
+ label: 这个功能是什么?
+ description: 请清晰地描述您希望添加的功能
+ placeholder: 我希望...
+ validations:
+ required: true
+
+ - type: textarea
+ id: problem-and-solution
+ attributes:
+ label: 这个功能可以解决什么问题?
+ description: 请详细说明其作用
+ placeholder: 这个功能可以帮助解决...
+ validations:
+ required: true
+
+ - type: textarea
+ id: ideal-solution
+ attributes:
+ label: 这个功能理想中的解决方案是什么样的?
+ description: 例如新的按钮应该在何处,哪里需要新的配置选项
+ placeholder: 我希望...
+ validations:
+ required: true
+
+ - type: textarea
+ id: additional-context
+ attributes:
+ label: 其他信息
+ description: 任何关于功能的上下文或截图
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/feature_request_en.yml b/.github/ISSUE_TEMPLATE/feature_request_en.yml
new file mode 100644
index 00000000..0ae65664
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request_en.yml
@@ -0,0 +1,43 @@
+name: New Feature Request
+description: Suggest an idea for this project
+title: "[new feature]: "
+labels: [ "new feature" ]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to suggest a new feature!
+ Check the latest build to confirm the feature is missing.
+
+ - type: textarea
+ id: feature-description
+ attributes:
+ label: What is this feature about?
+ description: A clear and concise description of what the feature is.
+ placeholder: I would like to...
+ validations:
+ required: true
+
+ - type: textarea
+ id: problem-and-solution
+ attributes:
+ label: What problem does this feature solve?
+ description: Please elaborate on its purpose
+ placeholder: This feature helps resolve...
+ validations:
+ required: true
+
+ - type: textarea
+ id: ideal-solution
+ attributes:
+ label: What does your ideal solution look like?
+ description: For example, where new buttons or config options should be placed
+ placeholder: I would like...
+ validations:
+ required: true
+
+ - type: textarea
+ id: additional-context
+ attributes:
+ label: Additional context
+ description: Any relevant information or screenshots regarding the feature
\ No newline at end of file
diff --git a/common/src/main/java/com/xtracr/realcamera/KeyMappings.java b/common/src/main/java/com/xtracr/realcamera/KeyMappings.java
index 896b7ef8..9c6fd98a 100644
--- a/common/src/main/java/com/xtracr/realcamera/KeyMappings.java
+++ b/common/src/main/java/com/xtracr/realcamera/KeyMappings.java
@@ -26,12 +26,12 @@ public final class KeyMappings {
});
createKeyMapping("toggleAdjustMode", _ -> ConfigFile.config().cycleAdjustMode());
createKeyMapping("toggleCameraMode", _ -> ConfigFile.config().isClassic = !ConfigFile.config().isClassic);
- createKeyMapping("adjustFRONT", _ -> ConfigFile.config().adjustOffsetX(1));
- createKeyMapping("adjustBACK", _ -> ConfigFile.config().adjustOffsetX(-1));
createKeyMapping("adjustUP", _ -> ConfigFile.config().adjustOffsetY(1));
createKeyMapping("adjustDOWN", _ -> ConfigFile.config().adjustOffsetY(-1));
createKeyMapping("adjustLEFT", _ -> ConfigFile.config().adjustOffsetZ(1));
createKeyMapping("adjustRIGHT", _ -> ConfigFile.config().adjustOffsetZ(-1));
+ createKeyMapping("adjustFRONT", _ -> ConfigFile.config().adjustOffsetX(1));
+ createKeyMapping("adjustBACK", _ -> ConfigFile.config().adjustOffsetX(-1));
createKeyMapping("activeConfigIndexNEXT", _ -> ConfigFile.config().binding.activeConfigIndex += 1);
createKeyMapping("activeConfigIndexPREV", _ -> ConfigFile.config().binding.activeConfigIndex -= 1);
createKeyMapping("activeConfigIndexRESET", _ -> ConfigFile.config().binding.activeConfigIndex = 0);
diff --git a/common/src/main/java/com/xtracr/realcamera/compat/DisableHelper.java b/common/src/main/java/com/xtracr/realcamera/compat/DisableHelper.java
index 20f6f84f..2f59cdfa 100644
--- a/common/src/main/java/com/xtracr/realcamera/compat/DisableHelper.java
+++ b/common/src/main/java/com/xtracr/realcamera/compat/DisableHelper.java
@@ -28,9 +28,9 @@ public final class DisableHelper {
RENDER_HANDS = new Entry("renderHands", _ -> RealCameraCore.isRendering());
MAIN_FEATURE.registerOrInBinding(player -> ConfigFile.config().binding.disableWhenSneaking && player.isCrouching());
MAIN_FEATURE.registerOrInClassic(player -> ConfigFile.config().classic.disableWhenSneaking && player.isCrouching());
- MAIN_FEATURE.registerOrInBinding(player -> ConfigFile.config().binding.disableWhenSwimming && checkCondition(player, player.isSwimming(), ConfigFile.config().binding.outTick));
- MAIN_FEATURE.registerOrInClassic(player -> ConfigFile.config().classic.disableWhenSwimming && checkCondition(player, player.isSwimming(), ConfigFile.config().classic.outTick));
- MAIN_FEATURE.registerOrInBinding(player -> ConfigFile.config().binding.disableWhenCrawling && checkCondition(player, player.isVisuallyCrawling(), ConfigFile.config().binding.outTick));
+ MAIN_FEATURE.registerOrInBinding(player -> ConfigFile.config().binding.disableWhenSwimming && checkCondition(player, player.isVisuallySwimming(), ConfigFile.config().binding.exitTick));
+ MAIN_FEATURE.registerOrInClassic(player -> ConfigFile.config().classic.disableWhenSwimming && checkCondition(player, player.isVisuallySwimming(), ConfigFile.config().classic.exitTick));
+ MAIN_FEATURE.registerOrInBinding(player -> ConfigFile.config().binding.disableWhenFlying && player.isFallFlying());
MAIN_FEATURE.registerOrInBinding(player -> {
Item mainHand = player.getMainHandItem().getItem();
Item offHand = player.getOffhandItem().getItem();
diff --git a/common/src/main/java/com/xtracr/realcamera/config/ConfigScreen.java b/common/src/main/java/com/xtracr/realcamera/config/ConfigScreen.java
index 77c91e68..a0ed7953 100644
--- a/common/src/main/java/com/xtracr/realcamera/config/ConfigScreen.java
+++ b/common/src/main/java/com/xtracr/realcamera/config/ConfigScreen.java
@@ -60,12 +60,12 @@ public static Screen create(Screen parent) {
.setDefaultValue(false)
.setSaveConsumer(b -> config.classic.disableWhenSwimming = b)
.build());
- classic.addEntry(entryBuilder.startIntField(LocUtil.CONFIG_OPTION("outTick"), config.classic.outTick)
+ classic.addEntry(entryBuilder.startIntField(LocUtil.CONFIG_OPTION("exitTick"), config.classic.exitTick)
.setDefaultValue(13)
.setMin(0)
.setMax(40)
- .setTooltip(LocUtil.CONFIG_TOOLTIP("outTick"))
- .setSaveConsumer(i -> config.classic.outTick = i)
+ .setTooltip(LocUtil.CONFIG_TOOLTIP("exitTick"))
+ .setSaveConsumer(i -> config.classic.exitTick = i)
.build());
classic.addEntry(entryBuilder.startDoubleField(LocUtil.CONFIG_OPTION("scale"), config.classic.scale)
.setDefaultValue(8.0)
@@ -196,20 +196,20 @@ public static Screen create(Screen parent) {
.setDefaultValue(false)
.setSaveConsumer(b -> config.binding.disableWhenSneaking = b)
.build());
- disableConfig.add(entryBuilder.startBooleanToggle(LocUtil.CONFIG_OPTION("disableWhenCrawling"), config.binding.disableWhenCrawling)
- .setDefaultValue(false)
- .setSaveConsumer(b -> config.binding.disableWhenCrawling = b)
- .build());
disableConfig.add(entryBuilder.startBooleanToggle(LocUtil.CONFIG_OPTION("disableWhenSwimming"), config.binding.disableWhenSwimming)
.setDefaultValue(false)
.setSaveConsumer(b -> config.binding.disableWhenSwimming = b)
.build());
- disableConfig.add(entryBuilder.startIntField(LocUtil.CONFIG_OPTION("outTick"), config.binding.outTick)
+ disableConfig.add(entryBuilder.startBooleanToggle(LocUtil.CONFIG_OPTION("disableWhenFlying"), config.binding.disableWhenFlying)
+ .setDefaultValue(false)
+ .setSaveConsumer(b -> config.binding.disableWhenFlying = b)
+ .build());
+ disableConfig.add(entryBuilder.startIntField(LocUtil.CONFIG_OPTION("exitTick"), config.binding.exitTick)
.setDefaultValue(13)
.setMin(0)
.setMax(40)
- .setTooltip(LocUtil.CONFIG_TOOLTIP("outTick"))
- .setSaveConsumer(i -> config.binding.outTick = i)
+ .setTooltip(LocUtil.CONFIG_TOOLTIP("exitTick"))
+ .setSaveConsumer(i -> config.binding.exitTick = i)
.build());
disableConfig.add(entryBuilder.startStrList(LocUtil.CONFIG_OPTION("disableMainFeatureItems"), config.binding.disableMainFeatureItems)
.setDefaultValue(List.of())
diff --git a/common/src/main/java/com/xtracr/realcamera/config/ModConfig.java b/common/src/main/java/com/xtracr/realcamera/config/ModConfig.java
index 4fea0a8f..87e9abdd 100644
--- a/common/src/main/java/com/xtracr/realcamera/config/ModConfig.java
+++ b/common/src/main/java/com/xtracr/realcamera/config/ModConfig.java
@@ -143,7 +143,7 @@ public static class Classic {
public AdjustMode adjustMode = AdjustMode.CAMERA;
public boolean disableWhenSneaking = false;
public boolean disableWhenSwimming = false;
- public int outTick = 13;
+ public int exitTick = 13;
public double scale = 8.0;
public double cameraX = -0.5;
public double cameraY = 0.04;
@@ -157,7 +157,7 @@ public static class Classic {
private void clamp() {
if (adjustMode == null) adjustMode = AdjustMode.CAMERA;
- outTick = Mth.clamp(outTick, 0, 40);
+ exitTick = Mth.clamp(exitTick, 0, 40);
scale = Mth.clamp(scale, 0.0, 64.0);
cameraX = Mth.clamp(cameraX, MIN_OFFSET_D, MAX_OFFSET_D);
cameraY = Mth.clamp(cameraY, MIN_OFFSET_D, MAX_OFFSET_D);
@@ -188,10 +188,10 @@ public static class Binding {
public boolean adjustOffset = true;
public boolean hideFailureMessage = false;
public boolean renderStuckObjects = true;
- public boolean disableWhenCrawling = false;
public boolean disableWhenSneaking = false;
public boolean disableWhenSwimming = false;
- public int outTick = 13;
+ public boolean disableWhenFlying = false;
+ public int exitTick = 13;
public int bindResultRetentionFrames = 2;
public int activeConfigIndex = 0;
public double displacementSmoothFactor = 0.4;
@@ -207,7 +207,7 @@ private void clamp() {
} catch (Exception e) {
screenModifierKey = InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_LALT).getName();
}
- outTick = Mth.clamp(outTick, 0, 40);
+ exitTick = Mth.clamp(exitTick, 0, 40);
bindResultRetentionFrames = Math.max(bindResultRetentionFrames, 0);
activeConfigIndex = Math.max(activeConfigIndex, 0);
displacementSmoothFactor = Mth.clamp(displacementSmoothFactor, 0.0, 1.0);
diff --git a/common/src/main/java/com/xtracr/realcamera/config/codec/ConfigCodec.java b/common/src/main/java/com/xtracr/realcamera/config/codec/ConfigCodec.java
index 035c9488..bfc0d1fd 100644
--- a/common/src/main/java/com/xtracr/realcamera/config/codec/ConfigCodec.java
+++ b/common/src/main/java/com/xtracr/realcamera/config/codec/ConfigCodec.java
@@ -32,7 +32,7 @@ public static BindTarget readWithVersion(ByteBuf byteBuf) throws DecoderExceptio
public static void writeWithVersion(ByteBuf byteBuf, BindTarget bindTarget) throws EncoderException {
byteBuf.writeShort(CURRENT_VERSION);
- CODEC_703.encode(byteBuf, bindTarget);
+ CODECS.get(CURRENT_VERSION).encode(byteBuf, bindTarget);
}
public static DataResult fromCompressedBase64(String base64) {
diff --git a/common/src/main/resources/assets/realcamera/lang/en_us.json b/common/src/main/resources/assets/realcamera/lang/en_us.json
index 6742f95a..dcfac604 100644
--- a/common/src/main/resources/assets/realcamera/lang/en_us.json
+++ b/common/src/main/resources/assets/realcamera/lang/en_us.json
@@ -14,17 +14,17 @@
"config.option.xtracr_realcamera.classicAdjustMode": "Adjust Mode",
"config.option.xtracr_realcamera.disableConfig": "Disable Config",
"config.option.xtracr_realcamera.disableMainFeatureItems": "Disable main feature when holding",
- "config.option.xtracr_realcamera.disableRenderItems": "Disable rendering when holding",
- "config.option.xtracr_realcamera.disableWhenCrawling": "Disable main feature when crawling",
+ "config.option.xtracr_realcamera.disableRenderItems": "Disable body rendering when holding",
"config.option.xtracr_realcamera.disableWhenSneaking": "Disable main feature when sneaking",
- "config.option.xtracr_realcamera.disableWhenSwimming": "Disable main feature when swimming",
+ "config.option.xtracr_realcamera.disableWhenSwimming": "Disable main feature when swimming(crawling)",
+ "config.option.xtracr_realcamera.disableWhenFlying": "Disable main feature when flying",
"config.option.xtracr_realcamera.displacementSmoothFactor": "Displacement Smooth Factor",
"config.option.xtracr_realcamera.dynamicCrosshair": "Dynamic Crosshair",
"config.option.xtracr_realcamera.enabled": "Mod Enabled",
"config.option.xtracr_realcamera.hideBindingFailureMessage": "Hide Binding Failure Message",
"config.option.xtracr_realcamera.isClassic": "Classic Mode",
"config.option.xtracr_realcamera.legacyBindingMode": "Legacy Binding Mode",
- "config.option.xtracr_realcamera.outTick": "Restriction exit delay (in ticks)",
+ "config.option.xtracr_realcamera.exitTick": "Restriction exit delay (in ticks)",
"config.option.xtracr_realcamera.pitch": "Pitch",
"config.option.xtracr_realcamera.renderModel": "Render Player Model",
"config.option.xtracr_realcamera.renderStuckObjects": "Render Stuck Objects",
@@ -50,7 +50,7 @@
"config.tooltip.xtracr_realcamera.dynamicCrosshair": "When enabled, the crosshair will follow the player's view, ensuring consistent hit result\nRecommended to enable when Jade, WTHIT or similar mods are installed",
"config.tooltip.xtracr_realcamera.isClassic": "Classic mode only makes simple changes to the position and rotation of camera",
"config.tooltip.xtracr_realcamera.legacyBindingMode": "Using the binding mode of legacy version (v0.5), only vanilla model and actions based on vanilla model are supported\nIts properties can be set in 'LEGACY_MODE' of the %s screen when enabled",
- "config.tooltip.xtracr_realcamera.outTick": "The time before re-enabling main feature after exiting restricted states (e.g., swimming, crawling) (1 tick = 0.05s)",
+ "config.tooltip.xtracr_realcamera.exitTick": "The time before re-enabling main feature after exiting restricted states (e.g., swimming, crawling) (1 tick = 0.05s)",
"config.tooltip.xtracr_realcamera.renderModel": "Render player model in first-person perspective",
"config.tooltip.xtracr_realcamera.renderStuckObjects": "Arrows, bee stings and other objects that can be stuck in the player's body",
"config.tooltip.xtracr_realcamera.rerenderModel": "Render the model again at the original rendering time to avoid some visual problems caused by rendering early",
@@ -61,12 +61,12 @@
"key.xtracr_realcamera.activeConfigIndexNEXT": "Switch to next configuration",
"key.xtracr_realcamera.activeConfigIndexPREV": "Switch to previous configuration",
"key.xtracr_realcamera.activeConfigIndexRESET": "Reset configuration index",
- "key.xtracr_realcamera.adjustBACK": "Adjust BACK",
- "key.xtracr_realcamera.adjustDOWN": "Adjust DOWN",
- "key.xtracr_realcamera.adjustFRONT": "Adjust FRONT",
- "key.xtracr_realcamera.adjustLEFT": "Adjust LEFT",
- "key.xtracr_realcamera.adjustRIGHT": "Adjust RIGHT",
- "key.xtracr_realcamera.adjustUP": "Adjust UP",
+ "key.xtracr_realcamera.adjustUP": "Adjust UP (Rotate Up)",
+ "key.xtracr_realcamera.adjustDOWN": "Adjust DOWN (Rotate Down)",
+ "key.xtracr_realcamera.adjustLEFT": "Adjust LEFT (Rotate Left)",
+ "key.xtracr_realcamera.adjustRIGHT": "Adjust RIGHT (Rotate Right)",
+ "key.xtracr_realcamera.adjustFRONT": "Adjust FRONT (Roll Right)",
+ "key.xtracr_realcamera.adjustBACK": "Adjust BACK (Roll Left)",
"key.xtracr_realcamera.modelViewScreen": "Open Model View Screen",
"key.xtracr_realcamera.toggleAdjustMode": "Toggle Adjust Mode",
"key.xtracr_realcamera.toggleCameraMode": "Toggle Camera Mode",
diff --git a/common/src/main/resources/assets/realcamera/lang/zh_cn.json b/common/src/main/resources/assets/realcamera/lang/zh_cn.json
index 61b86c8a..0f4ebc19 100644
--- a/common/src/main/resources/assets/realcamera/lang/zh_cn.json
+++ b/common/src/main/resources/assets/realcamera/lang/zh_cn.json
@@ -14,17 +14,17 @@
"config.option.xtracr_realcamera.classicAdjustMode": "调整模式",
"config.option.xtracr_realcamera.disableConfig": "禁用配置",
"config.option.xtracr_realcamera.disableMainFeatureItems": "在手持...时禁用主要功能",
- "config.option.xtracr_realcamera.disableRenderItems": "在手持...时禁用渲染",
- "config.option.xtracr_realcamera.disableWhenCrawling": "爬行时禁用主要功能",
+ "config.option.xtracr_realcamera.disableRenderItems": "在手持...时禁用身体渲染",
"config.option.xtracr_realcamera.disableWhenSneaking": "潜行时禁用主要功能",
- "config.option.xtracr_realcamera.disableWhenSwimming": "游泳时禁用主要功能",
+ "config.option.xtracr_realcamera.disableWhenSwimming": "游泳(爬行)时禁用主要功能",
+ "config.option.xtracr_realcamera.disableWhenFlying": "飞行时禁用主要功能",
"config.option.xtracr_realcamera.displacementSmoothFactor": "位移平滑系数",
"config.option.xtracr_realcamera.dynamicCrosshair": "动态十字准心",
"config.option.xtracr_realcamera.enabled": "开启功能",
"config.option.xtracr_realcamera.hideBindingFailureMessage": "隐藏绑定失败消息",
"config.option.xtracr_realcamera.isClassic": "经典模式",
"config.option.xtracr_realcamera.legacyBindingMode": "旧绑定模式",
- "config.option.xtracr_realcamera.outTick": "禁用状态退出延迟(单位:tick)",
+ "config.option.xtracr_realcamera.exitTick": "禁用状态退出延迟(单位:tick)",
"config.option.xtracr_realcamera.pitch": "俯仰角",
"config.option.xtracr_realcamera.renderModel": "渲染玩家模型",
"config.option.xtracr_realcamera.renderStuckObjects": "渲染卡在身上的物体",
@@ -50,7 +50,7 @@
"config.tooltip.xtracr_realcamera.dynamicCrosshair": "在开启状态下,十字准心会随着玩家的视线移动,确保命中结果不受影响\n在安装了Jade、WTHIT或类似模组时建议启用",
"config.tooltip.xtracr_realcamera.isClassic": "经典模式只对摄像头的位置和旋转做简单的修改",
"config.tooltip.xtracr_realcamera.legacyBindingMode": "使用旧版本(v0.5)的绑定模式,仅支持原版模型和基于原版模型的动作\n开启后可在%s界面的'LEGACY_MODE'中设置属性",
- "config.tooltip.xtracr_realcamera.outTick": "玩家停止某些状态(如游泳、爬行)后重启主要功能的时间(1 tick = 0.05s)",
+ "config.tooltip.xtracr_realcamera.exitTick": "玩家停止某些状态(如游泳、爬行)后重启主要功能的时间(1 tick = 0.05s)",
"config.tooltip.xtracr_realcamera.renderModel": "在第一人称视角下渲染玩家模型",
"config.tooltip.xtracr_realcamera.renderStuckObjects": "箭,蜂刺和其它会卡在玩家身体里的物体",
"config.tooltip.xtracr_realcamera.rerenderModel": "在原本的渲染时机重新渲染模型,以避免一些因提前渲染导致的视觉问题",
@@ -61,12 +61,12 @@
"key.xtracr_realcamera.activeConfigIndexNEXT": "切换到下一个配置",
"key.xtracr_realcamera.activeConfigIndexPREV": "切换到上一个配置",
"key.xtracr_realcamera.activeConfigIndexRESET": "重置配置索引",
- "key.xtracr_realcamera.adjustBACK": "向后调整",
- "key.xtracr_realcamera.adjustDOWN": "向下调整",
- "key.xtracr_realcamera.adjustFRONT": "向前调整",
- "key.xtracr_realcamera.adjustLEFT": "向左调整",
- "key.xtracr_realcamera.adjustRIGHT": "向右调整",
- "key.xtracr_realcamera.adjustUP": "向上调整",
+ "key.xtracr_realcamera.adjustUP": "向上调整(向上旋转)",
+ "key.xtracr_realcamera.adjustDOWN": "向下调整(向下旋转)",
+ "key.xtracr_realcamera.adjustLEFT": "向左调整(向左旋转)",
+ "key.xtracr_realcamera.adjustRIGHT": "向右调整(向右旋转)",
+ "key.xtracr_realcamera.adjustFRONT": "向前调整(向右滚转)",
+ "key.xtracr_realcamera.adjustBACK": "向后调整(向左滚转)",
"key.xtracr_realcamera.modelViewScreen": "打开模型视图界面",
"key.xtracr_realcamera.toggleAdjustMode": "切换调整模式",
"key.xtracr_realcamera.toggleCameraMode": "切换摄像头模式",
From 120cf424e2da4f7ae3a7f97332b8b62dfbae6dfa Mon Sep 17 00:00:00 2001
From: H31M5 <2211923909@qq.com>
Date: Thu, 2 Jul 2026 23:48:44 +0800
Subject: [PATCH 2/7] Added compatibility with Entity_Model_Features (#219)
* Added compatibility with Entity_Model_Features
* Fix: Update issue template
---
.github/ISSUE_TEMPLATE/bug_report_cn.yml | 6 +++---
.github/ISSUE_TEMPLATE/bug_report_en.yml | 2 +-
.../realcamera/compat/CompatibilityHelper.java | 14 ++++++++++++++
.../com/xtracr/realcamera/gui/ModelViewScreen.java | 2 ++
4 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/.github/ISSUE_TEMPLATE/bug_report_cn.yml b/.github/ISSUE_TEMPLATE/bug_report_cn.yml
index d38034fe..0d86254e 100644
--- a/.github/ISSUE_TEMPLATE/bug_report_cn.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report_cn.yml
@@ -31,7 +31,7 @@ body:
description: |
你所使用的Minecraft的版本.
- 你可以在游戏主界面作下角或者游戏启动时的日志开头等地方找到.
+ 你可以在游戏主界面左下角或者游戏启动时的日志开头等地方找到.
validations:
required: true
@@ -40,7 +40,7 @@ body:
attributes:
label: 问题类型
options:
- - label: 开启时主功能时出现bug
+ - label: 开启主功能时出现bug
required: false
- label: 与其他模组的兼容问题
required: false
@@ -89,5 +89,5 @@ body:
description: >-
你可以在/logs/lastest.log 和 /crash-report 中找到错误报告,或者使用启动器的导出功能
你可以日志上传到类似 https://paste.ubuntu.com/ 或者 https://mclo.gs/ 的网站并在此贴出链接
-
**请不要在此此处直接粘贴大段的日志文本!!**
+
**请不要在此处直接粘贴大段的日志文本!!**
placeholder: '把日志文件往这丢或者使用外部链接'
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report_en.yml b/.github/ISSUE_TEMPLATE/bug_report_en.yml
index f24fce85..72032021 100644
--- a/.github/ISSUE_TEMPLATE/bug_report_en.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report_en.yml
@@ -42,7 +42,7 @@ body:
- type: checkboxes
id: bug-type
attributes:
- label: 问题类型
+ label: Question Type
options:
- label: Bug occurs when enabling main feature
required: false
diff --git a/common/src/main/java/com/xtracr/realcamera/compat/CompatibilityHelper.java b/common/src/main/java/com/xtracr/realcamera/compat/CompatibilityHelper.java
index 17776f4f..117d43dd 100644
--- a/common/src/main/java/com/xtracr/realcamera/compat/CompatibilityHelper.java
+++ b/common/src/main/java/com/xtracr/realcamera/compat/CompatibilityHelper.java
@@ -6,8 +6,10 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.util.function.Function;
public final class CompatibilityHelper {
+ public static boolean isRenderInScreen;
private static PlatformHelper platformHelper;
private static Method NEA_playerTransformer_setDeltaTick;
private static Field NEA_NEAnimationsLoader_INSTANCE;
@@ -50,6 +52,18 @@ public static void initialize(PlatformHelper platformHelper) {
} catch (Exception e) {
RealCamera.LOGGER.warn("Compatibility with SuperbWarfare is outdated: [{}] {}", e.getClass().getName(), e.getMessage());
}
+ if (isModLoaded("entity_model_features")) try {
+ Class> EMF_EMFAnimationApi = Class.forName("traben.entity_model_features.EMFAnimationApi");
+ if ((int) EMF_EMFAnimationApi.getMethod("getApiVersion").invoke(null) >= 9) {
+ Function