3
3
import com .google .common .collect .ArrayListMultimap ;
4
4
import com .google .common .collect .Multimap ;
5
5
import net .minecraft .core .Registry ;
6
+ import net .minecraft .core .registries .Registries ;
6
7
import net .minecraft .resources .ResourceKey ;
7
8
import net .minecraft .resources .ResourceLocation ;
8
- import net .minecraftforge .fml .javafmlmod .FMLJavaModLoadingContext ;
9
+ import net .minecraft .world .level .block .Block ;
10
+ import net .minecraft .world .level .block .state .BlockBehaviour ;
9
11
import net .minecraftforge .registries .RegisterEvent ;
12
+ import org .violetmoon .zeta .mod .ZetaMod ;
10
13
import org .violetmoon .zeta .registry .ZetaRegistry ;
11
14
import org .violetmoon .zetaimplforge .ForgeZeta ;
15
+ import org .violetmoon .zetaimplforge .event .load .ForgeZRegister ;
12
16
13
17
import java .util .Collection ;
14
18
import java .util .IdentityHashMap ;
@@ -27,8 +31,6 @@ public class ForgeZetaRegistry extends ZetaRegistry {
27
31
28
32
public ForgeZetaRegistry (ForgeZeta z ) {
29
33
super (z );
30
-
31
- FMLJavaModLoadingContext .get ().getModEventBus ().addListener (this ::onRegisterEvent );
32
34
}
33
35
34
36
//TODO: nuke
@@ -47,9 +49,22 @@ protected <T> void odRegisterInternal(T obj, ResourceLocation id, ResourceKey<Re
47
49
defers .put (registry .location (), () -> obj );
48
50
}
49
51
50
- //TODO: possibly nuke
51
- private void onRegisterEvent (RegisterEvent event ) {
52
+ //TODO: possibly nuke and register to registries directly
53
+ public void onRegisterEvent (RegisterEvent event ) {
52
54
var key = event .getRegistryKey ();
55
+
56
+ //first event to fire
57
+ if (key == Registries .SOUND_EVENT ) {
58
+ //zeta "object creation" phase.
59
+ //actual registration is done shortly after during appropriate events, hence the need for those shortly lived defers
60
+ z .loadBus .fire (new ForgeZRegister ());
61
+ //TODO: maybe make this fired later on
62
+ z .loadBus .fire (new ForgeZRegister .Post ());
63
+
64
+ completedReg = true ;
65
+ }
66
+
67
+
53
68
ResourceLocation registryRes = key .location ();
54
69
ResourceKey <Registry <Object >> keyGeneric = ResourceKey .createRegistryKey (registryRes );
55
70
0 commit comments