Skip to content

Commit 4658cb9

Browse files
committed
Update more code to java 17
1 parent 71edfef commit 4658cb9

23 files changed

+480
-532
lines changed

src/main/java/fr/catcore/modremapperapi/utils/MixinUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public class MixinUtils {
2727
* @param mixinClassName
2828
* @param mixinInfo
2929
*/
30+
@Deprecated
3031
public static void applyASMMagic(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
3132
CursedMixinExtensions.postApply(targetClass);
3233

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/api/v2/VisitorInfos.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ static FullClassMember classMember(String owner, String name, @Nullable String d
2323
}
2424

2525
static FullClassMember classMember(String owner, String name, @Nullable Boolean isStatic) {
26-
return new io.github.fabriccompatibiltylayers.modremappingapi.api.v1.VisitorInfos.FullClassMember(owner, name, isStatic);
26+
var fullClassMember = new io.github.fabriccompatibiltylayers.modremappingapi.api.v1.VisitorInfos.FullClassMember(owner, name, isStatic);
27+
return fullClassMember;
2728
}
2829

2930
interface FullClassMember extends MappingUtils.ClassMember {

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/impl/RemapperPlugin.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ public void acceptTargets(Set<String> myTargets, Set<String> otherTargets){}
3030
@Override
3131
public List<String> getMixins(){
3232
try {
33-
((Runnable)Class.forName("io.github.fabriccompatibilitylayers.modremappingapi.impl.ModRemappingApiInit").newInstance()).run();
34-
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
33+
Class<?> initClass = Class.forName("io.github.fabriccompatibilitylayers.modremappingapi.impl.ModRemappingApiInit");
34+
((Runnable)initClass.getDeclaredConstructor().newInstance()).run();
35+
} catch (ReflectiveOperationException e) {
3536
throw new RuntimeException(e);
3637
}
3738

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/impl/compatibility/v0/V0ModRemapper.java

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public String[] getJarFolders() {
3838

3939
@Override
4040
public void addRemapLibraries(List<RemapLibrary> libraries, EnvType environment) {
41-
for (fr.catcore.modremapperapi.api.RemapLibrary library : modRemapper.getRemapLibraries()) {
41+
for (var library : modRemapper.getRemapLibraries()) {
4242
libraries.add(new RemapLibrary(library.url, library.path, library.toExclude, library.fileName));
4343
}
4444
}
@@ -49,27 +49,27 @@ public Map<String, List<String>> getExclusions() {
4949

5050
@Override
5151
public void registerMappings(MappingBuilder list) {
52-
RemapUtil.MappingList mappingList = new RemapUtil.MappingList();
52+
var mappingList = new RemapUtil.MappingList();
5353
modRemapper.getMappingList(mappingList);
5454

55-
MemoryMappingTree mappingTree = convertMappingList(mappingList);
55+
var mappingTree = convertMappingList(mappingList);
5656

5757
if (mappingTree != null) {
58-
for (MappingTree.ClassMapping classMapping : mappingTree.getClasses()) {
59-
MappingBuilder.ClassMapping classBuilder = list.addMapping(
58+
for (var classMapping : mappingTree.getClasses()) {
59+
var classBuilder = list.addMapping(
6060
classMapping.getName("official"),
6161
classMapping.getName("intermediary")
6262
);
6363

64-
for (MappingTree.FieldMapping fieldMapping : classMapping.getFields()) {
64+
for (var fieldMapping : classMapping.getFields()) {
6565
classBuilder.field(
6666
fieldMapping.getName("official"),
6767
fieldMapping.getName("intermediary"),
6868
fieldMapping.getDesc("official")
6969
);
7070
}
7171

72-
for (MappingTree.MethodMapping methodMapping : classMapping.getMethods()) {
72+
for (var methodMapping : classMapping.getMethods()) {
7373
classBuilder.method(
7474
methodMapping.getName("official"),
7575
methodMapping.getName("intermediary"),
@@ -110,19 +110,16 @@ private MemoryMappingTree convertMappingList(RemapUtil.MappingList mappingList)
110110
MemoryMappingTree mappingTree;
111111

112112
try {
113-
if (BABRIC) {
114-
mappingTree = MappingTreeHelper.createMappingTree("intermediary", "official");
115-
} else {
116-
mappingTree = MappingTreeHelper.createMappingTree();
117-
}
113+
mappingTree = BABRIC
114+
? MappingTreeHelper.createMappingTree("intermediary", "official")
115+
: MappingTreeHelper.createMappingTree();
118116

119117
mappingList.accept(mappingTree);
120-
121118
mappingTree.visitEnd();
122119

123-
if (Objects.equals(mappingTree.getSrcNamespace(), "intermediary")) {
124-
MemoryMappingTree newTree = new MemoryMappingTree();
125-
MappingVisitor visitor = new MappingSourceNsSwitch(newTree, "official");
120+
if ("intermediary".equals(mappingTree.getSrcNamespace())) {
121+
var newTree = new MemoryMappingTree();
122+
var visitor = new MappingSourceNsSwitch(newTree, "official");
126123

127124
mappingTree.accept(visitor);
128125
mappingTree = newTree;

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/impl/compatibility/v1/ModRemapperV1Context.java

Lines changed: 38 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,10 @@ public ModRemapperV1Context() {
4949

5050
public void init() {
5151
for (ModRemapper remapper : remappers) {
52-
Optional<String> pkg = remapper.getDefaultPackage();
52+
remapper.getDefaultPackage().ifPresent(this.mappingsRegistry::setDefaultPackage);
53+
remapper.getSourceNamespace().ifPresent(this.mappingsRegistry::setSourceNamespace);
5354

54-
pkg.ifPresent(this.mappingsRegistry::setDefaultPackage);
55-
56-
Optional<String> sourceNamespace = remapper.getSourceNamespace();
57-
58-
sourceNamespace.ifPresent(this.mappingsRegistry::setSourceNamespace);
59-
60-
Optional<Supplier<InputStream>> mappings = remapper.getExtraMapping();
61-
62-
mappings.ifPresent(inputStreamSupplier -> {
55+
remapper.getExtraMapping().ifPresent(inputStreamSupplier -> {
6356
try {
6457
this.mappingsRegistry.addToFormattedMappings(inputStreamSupplier.get(), new HashMap<>());
6558
} catch (IOException e) {
@@ -87,7 +80,7 @@ public void init() {
8780
public void remapMods(Map<ModCandidate, Path> pathMap) {
8881
Constants.MAIN_LOGGER.debug("Starting jar remapping!");
8982
SoftLockFixer.preloadClasses();
90-
TinyRemapper remapper = ModTrRemapper.makeRemapper(this);
83+
var remapper = ModTrRemapper.makeRemapper(this);
9184
Constants.MAIN_LOGGER.debug("Remapper created!");
9285
ModTrRemapper.remapMods(remapper, pathMap, this);
9386
Constants.MAIN_LOGGER.debug("Jar remapping done!");
@@ -104,7 +97,7 @@ private List<ModCandidate> collectCandidates(ModDiscovererConfig config, Path mo
10497
boolean fabric = false;
10598
boolean hasClass = false;
10699

107-
for (String entry : entries) {
100+
for (var entry : entries) {
108101
if (entry.endsWith("fabric.mod.json") || entry.endsWith("quilt.mod.json") || entry.endsWith("quilt.mod.json5")) {
109102
fabric = true;
110103
break;
@@ -115,7 +108,7 @@ private List<ModCandidate> collectCandidates(ModDiscovererConfig config, Path mo
115108
}
116109
}
117110

118-
List<ModCandidate> list = new ArrayList<>();
111+
var list = new ArrayList<ModCandidate>();
119112

120113
if (hasClass && !fabric) {
121114
list.add(new DefaultModCandidate(modPath, config));
@@ -126,27 +119,26 @@ private List<ModCandidate> collectCandidates(ModDiscovererConfig config, Path mo
126119

127120
@Override
128121
public List<ModRemapper> discoverMods(boolean remapClassEdits) {
129-
Map<String, List<String>> excluded = new HashMap<>();
130-
131-
Set<String> modFolders = new HashSet<>();
122+
var excluded = new HashMap<String, List<String>>();
123+
var modFolders = new HashSet<String>();
132124

133-
for (ModRemapper remapper : remappers) {
125+
for (var remapper : remappers) {
134126
Collections.addAll(modFolders, remapper.getJarFolders());
135127

136-
if (remapper instanceof V0ModRemapper) {
137-
excluded.putAll(((V0ModRemapper) remapper).getExclusions());
128+
if (remapper instanceof V0ModRemapper v0Remapper) {
129+
excluded.putAll(v0Remapper.getExclusions());
138130
}
139131
}
140132

141-
List<ModCandidate> candidates = new ArrayList<>();
142-
Map<ModDiscovererConfig, ModDiscoverer> config2Discoverer = new HashMap<>();
133+
var candidates = new ArrayList<ModCandidate>();
134+
var config2Discoverer = new HashMap<ModDiscovererConfig, ModDiscoverer>();
143135

144-
for (String modFolder : modFolders) {
145-
ModDiscovererConfig config = ModDiscovererConfig.builder(modFolder)
136+
for (var modFolder : modFolders) {
137+
var config = ModDiscovererConfig.builder(modFolder)
146138
.fileNameMatcher("(.+).(jar|zip)$")
147139
.candidateCollector(this::collectCandidates)
148140
.build();
149-
ModDiscoverer discoverer = new ModDiscoverer(config);
141+
var discoverer = new ModDiscoverer(config);
150142
config2Discoverer.put(config, discoverer);
151143
candidates.addAll(discoverer.collect());
152144
}
@@ -157,11 +149,11 @@ public List<ModRemapper> discoverMods(boolean remapClassEdits) {
157149
throw new RuntimeException(e);
158150
}
159151

160-
Map<ModDiscovererConfig, List<ModCandidate>> config2Candidates =
161-
candidates.stream().collect(Collectors.groupingBy(ModCandidate::getDiscovererConfig));
152+
var config2Candidates = candidates.stream()
153+
.collect(Collectors.groupingBy(ModCandidate::getDiscovererConfig));
162154

163-
for (Map.Entry<ModDiscovererConfig, List<ModCandidate>> entry : config2Candidates.entrySet()) {
164-
ModDiscovererConfig config = entry.getKey();
155+
for (var entry : config2Candidates.entrySet()) {
156+
var config = entry.getKey();
165157

166158
try {
167159
config2Discoverer.get(config).excludeClassEdits(entry.getValue(), this.cacheHandler, this.mappingsRegistry);
@@ -170,16 +162,16 @@ public List<ModRemapper> discoverMods(boolean remapClassEdits) {
170162
}
171163
}
172164

173-
for (ModCandidate candidate : candidates) {
174-
mappingsRegistry.addModMappings(candidate.getPath());
175-
}
165+
candidates.forEach(candidate ->
166+
mappingsRegistry.addModMappings(candidate.getPath())
167+
);
176168

177169
mappingsRegistry.generateModMappings();
178170

179-
Map<ModCandidate, Path> candidateToOutput = new HashMap<>();
171+
var candidateToOutput = new HashMap<ModCandidate, Path>();
180172

181-
for (Map.Entry<ModDiscovererConfig, List<ModCandidate>> entry : config2Candidates.entrySet()) {
182-
ModDiscovererConfig config = entry.getKey();
173+
for (var entry : config2Candidates.entrySet()) {
174+
var config = entry.getKey();
183175

184176
candidateToOutput.putAll(
185177
config2Discoverer.get(config).computeDestinations(entry.getValue(), this.cacheHandler)
@@ -194,10 +186,10 @@ public List<ModRemapper> discoverMods(boolean remapClassEdits) {
194186
}
195187

196188
private void handleV0Excluded(List<ModCandidate> mods, Map<String, List<String>> excludedMap) throws IOException, URISyntaxException {
197-
for (ModCandidate modCandidate : mods) {
189+
for (var modCandidate : mods) {
198190
if (excludedMap.containsKey(modCandidate.getId())) {
199191
if (Files.isDirectory(modCandidate.getPath())) {
200-
for (String excluded : excludedMap.get(modCandidate.getId())) {
192+
for (var excluded : excludedMap.get(modCandidate.getId())) {
201193
if (Files.deleteIfExists(modCandidate.getPath().resolve(excluded))) {
202194
Constants.MAIN_LOGGER.debug("File deleted: " + modCandidate.getPath().resolve(excluded));
203195
}
@@ -214,12 +206,16 @@ private void handleV0Excluded(List<ModCandidate> mods, Map<String, List<String>>
214206

215207
@Override
216208
public void gatherRemappers() {
217-
FabricLoader.getInstance()
209+
// Collect v0 remappers
210+
var v0Remappers = FabricLoader.getInstance()
218211
.getEntrypoints(v0EntrypointName, fr.catcore.modremapperapi.api.ModRemapper.class)
219212
.stream()
220213
.map(V0ModRemapper::new)
221-
.forEach(remappers::add);
214+
.toList();
215+
216+
remappers.addAll(v0Remappers);
222217

218+
// Collect v1 remappers
223219
remappers.addAll(FabricLoader.getInstance().getEntrypoints(v1EntrypointName, ModRemapper.class));
224220

225221
if (remappers.size() == 1) remappers.clear();
@@ -271,11 +267,11 @@ public MixinData getMixinData() {
271267
public void gatherLibraries() {
272268
libraryHandler.init(this.mappingsRegistry.getSourceNamespace(), this.cacheHandler);
273269

274-
List<RemapLibrary> libraries = new ArrayList<>();
270+
var libraries = new ArrayList<RemapLibrary>();
275271

276-
for (ModRemapper remapper : remappers) {
277-
remapper.addRemapLibraries(libraries, FabricLoader.getInstance().getEnvironmentType());
278-
}
272+
remappers.forEach(remapper ->
273+
remapper.addRemapLibraries(libraries, FabricLoader.getInstance().getEnvironmentType())
274+
);
279275

280276
libraryHandler.cacheLibraries(new ArrayList<>(libraries));
281277
}

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/impl/compatibility/v1/V1CacheHandler.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.io.IOException;
88
import java.nio.file.Files;
99
import java.nio.file.Path;
10+
import java.util.List;
1011

1112
@ApiStatus.Internal
1213
public class V1CacheHandler implements InternalCacheHandler {
@@ -15,12 +16,14 @@ public class V1CacheHandler implements InternalCacheHandler {
1516
private final Path libsDirectory = CacheUtils.LIBRARY_FOLDER;
1617

1718
public V1CacheHandler() {
18-
for (Path p : new Path[] {tempDirectory, libsDirectory}) {
19-
if (!Files.exists(p)) {
19+
var directoriesToCreate = List.of(tempDirectory, libsDirectory);
20+
21+
for (var directory : directoriesToCreate) {
22+
if (!Files.exists(directory)) {
2023
try {
21-
Files.createDirectories(p);
24+
Files.createDirectories(directory);
2225
} catch (IOException e) {
23-
throw new RuntimeException(e);
26+
throw new RuntimeException("Failed to create directory: " + directory, e);
2427
}
2528
}
2629
}

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/impl/compatibility/v1/V1MappingBuilderImpl.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,11 @@ public ClassMapping addMapping(String name) {
2727
return new ClassMappingImpl(name, null, next);
2828
}
2929

30-
private static class ClassMappingImpl implements ClassMapping {
31-
private final String sourceName;
32-
private final @Nullable String targetName;
33-
private final MemoryMappingTree next;
34-
35-
public ClassMappingImpl(String sourceName, @Nullable String targetName, MemoryMappingTree next) {
36-
this.sourceName = sourceName;
37-
this.targetName = targetName;
38-
this.next = next;
39-
}
30+
private record ClassMappingImpl(
31+
String sourceName,
32+
@Nullable String targetName,
33+
MemoryMappingTree next
34+
) implements ClassMapping {
4035

4136
private void visit() {
4237
this.next.visitClass(sourceName);

src/main/java/io/github/fabriccompatibilitylayers/modremappingapi/impl/context/LibraryHandler.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void init(String sourceNamespace, CacheHandler cacheHandler) {
2727
this.sourceNamespace = sourceNamespace;
2828
this.cacheHandler = cacheHandler;
2929

30-
Path sourceLibraryPath = this.cacheHandler.resolveLibrary(this.sourceNamespace);
30+
var sourceLibraryPath = this.cacheHandler.resolveLibrary(this.sourceNamespace);
3131

3232
if (!Files.exists(sourceLibraryPath)) {
3333
try {
@@ -48,19 +48,19 @@ public void cacheLibraries(List<RemapLibrary> libraries) {
4848
remapLibraries = computeExtraLibraryPaths(libraries, sourceNamespace);
4949

5050
try {
51-
for (Map.Entry<RemapLibrary, Path> entry : remapLibraries.entrySet()) {
52-
RemapLibrary library = entry.getKey();
53-
Path path = entry.getValue();
51+
for (var entry : remapLibraries.entrySet()) {
52+
var library = entry.getKey();
53+
var path = entry.getValue();
5454

5555
if (Files.exists(path)) continue;
5656

5757
if (library.getURL() != null && !library.getURL().isEmpty()) {
58-
Constants.MAIN_LOGGER.info("Downloading remapping library '" + library.getFileName() + "' from url '" + library.getURL() + "'");
58+
Constants.MAIN_LOGGER.info("Downloading remapping library '%s' from url '%s'", library.getFileName(), library.getURL());
5959
FileUtils.downloadFile(library.getURL(), path);
6060
FileUtils.removeEntriesFromZip(path, library.getToExclude());
6161
Constants.MAIN_LOGGER.info("Remapping library ready for use.");
6262
} else if (library.getPath() != null) {
63-
Constants.MAIN_LOGGER.info("Extracting remapping library '" + library.getFileName() + "' from mod jar.");
63+
Constants.MAIN_LOGGER.info("Extracting remapping library '%s' from mod jar.", library.getFileName());
6464
FileUtils.copyZipFile(library.getPath(), path);
6565
Constants.MAIN_LOGGER.info("Remapping library ready for use.");
6666
}
@@ -71,11 +71,11 @@ public void cacheLibraries(List<RemapLibrary> libraries) {
7171
}
7272

7373
public void addLibrariesToRemapClasspath(TinyRemapper remapper) {
74-
for (Path libPath : remapLibraries.values()) {
74+
for (var libPath : remapLibraries.values()) {
7575
if (Files.exists(libPath)) {
7676
remapper.readClassPathAsync(libPath);
7777
} else {
78-
Constants.MAIN_LOGGER.info("Library " + libPath + " does not exist.");
78+
Constants.MAIN_LOGGER.info("Library %s does not exist.", libPath);
7979
}
8080
}
8181
}

0 commit comments

Comments
 (0)