File tree Expand file tree Collapse file tree 3 files changed +48
-2
lines changed
src/main/java/com/cleanroommc/fugue
transformer/betterhurttimer Expand file tree Collapse file tree 3 files changed +48
-2
lines changed Original file line number Diff line number Diff line change 6
6
import com .cleanroommc .fugue .modifiers .IC2ExtraFixer ;
7
7
import com .cleanroommc .fugue .transformer .advancedrocket .ClassTransformerTransformer ;
8
8
import com .cleanroommc .fugue .transformer .betterfc .HK_LoaderTransformer ;
9
+ import com .cleanroommc .fugue .transformer .betterhurttimer .DamageSpecialArmorMixinTransformer ;
9
10
import com .cleanroommc .fugue .transformer .betterportals .MixinEntityRendererTransformer ;
10
11
import com .cleanroommc .fugue .transformer .betterportals .ExtensionKtTransformer ;
11
12
import com .cleanroommc .fugue .transformer .calculator .GuiInfoCalculatorTransformer ;
@@ -363,8 +364,7 @@ public static void registerTransformers() {
363
364
"com.shblock.integrated_proxy.mixin.MixinLoader"
364
365
);
365
366
}
366
- RemoveMixinInitFromCotrTransformer instance = new RemoveMixinInitFromCotrTransformer (
367
- );
367
+ RemoveMixinInitFromCotrTransformer instance = new RemoveMixinInitFromCotrTransformer ();
368
368
if (FugueConfig .modPatchConfig .enableThaumicFixesPatch ) {
369
369
TransformerDelegate .registerExplicitTransformer (instance ,
370
370
"com.seriouscreeper.thaumicfixes.core.ThaumicFixesLoadingPlugin"
@@ -494,6 +494,12 @@ public static void registerTransformers() {
494
494
"io.github.lgatodu47.screenshot_viewer.ScreenshotViewer$ScreenshotViewerEvents"
495
495
);
496
496
}
497
+ if (FugueConfig .modPatchConfig .enableWorseHurtTime ) {
498
+ MixinServiceLaunchWrapper .registerMixinClassTransformer (
499
+ new DamageSpecialArmorMixinTransformer (),
500
+ "arekkuusu.betterhurttimer.mixin.DamageSpecialArmorMixin"
501
+ );
502
+ }
497
503
498
504
//Common patches below
499
505
Original file line number Diff line number Diff line change @@ -161,4 +161,7 @@ public class ModPatchConfig {
161
161
public boolean enableCorpse = true ;
162
162
@ Config .Name ("Enable ScreenshotViewer Patch" )
163
163
public boolean enableScreenshotViewer = true ;
164
+ @ Config .Name ("Enable Worse Hurt Time Patch" )
165
+ @ Config .Comment ("Should be compatible with better hurt time" )
166
+ public boolean enableWorseHurtTime = true ;
164
167
}
Original file line number Diff line number Diff line change
1
+ package com .cleanroommc .fugue .transformer .betterhurttimer ;
2
+
3
+ import com .cleanroommc .fugue .common .Fugue ;
4
+ import org .objectweb .asm .ClassReader ;
5
+ import org .objectweb .asm .ClassWriter ;
6
+ import org .objectweb .asm .tree .*;
7
+ import top .outlands .foundation .IExplicitTransformer ;
8
+
9
+ import java .util .Arrays ;
10
+
11
+ public class DamageSpecialArmorMixinTransformer implements IExplicitTransformer {
12
+ @ Override
13
+ public byte [] transform (byte [] bytes ) {
14
+ ClassNode classNode = new ClassNode ();
15
+ ClassReader classReader = new ClassReader (bytes );
16
+ classReader .accept (classNode , 0 );
17
+ if (classNode .methods != null )
18
+ {
19
+ for (MethodNode methodNode : classNode .methods )
20
+ {
21
+ if (methodNode .name .equals ("storeValues" ))
22
+ {
23
+ if (methodNode .invisibleAnnotableParameterCount != 7 ) break ;
24
+ AnnotationNode local = methodNode .invisibleParameterAnnotations [5 ].getFirst ();
25
+ local .values .removeLast ();
26
+ local .values .add (0 );
27
+ break ;
28
+ }
29
+
30
+ }
31
+ }
32
+ ClassWriter classWriter = new ClassWriter (0 );
33
+
34
+ classNode .accept (classWriter );
35
+ return classWriter .toByteArray ();
36
+ }
37
+ }
You can’t perform that action at this time.
0 commit comments