36
36
import org .slf4j .Marker ;
37
37
import org .slf4j .MarkerFactory ;
38
38
39
- import java .io .ByteArrayOutputStream ;
40
39
import java .io .File ;
41
40
import java .io .IOException ;
42
41
import java .io .InputStream ;
43
42
import java .io .InputStreamReader ;
44
- import java .io .OutputStreamWriter ;
45
43
import java .io .Reader ;
46
44
import java .io .UncheckedIOException ;
47
- import java .io .Writer ;
48
- import java .nio .file .FileSystem ;
49
- import java .nio .file .FileSystems ;
50
45
import java .nio .file .Files ;
51
46
import java .nio .file .Path ;
52
47
import java .nio .file .Paths ;
@@ -74,8 +69,6 @@ public final class JarTransformer {
74
69
private static final String MAPPED_SUFFIX = "_mapped_" + FMLEnvironment .naming + "_" + FMLLoader .versionInfo ().mcVersion ();
75
70
private static final String FABRIC_MAPPING_NAMESPACE = "Fabric-Mapping-Namespace" ;
76
71
private static final String SOURCE_NAMESPACE = "intermediary" ;
77
- // Increment to invalidate cache
78
- private static final int CACHE_VERSION = 3 ;
79
72
private static final Logger LOGGER = LogUtils .getLogger ();
80
73
private static final Marker TRANSFORM_MARKER = MarkerFactory .getMarker ("TRANSFORM" );
81
74
@@ -158,7 +151,7 @@ public static TransformableJar cacheTransformableJar(File input) throws IOExcept
158
151
159
152
FabricModFileMetadata metadata = readModMetadata (input );
160
153
FabricModPath path = new FabricModPath (output , metadata );
161
- ConnectorUtil .CacheFile cacheFile = ConnectorUtil .getCached (String . valueOf ( CACHE_VERSION ), input .toPath (), output );
154
+ ConnectorUtil .CacheFile cacheFile = ConnectorUtil .getCached (input .toPath (), output );
162
155
return new TransformableJar (input , path , cacheFile );
163
156
}
164
157
@@ -232,7 +225,7 @@ private static void transformJar(File input, Path output, FabricModFileMetadata
232
225
.add (new FieldToMethodTransformer (metadata .modMetadata ().getAccessWidener (), resolver .getMap ("srg" , SOURCE_NAMESPACE )))
233
226
.add (remappingTransformer )
234
227
.add (new MixinPatchTransformer (metadata .mixinClasses (), refmap .merged ().mappings , adapterPatches ))
235
- .add (new RefmapRemapper (metadata .mixinConfigs ()))
228
+ .add (new RefmapRemapper (metadata .mixinConfigs (), refmap . files () ))
236
229
.add (new ModMetadataGenerator (metadata .modMetadata ().getId ()))
237
230
.logger (s -> LOGGER .trace (TRANSFORM_MARKER , s ))
238
231
.debug (s -> LOGGER .trace (TRANSFORM_MARKER , s ));
@@ -246,22 +239,6 @@ private static void transformJar(File input, Path output, FabricModFileMetadata
246
239
throw t ;
247
240
}
248
241
249
- // Write refmaps
250
- try (FileSystem fs = FileSystems .newFileSystem (output , Map .of ())) {
251
- refmap .files ().forEach ((file , data ) -> {
252
- Path path = fs .getPath (file );
253
- try (ByteArrayOutputStream byteStream = new ByteArrayOutputStream ()) {
254
- try (Writer writer = new OutputStreamWriter (byteStream )) {
255
- data .write (writer );
256
- writer .flush ();
257
- }
258
- Files .write (path , byteStream .toByteArray ());
259
- } catch (IOException e ) {
260
- throw new UncheckedIOException (e );
261
- }
262
- });
263
- }
264
-
265
242
stopwatch .stop ();
266
243
LOGGER .debug (TRANSFORM_MARKER , "Jar {} transformed in {} ms" , input .getName (), stopwatch .elapsed (TimeUnit .MILLISECONDS ));
267
244
}
0 commit comments