// Native Minecraft 1.21.11
package com.xfestudio.mydimensionlord.platform;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import java.util.function.Consumer;
import net.minecraft.core.registries.Registries;
import net.minecraft.gametest.framework.*;
import net.minecraft.resources.Identifier;
import net.minecraft.resources.ResourceKey;
import net.minecraftforge.eventbus.api.bus.BusGroup;
import net.minecraftforge.registries.DeferredRegister;
public final class PortGameTests {
private static final Class<?>[] SUITES = {
com.xfestudio.mydimensionlord.builder.BuilderGameTests.class,
com.xfestudio.mydimensionlord.builder.BuilderInteractionGameTests.class,
com.xfestudio.mydimensionlord.builder.anchor.ResonantSupplyAnchorGameTests.class,
com.xfestudio.mydimensionlord.builder.AddonIntegrationGameTests.class,
com.xfestudio.mydimensionlord.equipment.EquipmentGameTests.class,
com.xfestudio.mydimensionlord.equipment.PickaxeGameTests.class
};
public static void register(BusGroup bus) {
DeferredRegister<Consumer<GameTestHelper>> functions = DeferredRegister.create(Registries.TEST_FUNCTION, "mydimension_lord");
for (Class<?> suite : SUITES) for (var method : suite.getDeclaredMethods()) {
if (!method.isAnnotationPresent(GameTest.class)) continue;
functions.register(method.getName().toLowerCase(Locale.ROOT), () -> helper -> {
try { method.invoke(null, helper); }
catch (InvocationTargetException e) {
if (e.getCause() instanceof RuntimeException runtime) throw runtime;
if (e.getCause() instanceof Error error) throw error;
throw new RuntimeException(e.getCause());
} catch (ReflectiveOperationException e) { throw new RuntimeException(e); }
});
}
functions.register(bus);
}
private static Identifier id(String path) { return Identifier.fromNamespaceAndPath("mydimension_lord", path); }
}
// Native Minecraft 1.21.11
package com.xfestudio.mydimensionlord.platform;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import java.util.function.Consumer;
import net.minecraft.core.registries.Registries;
import net.minecraft.gametest.framework.*;
import net.minecraft.resources.Identifier;
import net.minecraft.resources.ResourceKey;
import net.minecraftforge.eventbus.api.bus.BusGroup;
import net.minecraftforge.registries.DeferredRegister;
public final class PortGameTests {
private static final Class<?>[] SUITES = {
com.xfestudio.mydimensionlord.builder.BuilderGameTests.class,
com.xfestudio.mydimensionlord.builder.BuilderInteractionGameTests.class,
com.xfestudio.mydimensionlord.builder.anchor.ResonantSupplyAnchorGameTests.class,
com.xfestudio.mydimensionlord.builder.AddonIntegrationGameTests.class,
com.xfestudio.mydimensionlord.equipment.EquipmentGameTests.class,
com.xfestudio.mydimensionlord.equipment.PickaxeGameTests.class
};
public static void register(BusGroup bus) {
DeferredRegister<Consumer<GameTestHelper>> functions = DeferredRegister.create(Registries.TEST_FUNCTION, "mydimension_lord");
for (Class<?> suite : SUITES) for (var method : suite.getDeclaredMethods()) {
if (!method.isAnnotationPresent(GameTest.class)) continue;
functions.register(method.getName().toLowerCase(Locale.ROOT), () -> helper -> {
try { method.invoke(null, helper); }
catch (InvocationTargetException e) {
if (e.getCause() instanceof RuntimeException runtime) throw runtime;
if (e.getCause() instanceof Error error) throw error;
throw new RuntimeException(e.getCause());
} catch (ReflectiveOperationException e) { throw new RuntimeException(e); }
});
}
functions.register(bus);
}
private static Identifier id(String path) { return Identifier.fromNamespaceAndPath("mydimension_lord", path); }
}