Skip to content

Commit 495897d

Browse files
committed
reg event stuff
1 parent 131f15b commit 495897d

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

src/main/java/org/violetmoon/zeta/Zeta.java

-2
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,6 @@ public <T> T modIntegration(String compatWith, Supplier<Supplier<T>> yes, Suppli
165165
}
166166
}
167167

168-
public abstract boolean hasCompletedRegistration();
169-
170168
// proxy madness
171169
protected ZetaCommonProxy createProxy(ZetaSide effectiveSide) {
172170
try {

src/main/java/org/violetmoon/zetaimplforge/ForgeZeta.java

+1-13
Original file line numberDiff line numberDiff line change
@@ -161,19 +161,7 @@ protected ZetaNetworkHandler createNetworkHandler(int protocolVersion) {
161161

162162
//so register event fires one time PER registry!!
163163
public void onSoundsRegistering(RegisterEvent e) {
164-
if (registerDone || firstRegEvent)
165-
return;
166-
167-
firstRegEvent = true;
168-
169-
loadBus.fire(new ForgeZRegister());
170-
//TODO: maybe make this fired on
171-
loadBus.fire(new ForgeZRegister.Post());
172-
173-
ZetaMod.ZETA.registry.registerBlock(new Block(BlockBehaviour.Properties.of()),
174-
ZetaMod.ZETA.makeId("test"));
175-
176-
registerDone = true;
164+
((ForgeZetaRegistry)registry).onRegisterEvent(e);
177165
}
178166

179167

src/main/java/org/violetmoon/zetaimplforge/registry/ForgeZetaRegistry.java

+20-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
import com.google.common.collect.ArrayListMultimap;
44
import com.google.common.collect.Multimap;
55
import net.minecraft.core.Registry;
6+
import net.minecraft.core.registries.Registries;
67
import net.minecraft.resources.ResourceKey;
78
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;
911
import net.minecraftforge.registries.RegisterEvent;
12+
import org.violetmoon.zeta.mod.ZetaMod;
1013
import org.violetmoon.zeta.registry.ZetaRegistry;
1114
import org.violetmoon.zetaimplforge.ForgeZeta;
15+
import org.violetmoon.zetaimplforge.event.load.ForgeZRegister;
1216

1317
import java.util.Collection;
1418
import java.util.IdentityHashMap;
@@ -27,8 +31,6 @@ public class ForgeZetaRegistry extends ZetaRegistry {
2731

2832
public ForgeZetaRegistry(ForgeZeta z) {
2933
super(z);
30-
31-
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onRegisterEvent);
3234
}
3335

3436
//TODO: nuke
@@ -47,9 +49,22 @@ protected <T> void odRegisterInternal(T obj, ResourceLocation id, ResourceKey<Re
4749
defers.put(registry.location(), () -> obj);
4850
}
4951

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) {
5254
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+
5368
ResourceLocation registryRes = key.location();
5469
ResourceKey<Registry<Object>> keyGeneric = ResourceKey.createRegistryKey(registryRes);
5570

0 commit comments

Comments
 (0)