Skip to content

Commit 58fb328

Browse files
committed
feat: add interop code for spool
1 parent 012ecc0 commit 58fb328

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

src/main/java/com/falsepattern/endlessids/asm/transformer/chunk/ChunkProviderSuperPatcher.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@
4545
import org.objectweb.asm.tree.MethodNode;
4646
import org.objectweb.asm.tree.VarInsnNode;
4747

48+
import net.minecraft.launchwrapper.Launch;
49+
4850
import java.util.ArrayList;
51+
import java.util.Arrays;
4952
import java.util.List;
5053
import java.util.Objects;
5154
import java.util.function.BiFunction;
@@ -186,22 +189,28 @@ public class ChunkProviderSuperPatcher implements TurboClassTransformer {
186189
private static final BytePatternMatcher getBiomeArrayMethodMatcher;
187190

188191
static {
192+
var chunk = new ArrayList<String>(4);
189193
if (EndlessIDsCore.deobfuscated) {
190194
CLASS_BiomeGenBase = new String[]{"net/minecraft/world/biome/BiomeGenBase"};
191195
CLASS_IChunkProvider = new String[]{"net/minecraft/world/chunk/IChunkProvider"};
192196
CLASS_ChunkProviderGenerate = new String[]{"net/minecraft/world/gen/ChunkProviderGenerate"};
193-
CLASS_Chunk = new String[]{"net/minecraft/world/chunk/Chunk"};
197+
chunk.add("net/minecraft/world/chunk/Chunk");
194198
FIELD_biomeID = new String[]{"biomeID"};
195199
METHOD_getBiomeArray = new String[]{"getBiomeArray"};
196200
} else {
197201
CLASS_BiomeGenBase = new String[]{"ahu", "net/minecraft/world/biome/BiomeGenBase"};
198202
CLASS_IChunkProvider = new String[]{"apu", "net/minecraft/world/chunk/IChunkProvider"};
199203
CLASS_ChunkProviderGenerate = new String[]{"aqz", "net/minecraft/world/gen/ChunkProviderGenerate"};
200-
CLASS_Chunk = new String[]{"apx", "net/minecraft/world/chunk/Chunk"};
204+
chunk.add("apx");
205+
chunk.add("net/minecraft/world/chunk/Chunk");
201206
FIELD_biomeID = new String[]{"ay", "field_76756_M"};
202207
METHOD_getBiomeArray = new String[]{"m", "func_76605_m"};
203208
}
204-
209+
val chunkExtraSpool = Launch.blackboard.get("endlessids_spool_CLASS_Chunk_interop");
210+
if (chunkExtraSpool instanceof String[]) {
211+
chunk.addAll(Arrays.asList((String[]) chunkExtraSpool));
212+
}
213+
CLASS_Chunk = chunk.toArray(new String[0]);
205214
chunkClassMatcher = new BytePatternMatcher(CLASS_Chunk, BytePatternMatcher.Mode.Equals);
206215
getBiomeArrayMethodMatcher = new BytePatternMatcher(METHOD_getBiomeArray, BytePatternMatcher.Mode.Equals);
207216
}

0 commit comments

Comments
 (0)