Skip to content

Commit 6cdb485

Browse files
committed
Fix ExplosionPatch causing issues.
1 parent 7f7738e commit 6cdb485

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

patching/src/main/java/com/fox2code/foxloader/patching/game/ExplosionPatch.java

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,35 @@ final class ExplosionPatch extends GamePatch {
3838
private static final String DirectedExplosion = "net/minecraft/common/world/DirectedExplosion";
3939
private static final String World = "net/minecraft/common/world/World";
4040
private static final String ChunkPosition = "net/minecraft/common/world/chunk/ChunkPosition";
41+
private static final String Packet60Explosion = "net/minecraft/common/networking/Packet60Explosion";
4142
private static final String BlockChange = "com/fox2code/foxloader/event/world/WorldMultiBlockChange$BlockChange";
4243
private static final String InternalExplosionHooks = "com/fox2code/foxloader/internal/InternalExplosionHooks";
4344

4445
ExplosionPatch() {
45-
super(new String[]{Explosion, DirectedExplosion});
46+
super(new String[]{Explosion, DirectedExplosion, Packet60Explosion});
4647
}
4748

4849
@Override
4950
public ClassNode transform(ClassNode classNode) {
50-
if (classNode.name.equals(Explosion)) {
51-
classNode = remapExplosion(classNode);
52-
TransformerUtils.makeFieldPublic(classNode, "worldObj");
53-
TransformerUtils.makeFieldPublic(classNode, "ExplosionRNG");
54-
classNode.fields.add(new FieldNode(ACC_PUBLIC, "silent", "Z", null, null));
55-
patchDoExplosionA(classNode);
56-
patchDoExplosionB(classNode);
57-
} else if (classNode.name.equals(DirectedExplosion)) {
58-
classNode = remapExplosion(classNode);
59-
// patchDoExplosionA(classNode);
51+
switch (classNode.name) {
52+
case Explosion: {
53+
classNode = remapExplosion(classNode);
54+
TransformerUtils.makeFieldPublic(classNode, "worldObj");
55+
TransformerUtils.makeFieldPublic(classNode, "ExplosionRNG");
56+
classNode.fields.add(new FieldNode(ACC_PUBLIC, "silent", "Z", null, null));
57+
patchDoExplosionA(classNode);
58+
patchDoExplosionB(classNode);
59+
break;
60+
}
61+
case DirectedExplosion: {
62+
classNode = remapExplosion(classNode);
63+
// patchDoExplosionA(classNode);
64+
break;
65+
}
66+
case Packet60Explosion: {
67+
classNode = remapExplosion(classNode);
68+
break;
69+
}
6070
}
6171
return classNode;
6272
}

0 commit comments

Comments
 (0)