Skip to content

Commit

Permalink
Forge does not like reflections
Browse files Browse the repository at this point in the history
  • Loading branch information
JustRed23 committed Oct 31, 2023
1 parent ee2bd9a commit 073077b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 16 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ dependencies {
api 'org.slf4j:slf4j-api:1.8.0-beta4'
implementation project(':common')
implementation project(':forge')
implementation project(':forge:1-20-2')
implementation 'org.spongepowered:mixin:0.8.5'
implementation 'org.reflections:reflections:0.10.2'
}

jar {
Expand Down
22 changes: 7 additions & 15 deletions src/main/java/org/kettingpowered/ketting/core/Ketting.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@
import org.jetbrains.annotations.NotNull;
import org.kettingpowered.adapter.ForgeAdapter;
import org.kettingpowered.ketting.core.injectprotect.InjectProtect;
import org.reflections.Reflections;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.kettingpowered.adapters.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public final class Ketting {

Expand All @@ -19,7 +18,7 @@ public final class Ketting {
private static final Ketting INSTANCE = new Ketting();
private static String mcVersion;

private final Map<String, ForgeAdapter> AVAILABLE_ADAPTERS = new HashMap<>();
private final List<ForgeAdapter> AVAILABLE_ADAPTERS = new ArrayList<>();

public static Ketting init(String mcVersion) {
if (Ketting.mcVersion != null)
Expand Down Expand Up @@ -49,7 +48,9 @@ public Ketting() {
}

public @NotNull ForgeAdapter getAdapter() {
ForgeAdapter adapter = AVAILABLE_ADAPTERS.get(mcVersion);
ForgeAdapter adapter = AVAILABLE_ADAPTERS.stream()
.filter(adptr -> adptr.getMcVersion().equals(mcVersion))
.findFirst().orElse(null);

if (adapter == null)
throw new RuntimeException("Could not find an adapter for Minecraft version " + mcVersion);
Expand All @@ -58,15 +59,6 @@ public Ketting() {
}

private void collectAdapters() {
Reflections reflections = new Reflections("org.kettingpowered.adapters");

reflections.getSubTypesOf(ForgeAdapter.class).forEach(clazz -> {
try {
ForgeAdapter adapter = clazz.getDeclaredConstructor().newInstance();
AVAILABLE_ADAPTERS.put(adapter.getMcVersion(), adapter);
} catch (Exception e) {
LOGGER.error("Could not instantiate adapter " + clazz.getName(), e);
}
});
AVAILABLE_ADAPTERS.add(new Forge_1_20_2_Adapter());
}
}

0 comments on commit 073077b

Please sign in to comment.