Skip to content

Commit 883e2dc

Browse files
committed
Updated for forge version
1 parent fe47ca0 commit 883e2dc

File tree

4 files changed

+22
-13
lines changed

4 files changed

+22
-13
lines changed

build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'fabric-loom' version '0.11-SNAPSHOT'
2+
id 'dev.architectury.loom' version '0.11.0-SNAPSHOT'
33
id 'maven-publish'
44
}
55

@@ -21,11 +21,15 @@ repositories {
2121
dependencies {
2222
// To change the versions see the gradle.properties file
2323
minecraft "com.mojang:minecraft:${project.minecraft_version}"
24+
// mappings minecraft.officialMojangMappings()
25+
26+
forge "net.minecraftforge:forge:${project.forge_version}"
27+
2428
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
25-
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
29+
// modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
2630

2731
// Fabric API. This is technically optional, but you probably want it anyway.
28-
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
32+
// modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
2933
}
3034

3135
processResources {

gradle.properties

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
# Done to increase the memory available to gradle.
22
org.gradle.jvmargs=-Xmx1G
3-
3+
loom.platform=forge
44
# Fabric Properties
55
# check these on https://fabricmc.net/develop
66
minecraft_version=1.18.1
77
yarn_mappings=1.18.1+build.1
8-
loader_version=0.12.12
8+
forge_version=1.18.1-39.1.2
99

1010
# Mod Properties
1111
mod_version = 1.0.0
1212
maven_group = org.dimdev
1313
archives_base_name = matrix
14-
15-
# Dependencies
16-
fabric_version=0.46.2+1.18

settings.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ pluginManagement {
44
name = 'Fabric'
55
url = 'https://maven.fabricmc.net/'
66
}
7+
maven { url "https://maven.architectury.dev/" }
8+
maven { url "https://files.minecraftforge.net/maven/" }
79
mavenCentral()
810
gradlePluginPortal()
911
}

src/main/java/org/dimdev/matrix/Matrix.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
import net.minecraft.item.Item;
88
import net.minecraft.util.Identifier;
99
import net.minecraft.util.registry.Registry;
10+
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
11+
import net.minecraftforge.registries.DeferredRegister;
12+
import net.minecraftforge.registries.IForgeRegistryEntry;
1013

1114
/**
1215
* An Annotation Based Registration Library.
@@ -28,16 +31,19 @@ public class Matrix {
2831
* @param registry The registry that entries should be registered to.
2932
*/
3033
@SuppressWarnings({"unchecked", "rawtypes"})
31-
public static void register(Class<?> clazz, Registry<?> registry) {
32-
Registrar registrar = clazz.getAnnotation(Registrar.class);
34+
public static <T extends IForgeRegistryEntry<T>> void register(Class<?> target, Class<T> type) {
35+
Registrar registrar = target.getAnnotation(Registrar.class);
3336
if (registrar == null) {
3437
return;
3538
}
3639

3740
String modid = registrar.modid();
3841
Class<?> element = registrar.element();
3942

40-
Arrays.stream(clazz.getFields())
43+
DeferredRegister<T> deferredRegister = DeferredRegister.create(type, modid);
44+
deferredRegister.register(FMLJavaModLoadingContext.get().getModEventBus());
45+
46+
Arrays.stream(target.getFields())
4147
.filter(field -> field.isAnnotationPresent(RegistryEntry.class)
4248
&& Modifier.isPublic(field.getModifiers())
4349
&& Modifier.isStatic(field.getModifiers())
@@ -46,8 +52,8 @@ public static void register(Class<?> clazz, Registry<?> registry) {
4652
)
4753
.forEach(field -> {
4854
try {
49-
Object value = field.get(null);
50-
Registry.register((Registry) registry, new Identifier(modid, field.getAnnotation(RegistryEntry.class).value()), element.cast(value));
55+
T value = (T) field.get(null);
56+
deferredRegister.register(field.getAnnotation(RegistryEntry.class).value(), () -> value);
5157
if (value instanceof BlockItem) {
5258
Item.BLOCK_ITEMS.put(((BlockItem) value).getBlock(), (Item) value);
5359
}

0 commit comments

Comments
 (0)