- 67
- 4
- 7
При запуске runClient выходит исключение
Итак, предисловие и после чего это произошло. Я хотел переделать регистрацию айтемов из такого:
В такое:
Вроде бы это эквиваленто предыдущему варианту, но оно выдает вышепоказанную ошибку.
Что делать?
Майн висит на этой ошибке

Caused by: java.lang.IllegalStateException: Registry is already frozen
Java:
Details:
Caused by 0: java.lang.ExceptionInInitializerError
at ru.modcreator.mod.item.RegisterManagerItems.<clinit>(RegisterManagerItems.java:27) ~[%23196!/:?] {re:classloading}
at ru.modcreator.mod.Skills.<init>(Skills.java:40) ~[%23196!/:?] {re:classloading}
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] {}
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] {}
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] {}
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] {}
at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:70) ~[javafmllanguage-1.20.1-47.3.0.jar%23192!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:124) ~[fmlcore-1.20.1-47.3.0.jar%23195!/:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {}
Итак, предисловие и после чего это произошло. Я хотел переделать регистрацию айтемов из такого:
RegisterManagerItems:
public static final RegistryObject<Item> EXAMPLE_SWORD = ITEMS.register("example_sword",
() -> new ExampleSword(ModTiers.TEST, 1, -2.4f,
new Item.Properties().rarity(Rarity.UNCOMMON)));
В такое:
RegisterManagerItems:
public static final RegistryObject<Item> EXAMPLE_SWORD = ITEMS.register(ExampleSword.INSTANCE.getLocalizedName(), () -> ExampleSword.INSTANCE);
ExampleSword:
public static final ExampleSword INSTANCE = new ExampleSword(ModTiers.TEST, 1, -2.4f,
new Item.Properties().rarity(Rarity.UNCOMMON));
public String getLocalizedName(){
return "example_sword";
}
Вроде бы это эквиваленто предыдущему варианту, но оно выдает вышепоказанную ошибку.
Что делать?
Майн висит на этой ошибке

