Вылет от создания предмета

29
0
Вылетает программа при создании предмета в виде любого инструмента/меча
Подозреваю виновата эта строка
public static final Item.ToolMaterial TOOL_MATERIAL = EnumHelper.addToolMaterial("tut:tool", 2, 256, 50.0F, 2.0F, 12); (помещена в класс регистрации предметов/текстур/моделей)
Но также прикрепляю код самого предмета:
package com.example.examplemod.Items;

import net.minecraft.item.ItemSword;

public class ItemBita extends ItemSword {
public ItemBita(String name, ToolMaterial material){
super(material);
this.setRegistryName("bita");
this.setUnlocalizedName("bita");
}
}
регистрация до метода:
@ObjectHolder("bita")
public static final ItemBita bita = null;
регистрация в главном методе по регистрации предметов:
e.getRegistry().register(new ItemBita("bita", TOOL_MATERIAL));
Прошу помочь!

Краш:
Java:
---- Minecraft Crash Report ----
// There are four lights!

Time: 9/3/20 9:36 PM
Description: Initializing game

java.lang.IllegalStateException: The ObjectHolder annotation cannot apply to a field that does not map to a registry. Ensure the registry was created during the RegistryEvent.NewRegistry event. (found : net.minecraft.item.Item$ToolMaterial at com.example.examplemod.Items.Reg.ItemsRegistry.ItemsRegistry.TOOL_MATERIAL)
    at net.minecraftforge.registries.ObjectHolderRef.<init>(ObjectHolderRef.java:85)
    at net.minecraftforge.registries.ObjectHolderRegistry.scanClassForFields(ObjectHolderRegistry.java:153)
    at net.minecraftforge.registries.ObjectHolderRegistry.scanTarget(ObjectHolderRegistry.java:115)
    at net.minecraftforge.registries.ObjectHolderRegistry.findObjectHolders(ObjectHolderRegistry.java:68)
    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:626)
    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252)
    at net.minecraft.client.Minecraft.init(Minecraft.java:467)
    at net.minecraft.client.Minecraft.run(Minecraft.java:378)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraftforge.legacydev.Main.start(Main.java:86)
    at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
    at net.minecraftforge.registries.ObjectHolderRef.<init>(ObjectHolderRef.java:85)
    at net.minecraftforge.registries.ObjectHolderRegistry.scanClassForFields(ObjectHolderRegistry.java:153)
    at net.minecraftforge.registries.ObjectHolderRegistry.scanTarget(ObjectHolderRegistry.java:115)
    at net.minecraftforge.registries.ObjectHolderRegistry.findObjectHolders(ObjectHolderRegistry.java:68)
    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:626)
    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252)
    at net.minecraft.client.Minecraft.init(Minecraft.java:467)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:378)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraftforge.legacydev.Main.start(Main.java:86)
    at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)

-- System Details --
Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_251, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 544568160 bytes (519 MB) / 749731840 bytes (715 MB) up to 1905262592 bytes (1817 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.42 Powered by Forge 14.23.5.2854 5 mods loaded, 5 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

    | State | ID         | Version      | Source                                                             | Signature |
    |:----- |:---------- |:------------ |:------------------------------------------------------------------ |:--------- |
    | LC    | minecraft  | 1.12.2       | minecraft.jar                                                      | None      |
    | LC    | mcp        | 9.42         | minecraft.jar                                                      | None      |
    | LC    | FML        | 8.0.99.99    | forge-1.12.2-14.23.5.2854_mapped_snapshot_20171003-1.12-recomp.jar | None      |
    | LC    | forge      | 14.23.5.2854 | forge-1.12.2-14.23.5.2854_mapped_snapshot_20171003-1.12-recomp.jar | None      |
    | LC    | examplemod | 1.0          | modding123.main                                                    | None      |

    Loaded coremods (and transformers):
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 452.06' Renderer: 'GeForce GTX 1650/PCIe/SSE2'
    Launched Version: ${MC_VERSION}
    LWJGL: 2.9.4
    OpenGL: GeForce GTX 1650/PCIe/SSE2 GL version 4.6.0 NVIDIA 452.06, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs:
    Current Language: English (US)
    Profiler Position: N/A (disabled)
    CPU: 4x Intel(R) Core(TM) i5-2310 CPU @ 2.90GHz
 
29
0
нет, дело далеко не в этом, я указываю свой modid)
Вылетает игра, да
 
137
7
37
Мне не понятно что это за аннотация ObjectHolder, но мне кажется странным, что ты при создании объекта класса ItemBita инициализируешь объект как null, а при регистрации вообще анонимный объект используешь
 
29
0
Мне не понятно что это за аннотация ObjectHolder, но мне кажется странным, что ты при создании объекта класса ItemBita инициализируешь объект как null, а при регистрации вообще анонимный объект используешь
В учебнике так и регистрируются, поэтомц в этом нет проблем, тк при создании этого предмета (не меча) все норм
Скинь полностью код всех классов.
Какой смысл, если вылетает игра после изменения назначения предмета(то есть делать его обычным предметом/мечом/инструментом
 
3,005
192
592
29
0
Чет странная проблема вообще, даже не знаю что делать с ней :/
 
29
0
Я знаю как это работает, но человек не хочет скидывать полный код, надо пробовать то, что есть.
А какой смысл в полном коде, как я и объяснял
что меняю с обычного предмета на меч - вылет, зачем тебе фулл код?)
Тут проблема в материале(тул материал) либо в самом предмете
я все что могло помочь скинул :/
 
153
21
41
А какой смысл в полном коде, как я и объяснял
что меняю с обычного предмета на меч - вылет, зачем тебе фулл код?)
Тут проблема в материале(тул материал) либо в самом предмете
я все что могло помочь скинул :/
То, что ты скинул должно работать, хотя я даже не вижу в каком эвенте ты регистрируешь предмет. Если тут проблем нет, то значит где то в другом месте.
 
29
0
То, что ты скинул должно работать, хотя я даже не вижу в каком эвенте ты регистрируешь предмет. Если тут проблем нет, то значит где то в другом месте.
я Регистрирую предмет вот так e.getRegistry().register(new ItemBita("bita", TOOL_MATERIAL));
Про какой эвент ты говоришь я вообще не понимаю(еслои евент метода - Сабскрайб эвент)
 
Сверху