Skip to content

Commit 95961c6

Browse files
committed
feat: removeFrogLongJump
1 parent 304c1bc commit 95961c6

7 files changed

Lines changed: 63 additions & 5 deletions

File tree

‎.github/workflows/build.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ${{ matrix.os }}
1919
steps:
2020
- name: checkout repository
21-
uses: actions/checkout@v6
21+
uses: actions/checkout@v7
2222
- name: validate gradle wrapper
2323
uses: gradle/actions/wrapper-validation@v6
2424
- name: setup jdk ${{ matrix.java }}

‎.github/workflows/publish.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
contents: write
2929
steps:
3030
- name: checkout repository
31-
uses: actions/checkout@v6
31+
uses: actions/checkout@v7
3232
- name: download build artifacts
3333
uses: actions/download-artifact@v8
3434
with:

‎src/main/java/io/github/optijava/opt_carpet_addition/OptCarpetSettings.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,4 +206,11 @@ public class OptCarpetSettings {
206206
categories = {RuleCategory.BUGFIX, OCA}
207207
)
208208
public static boolean fixPlayerPositionNaN = false;
209+
210+
//? if >= 26.1 {
211+
@Rule(
212+
categories = {RuleCategory.OPTIMIZATION, OCA}
213+
)
214+
public static boolean removeFrogLongJump = false;
215+
//? }
209216
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package io.github.optijava.opt_carpet_addition.mixins.rule.removeFrogLongJump;
2+
3+
//?if >= 26.1 {
4+
5+
import com.google.common.collect.ImmutableList;
6+
import io.github.optijava.opt_carpet_addition.OptCarpetSettings;
7+
import net.minecraft.world.entity.ai.ActivityData;
8+
import net.minecraft.world.entity.animal.frog.Frog;
9+
import net.minecraft.world.entity.animal.frog.FrogAi;
10+
import net.minecraft.world.entity.schedule.Activity;
11+
import org.spongepowered.asm.mixin.Mixin;
12+
import org.spongepowered.asm.mixin.injection.At;
13+
import org.spongepowered.asm.mixin.injection.Inject;
14+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
15+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
16+
17+
import java.util.List;
18+
19+
@Mixin(FrogAi.class)
20+
public class FrogAi_Mixin {
21+
@Inject(
22+
method = "updateActivity",
23+
at = @At("HEAD"),
24+
cancellable = true
25+
)
26+
private static void injectUpdateActivity(Frog body, CallbackInfo ci) {
27+
if (OptCarpetSettings.removeFrogLongJump) {
28+
body.getBrain().setActiveActivityToFirstValid(ImmutableList.of(Activity.TONGUE, Activity.LAY_SPAWN, Activity.SWIM, Activity.IDLE));
29+
ci.cancel();
30+
}
31+
}
32+
33+
@Inject(
34+
method = "getActivities",
35+
at = @At("RETURN"),
36+
cancellable = true
37+
)
38+
private static void injectGetActivities(CallbackInfoReturnable<List<ActivityData<Frog>>> cir) {
39+
if (OptCarpetSettings.removeFrogLongJump) {
40+
cir.setReturnValue(List.copyOf(cir.getReturnValue().subList(0, cir.getReturnValue().size() - 1)));
41+
}
42+
}
43+
}
44+
//? }

‎src/main/resources/assets/opt-carpet-addition/lang/en_us.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,7 @@
6868
"carpet.rule.removeDataModifyRestriction.name": "Remove Data Modify Restriction",
6969
"carpet.rule.removeDataModifyRestriction.desc": "Allow modifying data for players",
7070
"carpet.rule.fixPlayerPositionNaN.name": "Fix NaN in the pos of players",
71-
"carpet.rule.fixPlayerPositionNaN.desc": "Prevent when writing NaN into pos"
71+
"carpet.rule.fixPlayerPositionNaN.desc": "Prevent when writing NaN into pos",
72+
"carpet.rule.removeFrogLongJump.name": "Remove the behavior of long jump in frogs",
73+
"carpet.rule.removeFrogLongJump.desc": "Remove the behavior of long jump in frogs"
7274
}

‎src/main/resources/assets/opt-carpet-addition/lang/zh_cn.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
"carpet.rule.removeDataModifyRestriction.name": "移除Data指令修改限制",
6969
"carpet.rule.removeDataModifyRestriction.desc": "允许用/data modify entity修改玩家数据",
7070
"carpet.rule.fixPlayerPositionNaN.name": "修复玩家位置NaN",
71-
"carpet.rule.fixPlayerPositionNaN.desc": "当玩家位置被写入NaN时,阻止写入"
71+
"carpet.rule.fixPlayerPositionNaN.desc": "当玩家位置被写入NaN时,阻止写入",
72+
"carpet.rule.removeFrogLongJump.name": "禁用青蛙大跳行为",
73+
"carpet.rule.removeFrogLongJump.desc": "禁用青蛙大跳行为"
7274
}
7375

‎src/main/resources/opt-carpet-addition.mixins.json‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@
2525
"logger.blockUpdate.LogCommand_Mixin",
2626
"rule.allowSpectatorToModifyContainer.ServerGamePacketListenerImpl_Mixin",
2727
"rule.removeDataModifyRestriction.EntityDataAccessor_Mixin",
28-
"rule.fixPlayerPositionNaN.Entity_Mixin"
28+
"rule.fixPlayerPositionNaN.Entity_Mixin",
29+
//? if >= 26.1 {
30+
"rule.removeFrogLongJump.FrogAi_Mixin"
31+
//? }
2932
],
3033
"client": [
3134
"rule.unescapeChatMessage.ChatMessageC2SPacket_Mixin"

0 commit comments

Comments
 (0)