diff --git a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java index 25076b54c..96d19f6d4 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java +++ b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java @@ -69,7 +69,8 @@ public class OverdriveThatMatters { // LOGGER.info("Registered event handlers"); - Registry.createRegistry(); + // force Registry static initializer to be called + Registry.dummy(); CREATIVE_TAB = new CreativeModeTab("otm") { @Override diff --git a/src/main/java/ru/dbotthepony/mc/otm/Registry.java b/src/main/java/ru/dbotthepony/mc/otm/Registry.java index 723700a7a..a875a1a3c 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/Registry.java +++ b/src/main/java/ru/dbotthepony/mc/otm/Registry.java @@ -51,20 +51,10 @@ public class Registry { DAMAGE_EVENT_HORIZON.bypassMagic().bypassArmor(); } - private static ForgeRegistry> ANDROID_FEATURES; - private static ForgeRegistry> ANDROID_RESEARCH; - - public static ForgeRegistry> ANDROID_FEATURES() { - return ANDROID_FEATURES; - } - public static ForgeRegistry> ANDROID_RESEARCH() { - return ANDROID_RESEARCH; - } - - public static void createRegistry() { - if (ANDROID_FEATURES != null) - throw new IllegalStateException("Already has registry"); + public static final ForgeRegistry> ANDROID_FEATURES; + public static final ForgeRegistry> ANDROID_RESEARCH; + static { var builder = new RegistryBuilder>(); builder.setName(new ResourceLocation(OverdriveThatMatters.MOD_ID, "android_features")); @@ -80,6 +70,8 @@ public class Registry { ANDROID_RESEARCH = (ForgeRegistry>) builder2.create(); } + public static void dummy() {} + private static Class c(Class cls) { return (Class) cls; } record CrateProps(MaterialColor color, ResourceLocation name) { diff --git a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java index e2f64519c..2f3abf117 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java +++ b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java @@ -167,7 +167,7 @@ public class AndroidResearchBuilder { var list = new ArrayList>(); for (var entry : prerequisites) { - var get = Registry.ANDROID_RESEARCH().getValue(entry); + var get = Registry.ANDROID_RESEARCH.getValue(entry); if (get != null) { list.add(get); @@ -179,7 +179,7 @@ public class AndroidResearchBuilder { resolved_preq = List.copyOf(list); for (var entry : feature_results) { - var get = Registry.ANDROID_FEATURES().getValue(entry.id); + var get = Registry.ANDROID_FEATURES.getValue(entry.id); if (get != null) { resolved_features.add(new ResolvedFeature(get, entry.level, entry.callback)); diff --git a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchType.java b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchType.java index b9d8a4153..5e62ea80c 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchType.java +++ b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchType.java @@ -27,7 +27,7 @@ public class AndroidResearchType extends ForgeRegistr if (blocking == null) { var list = new ArrayList>(); - for (var type : Registry.ANDROID_RESEARCH()) { + for (var type : Registry.ANDROID_RESEARCH) { if (type.getBlockedBy().contains(this)) { list.add(type); } @@ -46,7 +46,7 @@ public class AndroidResearchType extends ForgeRegistr if (unlocks == null) { var list = new ArrayList>(); - for (var type : Registry.ANDROID_RESEARCH()) { + for (var type : Registry.ANDROID_RESEARCH) { if (type.getPrerequisites().contains(this)) { list.add(type); } diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java index 68bd35ef3..4b02b2043 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java @@ -237,7 +237,7 @@ public class AndroidCapability implements ICapabilityProvider, IAndroidCapabilit for (var _tag : features_nbt) { if (_tag instanceof CompoundTag tag) { - var get_feature = Registry.ANDROID_FEATURES().getValue(new ResourceLocation(tag.getString("id"))); + var get_feature = Registry.ANDROID_FEATURES.getValue(new ResourceLocation(tag.getString("id"))); if (get_feature != null && get_feature.isApplicable(this)) { var feature = get_feature.factory(this); diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java index cc699b278..3495ada3f 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java @@ -82,7 +82,7 @@ public class AndroidCapabilityPlayer extends AndroidCapability { for (var _tag : list) { if (_tag instanceof CompoundTag tag) { - var research = Registry.ANDROID_RESEARCH().getValue(new ResourceLocation(tag.getString("id"))); + var research = Registry.ANDROID_RESEARCH.getValue(new ResourceLocation(tag.getString("id"))); if (research != null) { var instance = research.factory(this); diff --git a/src/main/java/ru/dbotthepony/mc/otm/client/screen/AndroidStationScreen.java b/src/main/java/ru/dbotthepony/mc/otm/client/screen/AndroidStationScreen.java index ddb5178fa..193d0c478 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/client/screen/AndroidStationScreen.java +++ b/src/main/java/ru/dbotthepony/mc/otm/client/screen/AndroidStationScreen.java @@ -180,7 +180,7 @@ public class AndroidStationScreen extends MatteryScreen impl Arrays.fill(rows, null); next_x = 0; - for (var research : Registry.ANDROID_RESEARCH().getValues()) { + for (var research : Registry.ANDROID_RESEARCH.getValues()) { if (research.getPrerequisites().size() == 0) { dive(cap, research, 0); float max = 0; diff --git a/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidFeaturePacket.java b/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidFeaturePacket.java index c586cd775..fc76064a5 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidFeaturePacket.java +++ b/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidFeaturePacket.java @@ -26,7 +26,7 @@ public record AndroidFeaturePacket(boolean is_added, AndroidFeatureType featu public void write(FriendlyByteBuf buffer) { buffer.writeBoolean(is_added); - buffer.writeInt(Registry.ANDROID_FEATURES().getID(feature)); + buffer.writeInt(Registry.ANDROID_FEATURES.getID(feature)); } public void play(Supplier context) { @@ -50,7 +50,7 @@ public record AndroidFeaturePacket(boolean is_added, AndroidFeatureType featu public static AndroidFeaturePacket read(FriendlyByteBuf buffer) { var is_added = buffer.readBoolean(); - var feature = Objects.requireNonNull(Registry.ANDROID_FEATURES().getValue(buffer.readInt())); + var feature = Objects.requireNonNull(Registry.ANDROID_FEATURES.getValue(buffer.readInt())); return new AndroidFeaturePacket(is_added, feature); } diff --git a/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchPacket.java b/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchPacket.java index d2cf51d94..537aa052a 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchPacket.java +++ b/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchPacket.java @@ -20,12 +20,12 @@ public record AndroidResearchPacket(AndroidResearchType type, CompoundTag pay } public void write(FriendlyByteBuf buffer) { - buffer.writeInt(Registry.ANDROID_RESEARCH().getID(type)); + buffer.writeInt(Registry.ANDROID_RESEARCH.getID(type)); buffer.writeNbt(payload); } public static AndroidResearchPacket read(FriendlyByteBuf buffer) { - return new AndroidResearchPacket(Registry.ANDROID_RESEARCH().getValue(buffer.readInt()), buffer.readNbt()); + return new AndroidResearchPacket(Registry.ANDROID_RESEARCH.getValue(buffer.readInt()), buffer.readNbt()); } public void play(Supplier context) { diff --git a/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchRequestPacket.java b/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchRequestPacket.java index 3ca48ff60..8ca296e25 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchRequestPacket.java +++ b/src/main/java/ru/dbotthepony/mc/otm/network/android/AndroidResearchRequestPacket.java @@ -23,7 +23,7 @@ public record AndroidResearchRequestPacket(AndroidResearchType research) { } public void write(FriendlyByteBuf buffer) { - buffer.writeInt(Registry.ANDROID_RESEARCH().getID(research)); + buffer.writeInt(Registry.ANDROID_RESEARCH.getID(research)); } public void play(Supplier context) { @@ -40,6 +40,6 @@ public record AndroidResearchRequestPacket(AndroidResearchType research) { } public static AndroidResearchRequestPacket read(FriendlyByteBuf buffer) { - return new AndroidResearchRequestPacket(Objects.requireNonNull(Registry.ANDROID_RESEARCH().getValue(buffer.readInt()))); + return new AndroidResearchRequestPacket(Objects.requireNonNull(Registry.ANDROID_RESEARCH.getValue(buffer.readInt()))); } }