feat: v1.0.4 高级设置精简为权限复选框 + 自动游泳防溺水
- 高级设置菜单移除所有数值输入框,仅保留疾跑/跳跃/避怪/破坏/放置五个权限复选框 - 新增自动游泳:玩家在水中且未站在地面时自动跳跃,防止溺水 - 版本号更新为 1.0.4
这个提交包含在:
@@ -204,6 +204,7 @@ implements SubtitleChatMonitor.Listener {
|
||||
if (this.tickAutoFood(client)) {
|
||||
return;
|
||||
}
|
||||
this.tickAutoSwim(client);
|
||||
switch (this.state.ordinal()) {
|
||||
case 1: {
|
||||
this.plan();
|
||||
@@ -499,6 +500,26 @@ implements SubtitleChatMonitor.Listener {
|
||||
return List.of(new ChunkPos(chunk.x() + 1, chunk.z()), new ChunkPos(chunk.x() - 1, chunk.z()), new ChunkPos(chunk.x(), chunk.z() + 1), new ChunkPos(chunk.x(), chunk.z() - 1));
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动游泳逻辑(每帧调用):
|
||||
* 玩家处于水中且未站在地面上时自动跳跃(模拟按住空格键),防止溺水。
|
||||
*/
|
||||
private void tickAutoSwim(MinecraftClient client) {
|
||||
if (!this.isRunning()) {
|
||||
return;
|
||||
}
|
||||
PlayerEntity player = client.player;
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
// 完全没入水中,或接触水面且未站在地面(深水区漂浮)时都需要游泳
|
||||
boolean inWater = player.isSubmergedInWater()
|
||||
|| (player.isTouchingWater() && !player.isOnGround());
|
||||
if (inWater) {
|
||||
player.jump();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动进食逻辑(每帧调用):
|
||||
* 开启 autoEat 且饥饿值低于阈值时暂停寻路并自动吃背包里的食物,
|
||||
|
||||
在新工单中引用
屏蔽一个用户