Comment créer de nouvelles dalles



  • Quand je dis qu'il faut override la méthode, ça veut dire réécrire la méthode et accessoirement mettre l'annotation @Override pour être sûr de ne pas s'être trompé dans la signature de la fonction. (ps pour ces deux fonctions, il y a des explications et un exemple ici)


  • Administrateurs

    @'huggets':

    Ok mais ducoup je ne vois pas a quoi ça sert d'override les deux méthodes si ça ne fait rien au code

    Attention, tu confonds l'action d'override et l'annotation @override (ce n'est pas la même chose).
    Le fait d'override une fonction (passer outre en français) consiste à réécrire l'action d'une fonction.

    Prenons deux classes, la classe Block et la classe BlockSlab (qui hérite de Block) pour rester dans le thème de cette discussion.
    La classe Block contient la méthode suivante :

    public int getMetaFromState(IBlockState state)
        {
            if (state.getPropertyKeys().isEmpty())
            {
                return 0;
            }
            else
            {
                throw new IllegalArgumentException("Don't know how to convert " + state + " back into data…");
            }
        }
    

    BlockSlab va également hériter de cette fonction, qui réalisera la même action.
    Donc si j'appelle la méthode getMetaFromState de Block ou de BlockSlab, dans les deux cas cela fera la même chose (c'est à dire retourner le metadata 0 si le blockstate n'a pas de propriété, déclenché une erreur sinon car il ne sait pas comment convertir les états en metadata).

    Si maintenant je mets dans ma classe BlockSlab la fonction suivante :

    public int getMetaFromState(IBlockState state)
        {
            int i = 0;
            i = i | ((BlockStoneSlab.EnumType)state.getValue(VARIANT)).getMetadata();
    
            if (this.isDouble())
            {
                if (((Boolean)state.getValue(SEAMLESS)).booleanValue())
                {
                    i |= 8;
                }
            }
            else if (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP)
            {
                i |= 8;
            }
    
            return i;
        }
    

    qui a le même nom et la même signature (c'est aussi une fonction qui retourne un int et qui prend en argument un IBlockState) alors lorsque je vais appeler getMetaFromState de BlockSlab cela va cette fois-ci utiliser cette fonction et non celle qui se trouve dans Block. J'ai donc autre passé la méthode getMetaFromState de la classe Block.

    L'annotation @Override permet de s'assurer que l'on a pas fait d'erreur. Par exemple si en voulant outre passé la méthode getMetaFromState je fais ceci :

    public String getMetaFromState(IBlockState state)
        {
            return "Bonjour";
        }
    

    Cela ne fonctionnera pas car la signature n'est pas bonne (le type de retour est String et non int comme dans Block.java). Et je ne vais pas forcement me rendre compte tout de suite de l'erreur. Idem si j'avais par exemple écrit par mégarde public int getMetaFromStat(IBlockState state) (sans le e de la fin).

    @Override va permettre demander au compilateur de déclencher une erreur si la fonction n'existe pas dans la classe mère (ou dans la classe mère de la classe mère, etc.).

       @Override
        public String getMetaFromState(IBlockState state) // erreur, String getMetaFromState(IBlockState) n'existe pas dans l'héritage
        {
            return "Bonjour";
        }
    

    Cela est très pratique pour éviter les erreurs et cela l'est également lors des mises à jours de Minecraft (cela permet de voir plus vites quelles méthodes n'existent plus ou lesquels ont désormais une signature différente).



  • :::

    @'robin4002':

    @'huggets':

    Ok mais ducoup je ne vois pas a quoi ça sert d'override les deux méthodes si ça ne fait rien au code

    Attention, tu confonds l'action d'override et l'annotation @override (ce n'est pas la même chose).
    Le fait d'override une fonction (passer outre en français) consiste à réécrire l'action d'une fonction.

    Prenons deux classes, la classe Block et la classe BlockSlab (qui hérite de  Block) pour rester dans le thème de cette discussion.
    La classe Block contient la méthode suivante :

    public int getMetaFromState(IBlockState state)
        {
            if (state.getPropertyKeys().isEmpty())
            {
                return 0;
            }
            else
            {
                throw new IllegalArgumentException("Don't know how to convert " + state + " back into data…");
            }
        }
    

    BlockSlab va également hériter de cette fonction, qui réalisera la même action.
    Donc si j'appelle la méthode getMetaFromState de Block ou de BlockSlab, dans les deux cas cela fera la même chose (c'est à dire retourner le metadata 0 si le blockstate n'a pas de propriété, déclenché une erreur sinon car il ne sait pas comment convertir les états en metadata).

    Si maintenant je mets dans ma classe BlockSlab la fonction suivante :

    public int getMetaFromState(IBlockState state)
        {
            int i = 0;
            i = i | ((BlockStoneSlab.EnumType)state.getValue(VARIANT)).getMetadata();
    
            if (this.isDouble())
            {
                if (((Boolean)state.getValue(SEAMLESS)).booleanValue())
                {
                    i |= 8;
                }
            }
            else if (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP)
            {
                i |= 8;
            }
    
            return i;
        }
    

    qui a le même nom et la même signature (c'est aussi une fonction qui retourne un int et qui prend en argument un IBlockState) alors lorsque je vais appeler getMetaFromState de BlockSlab cela va cette fois-ci utiliser cette fonction et non celle qui se trouve dans Block. J'ai donc autre passé la méthode getMetaFromState de la classe Block.

    L'annotation @Override permet de s'assurer que l'on a pas fait d'erreur. Par exemple si en voulant outre passé la méthode getMetaFromState je fais ceci :

    public String getMetaFromState(IBlockState state)
        {
            return "Bonjour";
        }
    

    Cela ne fonctionnera pas car la signature n'est pas bonne (le type de retour est String et non int comme dans Block.java). Et je ne vais pas forcement me rendre compte tout de suite de l'erreur. Idem si j'avais par exemple écrit par mégarde public int getMetaFromStat(IBlockState state) (sans le e de la fin).

    @Override va permettre demander au compilateur de déclencher une erreur si la fonction n'existe pas dans la classe mère (ou dans la classe mère de la classe mère, etc.).

       @Override
        public String getMetaFromState(IBlockState state) // erreur, String getMetaFromState(IBlockState) n'existe pas dans l'héritage
        {
            return "Bonjour";
        }
    

    Cela est très pratique pour éviter les erreurs et cela l'est également lors des mises à jours de Minecraft (cela permet de voir plus vites quelles méthodes n'existent plus ou lesquels ont désormais une signature différente).

    :::
    Merci des explications 🙂 Je comprends maintenant la différence



  • J'en ai marre encore une erreur 😢

    –-- Minecraft Crash Report ----
    // Oops.
    
    Time: 5/6/18 5:41 PM
    Description: Initializing game
    
    java.lang.RuntimeException: One of more entry values did not copy to the correct id. Check log for details!
    at net.minecraftforge.registries.ForgeRegistry.sync(ForgeRegistry.java:543)
    at net.minecraftforge.registries.GameData.loadRegistry(GameData.java:490)
    at net.minecraftforge.registries.GameData.freezeData(GameData.java:225)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:730)
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:352)
    at net.minecraft.client.Minecraft.init(Minecraft.java:581)
    at net.minecraft.client.Minecraft.run(Minecraft.java:421)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:25)
    
    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.ForgeRegistry.sync(ForgeRegistry.java:543)
    at net.minecraftforge.registries.GameData.loadRegistry(GameData.java:490)
    at net.minecraftforge.registries.GameData.freezeData(GameData.java:225)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:730)
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:352)
    at net.minecraft.client.Minecraft.init(Minecraft.java:581)
    
    -- Initialization --
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:421)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:25)
    
    -- System Details --
    Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_161, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 588246200 bytes (560 MB) / 853016576 bytes (813 MB) up to 1892155392 bytes (1804 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.42 Powered by Forge 14.23.3.2655 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 |
    |:------ |:--------- |:------------ |:-------------------------------- |:--------- |
    | UCHIJA | minecraft | 1.12.2       | minecraft.jar                    | None      |
    | UCHIJA | mcp       | 9.42         | minecraft.jar                    | None      |
    | UCHIJA | FML       | 8.0.99.99    | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
    | UCHIJA | forge     | 14.23.3.2655 | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
    | UCHIJA | mt        | 0.0.0.1      | bin                              | None      |
    
    Loaded coremods (and transformers):
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.31' Renderer: 'GeForce GTX 950M/PCIe/SSE2'
    Launched Version: 1.12.2
    LWJGL: 2.9.4
    OpenGL: GeForce GTX 950M/PCIe/SSE2 GL version 4.6.0 NVIDIA 397.31, 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: Français (France)
    Profiler Position: N/A (disabled)
    CPU: 4x Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
    

    Je crois qu'il y a un problème d'ID mais je ne sais pas comment le régler...
    Est-ce que vous voulez voir mon code ?


  • Administrateurs

    One of more entry values did not copy to the correct id. Check log for details!

    La ce sont surtout les logs qui serait utile pour comprendre l'erreur (tout ce qu'il y a dans la console d'eclipse lorsque tu lances ton jeu).



  • @'robin4002':

    One of more entry values did not copy to the correct id. Check log for details!

    La ce sont surtout les logs qui serait utile pour comprendre l'erreur (tout ce qu'il y a dans la console d'eclipse lorsque tu lances ton jeu).

    Je pensait que ça parlait des crashes logs…
    Sinon voilà ce que j'ai dans la console d'eclipse : ( Il y a mit des erreurs au niveau des textures des escaliers mais ce n'est pas grave. C'est juste un bug d'eclipse car quand je lance le jeu avec la commande gradlew runClient dans powershell, tout fonctionne)

    2018-05-07 18:13:39,076 main WARN Disabling terminal, you're running in an unsupported environment.
    [18:13:39] [main/INFO] [GradleStart]: username: hujalobill@hotmail.fr
    [18:13:39] [main/INFO] [GradleStart]: Extra: []
    [18:13:39] [main/INFO] [GradleStart]: Password found, attempting login
    [18:13:39] [main/INFO] [com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication]: Logging in with username & password
    [18:13:40] [main/INFO] [GradleStart]: Login Succesful!
    [18:13:40] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, [], –assetsDir, C:/Users/hujal/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --userType, mojang, --accessToken{REDACTED}, --version, 1.12.2, --uuid, 74914fee23f84c50874a432158f0778a, --username, huggets, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
    [18:13:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
    [18:13:40] [main/INFO] [FML]: Forge Mod Loader version 14.23.3.2655 for Minecraft 1.12.2 loading
    [18:13:40] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_161, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_161
    [18:13:40] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
    [18:13:40] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin), we are in deobf and it's a forge core plugin
    [18:13:40] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin
    [18:13:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
    [18:13:40] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
    [18:13:40] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
    [18:13:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [18:13:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [18:13:43] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
    [18:13:43] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [18:13:43] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [18:13:43] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [18:13:43] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
    [18:13:43] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
    [18:13:43] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
    [18:13:44] [main/INFO] [net.minecraft.client.Minecraft]: Setting user: huggets
    [18:13:48] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: lastServer:
    [18:13:48] [main/INFO] [net.minecraft.client.Minecraft]: LWJGL Version: 2.9.4
    [18:13:50] [main/INFO] [FML]: – System Details --
    Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_161, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 362176144 bytes (345 MB) / 535822336 bytes (511 MB) up to 1892155392 bytes (1804 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML:
    Loaded coremods (and transformers):
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.31' Renderer: 'GeForce GTX 950M/PCIe/SSE2'
    [18:13:50] [main/INFO] [FML]: MinecraftForge v14.23.3.2655 Initialized
    [18:13:50] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
    [18:13:50] [main/INFO] [FML]: Replaced 1036 ore ingredients
    [18:13:50] [main/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
    [18:13:50] [main/INFO] [FML]: Searching C:\Users\hujal\Documents\Minecraft\modding\MORETHINGS-refait\forge-1.12.2-14.23.3.2655-mdk\run\mods for mods
    [18:13:51] [main/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
    [18:13:51] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mt] at CLIENT
    [18:13:51] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mt] at SERVER
    [18:13:52] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 149222357 nanos
    [18:13:52] [main/INFO] [net.minecraft.client.resources.SimpleReloadableResourceManager]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:More Things
    [18:13:52] [main/INFO] [FML]: Processing ObjectHolder annotations
    [18:13:53] [main/INFO] [FML]: Found 1168 ObjectHolder annotations
    [18:13:53] [main/INFO] [FML]: Identifying ItemStackHolder annotations
    [18:13:53] [main/INFO] [FML]: Found 0 ItemStackHolder annotations
    [18:13:53] [main/INFO] [FML]: Configured a dormant chunk cache size of 0
    [18:13:53] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
    [18:13:53] [main/INFO] [FML]: Applying holder lookups
    [18:13:53] [main/INFO] [FML]: Holder lookups applied
    [18:13:53] [main/INFO] [FML]: Applying holder lookups
    [18:13:53] [main/INFO] [FML]: Holder lookups applied
    [18:13:53] [main/INFO] [FML]: Applying holder lookups
    [18:13:53] [main/INFO] [FML]: Holder lookups applied
    [18:13:53] [main/INFO] [FML]: Applying holder lookups
    [18:13:53] [main/INFO] [FML]: Holder lookups applied
    [18:13:53] [main/INFO] [FML]: Injecting itemstacks
    [18:13:53] [main/INFO] [FML]: Itemstack injection complete
    [18:13:53] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Found status: UP_TO_DATE Target: null
    [18:14:14] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Starting up SoundSystem…
    [18:14:14] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: Initializing LWJGL OpenAL
    [18:14:14] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
    [18:14:14] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: OpenAL initialized.
    [18:14:15] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Sound engine started
    [18:14:21] [main/ERROR] [FML]: Could not load vanilla model parent 'mt:block/copper_slab' for 'net.minecraft.client.renderer.block.model.ModelBlock@20347d47
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:block/copper_slab with loader VanillaLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModelOrLogError(ModelLoaderRegistry.java:203) [ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader$VanillaModelWrapper.getTextures(ModelLoader.java:405) [ModelLoader$VanillaModelWrapper.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:163) [ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:314) [ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) [ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:164) [ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.io.FileNotFoundException: mt:models/block/copper_slab.json
    at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:130) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:880) ~[ModelLoader$VanillaLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 23 more
    [18:14:21] [main/INFO] [FML]: Max texture size: 16384
    [18:14:21] [main/INFO] [net.minecraft.client.renderer.texture.TextureMap]: Created: 512x512 textures-atlas
    [18:14:22] [main/ERROR] [FML]: Exception loading model for variant mt:gold_stairs#facing=south,half=bottom,shape=outer_right for blockstate "mt:gold_stairs[facing=south,half=bottom,shape=outer_right]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:gold_stairs#facing=south,half=bottom,shape=outer_right with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:14:22] [main/ERROR] [FML]: Exception loading blockstate for the variant mt:gold_stairs#facing=south,half=bottom,shape=outer_right:
    java.lang.Exception: Could not load model definition for variant mt:gold_stairs
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model mt:blockstates/gold_stairs.json
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:228) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    Caused by: java.io.FileNotFoundException: mt:blockstates/gold_stairs.json
    at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:104) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:79) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:221) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    [18:14:22] [main/ERROR] [FML]: Exception loading model for variant mt:emerald_stairs#facing=north,half=top,shape=outer_left for blockstate "mt:emerald_stairs[facing=north,half=top,shape=outer_left]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:emerald_stairs#facing=north,half=top,shape=outer_left with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:14:22] [main/ERROR] [FML]: Exception loading blockstate for the variant mt:emerald_stairs#facing=north,half=top,shape=outer_left:
    java.lang.Exception: Could not load model definition for variant mt:emerald_stairs
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model mt:blockstates/emerald_stairs.json
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:228) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    Caused by: java.io.FileNotFoundException: mt:blockstates/emerald_stairs.json
    at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:104) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:79) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:221) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    [18:14:22] [main/ERROR] [FML]: Exception loading model for variant mt:emerald_stairs#facing=east,half=top,shape=outer_left for blockstate "mt:emerald_stairs[facing=east,half=top,shape=outer_left]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:emerald_stairs#facing=east,half=top,shape=outer_left with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:14:22] [main/ERROR] [FML]: Exception loading model for variant mt:iron_stairs#facing=south,half=bottom,shape=straight for blockstate "mt:iron_stairs[facing=south,half=bottom,shape=straight]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:iron_stairs#facing=south,half=bottom,shape=straight with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:14:22] [main/ERROR] [FML]: Exception loading blockstate for the variant mt:iron_stairs#facing=south,half=bottom,shape=straight:
    java.lang.Exception: Could not load model definition for variant mt:iron_stairs
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model mt:blockstates/iron_stairs.json
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:228) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    Caused by: java.io.FileNotFoundException: mt:blockstates/iron_stairs.json
    at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:104) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:79) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:221) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    [18:14:22] [main/FATAL] [FML]: Suppressed additional 162 model loading errors for domain mt
    [18:14:23] [main/INFO] [FML]: Applying holder lookups
    [18:14:23] [main/INFO] [FML]: Holder lookups applied
    [18:14:23] [main/INFO] [FML]: Injecting itemstacks
    [18:14:23] [main/INFO] [FML]: Itemstack injection complete
    [18:14:23] [main/WARN] [FML]: Registry Block: Override did not have an associated owner object. Name: mt:copper_slab Value: Block{null}
    [18:14:23] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: –-- Minecraft Crash Report ----
    // Don't be sad, have a hug! <3
    
    Time: 5/7/18 6:14 PM
    Description: Initializing game
    
    java.lang.RuntimeException: One of more entry values did not copy to the correct id. Check log for details!
    at net.minecraftforge.registries.ForgeRegistry.sync(ForgeRegistry.java:543)
    at net.minecraftforge.registries.GameData.loadRegistry(GameData.java:490)
    at net.minecraftforge.registries.GameData.freezeData(GameData.java:225)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:730)
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:352)
    at net.minecraft.client.Minecraft.init(Minecraft.java:581)
    at net.minecraft.client.Minecraft.run(Minecraft.java:421)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:25)
    
    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.ForgeRegistry.sync(ForgeRegistry.java:543)
    at net.minecraftforge.registries.GameData.loadRegistry(GameData.java:490)
    at net.minecraftforge.registries.GameData.freezeData(GameData.java:225)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:730)
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:352)
    at net.minecraft.client.Minecraft.init(Minecraft.java:581)
    
    -- Initialization --
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:421)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:25)
    
    -- System Details --
    Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_161, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 390788808 bytes (372 MB) / 796393472 bytes (759 MB) up to 1892155392 bytes (1804 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.42 Powered by Forge 14.23.3.2655 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 |
    |:------ |:--------- |:------------ |:-------------------------------- |:--------- |
    | UCHIJA | minecraft | 1.12.2       | minecraft.jar                    | None      |
    | UCHIJA | mcp       | 9.42         | minecraft.jar                    | None      |
    | UCHIJA | FML       | 8.0.99.99    | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
    | UCHIJA | forge     | 14.23.3.2655 | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
    | UCHIJA | mt        | 0.0.0.1      | bin                              | None      |
    
    Loaded coremods (and transformers):
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.31' Renderer: 'GeForce GTX 950M/PCIe/SSE2'
    Launched Version: 1.12.2
    LWJGL: 2.9.4
    OpenGL: GeForce GTX 950M/PCIe/SSE2 GL version 4.6.0 NVIDIA 397.31, 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: Français (France)
    Profiler Position: N/A (disabled)
    CPU: 4x Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
    [18:14:23] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\hujal\Documents\Minecraft\modding\MORETHINGS-refait\forge-1.12.2-14.23.3.2655-mdk\run\.\crash-reports\crash-2018-05-07_18.14.23-client.txt
    AL lib: (EE) alc_cleanup: 1 device not closed
    

    [18:14:23] [main/WARN] [FML]: Registry Block: Override did not have an associated owner object. Name: mt:copper_slab Value: Block{null}

    Je pense que ça vient de là, mais je ne sais pas comment régler le problème 😐


  • Administrateurs

    En effet c'est ça, il y a un soucis avec copper_slab.
    Tu peux envoyer la classe où sont enregistré et déclaré tes blocs ?



  • @'Robin4002':

    En effet c'est ça, il y a un soucis avec copper_slab.
    Tu peux envoyer la classe où sont enregistré et déclaré tes blocs ?

    La voici : ```java
    package com.huggets.mt.blocks;

    import com.huggets.mt.MoreThings;

    import net.minecraft.block.Block;
    import net.minecraft.block.BlockButton;
    import net.minecraft.block.BlockOre;
    import net.minecraft.block.BlockStairs;
    import net.minecraft.block.material.Material;
    import net.minecraft.init.Blocks;

    public class MoreThingsBlocks
    {
        // COPPER
        public static final Block COPPER_BLOCK = new CopperBlock(Material.IRON);
        public static final BlockStairs COPPER_STAIRS = new CopperStairs(COPPER_BLOCK.getDefaultState());
        public static final BlockOre COPPER_ORE = new CopperOre();
        public static final BlockButton COPPER_BUTTON = new CopperButton();

    public static final BlockSlab DOUBLE_COPPER_SLAB = new DoubleCopperSlab();
        public static final BlockSlab HALF_COPPER_SLAB = new HalfCopperSlab();

    // TIN
        public static final Block TIN_BLOCK = new TinBlock(Material.IRON);
        public static final BlockStairs TIN_STAIRS = new TinStairs(TIN_BLOCK.getDefaultState());
        public static final BlockOre TIN_ORE = new TinOre();
        public static final BlockButton TIN_BUTTON = new TinButton();
        // VANILLA
        public static final BlockStairs IRON_STAIRS = new IronStairs(Blocks.IRON_BLOCK.getDefaultState());
        public static final BlockStairs GOLD_STAIRS = new GoldStairs(Blocks.IRON_BLOCK.getDefaultState());
        public static final BlockStairs DIAMOND_STAIRS = new DiamondStairs(Blocks.DIAMOND_BLOCK.getDefaultState());
        public static final BlockStairs EMERALD_STAIRS = new EmeraldStairs(Blocks.EMERALD_BLOCK.getDefaultState());

    public static void setBlockName(Block block, String name)
        {
            block.setRegistryName(MoreThings.MODID, name).setUnlocalizedName(MoreThings.MODID + "." + name);
        }
    }

    
    Voilà mais je pense qu'il faudra que je donne aussi la classe des dalles

  • Administrateurs

    Il n'y a que l’initialisation ici, pas l'enregistrement.
    Tu utilises ta fonction setBlockName où ?



  • @'robin4002':

    Il n'y a que l’initialisation ici, pas l'enregistrement.
    Tu utilises ta fonction setBlockName où ?

    Je mets cette méthode dans le constructeur de la classe de mon bloc.
    Et j'enregistre mon bloc dans une fonction registerAll de la classe RegisterHandler en écrivant classeBlock.CONSTANTE_BLOCK comme c'est mis dans le tutoriel sur les blocs


  • Administrateurs

    Et tu as bien enregistré tous les blocs ?
    Je trouve ça assez étrange de se retrouver avec un nom dans le registre sans avoir de bloc associé.
    Tu peux envoyer le constructeur du bloc en question ?



  • @'robin4002':

    Et tu as bien enregistré tous les blocs ?
    Je trouve ça assez étrange de se retrouver avec un nom dans le registre sans avoir de bloc associé.
    Tu peux envoyer le constructeur du bloc en question ?

    J'envoie carrément toute la classe car j'ai un peu recopié sur la classe BlockStoneSlab :

    package com.huggets.mt.blocks;
    
    import com.huggets.mt.MoreThings;
    import com.huggets.mt.material.MoreThingsMapColor;
    
    import net.minecraft.block.BlockSlab;
    import net.minecraft.block.material.Material;
    import net.minecraft.block.properties.IProperty;
    import net.minecraft.block.properties.PropertyBool;
    import net.minecraft.block.properties.PropertyEnum;
    import net.minecraft.block.state.BlockStateContainer;
    import net.minecraft.block.state.IBlockState;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.IStringSerializable;
    
    public abstract class CopperSlab extends BlockSlab
    {
        public static final String NAME = "copper_slab";
        public static final PropertyBool SEAMLESS = PropertyBool.create("seamless");
        public static final PropertyEnum <copperslab.enumtype>VARIANT = PropertyEnum.<copperslab.enumtype>create("variant",CopperSlab.EnumType.class);
    
        public CopperSlab()
        {
            super(Material.IRON);
            IBlockState iblockstate = this.blockState.getBaseState();
    
            if (this.isDouble())
            {
                iblockstate = iblockstate.withProperty(SEAMLESS, Boolean.valueOf(false));
            } else
            {
                iblockstate = iblockstate.withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM);
            }
    
            this.setDefaultState(iblockstate.withProperty(VARIANT, CopperSlab.EnumType.COPPER));
            this.setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
    
            MoreThingsBlocks.setBlockName(this, NAME);
            setCreativeTab(MoreThings.MORETHINGSCREATIVETABS);
        }
    
        @Override
        public String getUnlocalizedName(int meta)
        {
            return null;
        }
    
        @Override
        public IProperty getVariantProperty()
        {
            return null;
        }
    
        @Override
        public Comparable getTypeForItem(ItemStack stack)
        {
            return null;
        }
    
        protected BlockStateContainer createBlockState()
        {
            return this.isDouble() ? new BlockStateContainer(this, new IProperty[] { SEAMLESS, VARIANT }) : new BlockStateContainer(this, new IProperty[] { HALF, VARIANT });
        }
    
        public static enum EnumType implements IStringSerializable
        {
            COPPER(0, MoreThingsMapColor.COPPER, "copper");
    
            private static final EnumType[] META_LOOKUP = new CopperSlab.EnumType[values().length];
            private final int meta;
            private final MoreThingsMapColor mapColor;
            private final String name;
            private final String unlocalizedName;
    
            private EnumType(int p_i46381_3_, MoreThingsMapColor p_i46381_4_, String p_i46381_5_)
            {
                this(p_i46381_3_, p_i46381_4_, p_i46381_5_, p_i46381_5_);
            }
    
            private EnumType(int p_i46382_3_, MoreThingsMapColor p_i46382_4_, String p_i46382_5_, String p_i46382_6_)
            {
                this.meta = p_i46382_3_;
                this.mapColor = p_i46382_4_;
                this.name = p_i46382_5_;
                this.unlocalizedName = p_i46382_6_;
            }
    
            public int getMetadata()
            {
                return this.meta;
            }
    
            public MoreThingsMapColor getMapColor()
            {
                return this.mapColor;
            }
    
            public String toString()
            {
                return this.name;
            }
    
            public static CopperSlab.EnumType byMetadata(int meta)
            {
                if (meta < 0 || meta >= META_LOOKUP.length)
                {
                    meta = 0;
                }
    
                return META_LOOKUP[meta];
            }
    
            public String getName()
            {
                return this.name;
            }
    
            public String getUnlocalizedName()
            {
                return this.unlocalizedName;
            }
    
            static
            {
                for (CopperSlab.EnumType copperslab$enumtype : values())
                {
                    META_LOOKUP[copperslab$enumtype.getMetadata()] = copperslab$enumtype;
                }
            }
    
        }
    
         /**
         * Convert the given metadata into a BlockState for this Block
         */
        @Override
        public IBlockState getStateFromMeta(int meta)
        {
            IBlockState iblockstate = this.getDefaultState().withProperty(VARIANT, CopperSlab.EnumType.byMetadata(meta & 7));
    
            if (this.isDouble())
            {
                iblockstate = iblockstate.withProperty(SEAMLESS, Boolean.valueOf((meta & 8) != 0));
            }
            else
            {
                iblockstate = iblockstate.withProperty(HALF, (meta & 8) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP);
            }
    
            return iblockstate;
        }
    
        /**
         * Convert the BlockState into the correct metadata value
         */
        @Override
        public int getMetaFromState(IBlockState state)
        {
            int i = 0;
            i = i | ((CopperSlab.EnumType)state.getValue(VARIANT)).getMetadata();
    
            if (this.isDouble())
            {
                if (((Boolean)state.getValue(SEAMLESS)).booleanValue())
                {
                    i |= 8;
                }
            }
            else if (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP)
            {
                i |= 8;
            }
    
            return i;
        }
    }
    
    ```</copperslab.enumtype></copperslab.enumtype>

  • Administrateurs

    Je comprends mieux le soucis.
    Ce constructeur est commun a tes deux blocs, du-coup tu te retrouve avec les deux blocs (la moitié de dalle et la complète) ayant le même nom de registre (copper_slab)

    Il faudrait donner un nom différent à ces deux blocs.



  • @'robin4002':

    Je comprends mieux le soucis.
    Ce constructeur est commun a tes deux blocs, du-coup tu te retrouve avec les deux blocs (la moitié de dalle et la complète) ayant le même nom de registre (copper_slab)

    Il faudrait donner un nom différent à ces deux blocs.

    Ok je change le nom de registre. Mais faut-il mettre un nom non localisé différents pour les deux blocs ou je peux laisser copper_slab ?


  • Administrateurs

    Il faut deux noms de registre différent. Pour le nom non localisé ce n'est pas un soucis.

    C'est pour ça que perso je préfère garder ces deux fonctions à part et non les grouper en une.



  • La création de dalles m'en fais voir de toute les couleurs, j'ai beau chercher, modifier ou refaire, je ne sais pas d'où viens mon erreur  😢  :

    2018-05-09 18:08:25,547 main WARN Disabling terminal, you're running in an unsupported environment.
    [18:08:25] [main/INFO] [GradleStart]: username: hujalobill@hotmail.fr
    [18:08:25] [main/INFO] [GradleStart]: Extra: []
    [18:08:25] [main/INFO] [GradleStart]: Password found, attempting login
    [18:08:25] [main/INFO] [com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication]: Logging in with username & password
    [18:08:26] [main/INFO] [GradleStart]: Login Succesful!
    [18:08:26] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, [], –assetsDir, C:/Users/hujal/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --userType, mojang, --accessToken{REDACTED}, --version, 1.12.2, --uuid, 74914fee23f84c50874a432158f0778a, --username, huggets, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
    [18:08:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
    [18:08:26] [main/INFO] [FML]: Forge Mod Loader version 14.23.3.2655 for Minecraft 1.12.2 loading
    [18:08:26] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_161, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_161
    [18:08:26] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
    [18:08:26] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin), we are in deobf and it's a forge core plugin
    [18:08:26] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin
    [18:08:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
    [18:08:26] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
    [18:08:26] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
    [18:08:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [18:08:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [18:08:29] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
    [18:08:29] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [18:08:29] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [18:08:30] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [18:08:30] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
    [18:08:30] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
    [18:08:30] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
    [18:08:31] [main/INFO] [net.minecraft.client.Minecraft]: Setting user: huggets
    [18:08:36] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: lastServer:
    [18:08:36] [main/INFO] [net.minecraft.client.Minecraft]: LWJGL Version: 2.9.4
    [18:08:38] [main/INFO] [FML]: – System Details --
    Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_161, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 400544256 bytes (381 MB) / 556269568 bytes (530 MB) up to 1892155392 bytes (1804 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML:
    Loaded coremods (and transformers):
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.31' Renderer: 'GeForce GTX 950M/PCIe/SSE2'
    [18:08:38] [main/INFO] [FML]: MinecraftForge v14.23.3.2655 Initialized
    [18:08:38] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
    [18:08:38] [main/INFO] [FML]: Replaced 1036 ore ingredients
    [18:08:38] [main/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
    [18:08:38] [main/INFO] [FML]: Searching C:\Users\hujal\Documents\Minecraft\modding\MORETHINGS-refait\forge-1.12.2-14.23.3.2655-mdk\run\mods for mods
    [18:08:40] [main/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
    [18:08:40] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 100521819 nanos
    [18:08:40] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mt] at CLIENT
    [18:08:40] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mt] at SERVER
    [18:08:41] [main/INFO] [net.minecraft.client.resources.SimpleReloadableResourceManager]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:More Things
    [18:08:41] [main/INFO] [FML]: Processing ObjectHolder annotations
    [18:08:41] [main/INFO] [FML]: Found 1168 ObjectHolder annotations
    [18:08:41] [main/INFO] [FML]: Identifying ItemStackHolder annotations
    [18:08:41] [main/INFO] [FML]: Found 0 ItemStackHolder annotations
    [18:08:42] [main/INFO] [FML]: Configured a dormant chunk cache size of 0
    [18:08:42] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
    [18:08:42] [main/INFO] [FML]: Applying holder lookups
    [18:08:42] [main/INFO] [FML]: Holder lookups applied
    [18:08:42] [main/INFO] [FML]: Applying holder lookups
    [18:08:42] [main/INFO] [FML]: Holder lookups applied
    [18:08:42] [main/INFO] [FML]: Applying holder lookups
    [18:08:42] [main/INFO] [FML]: Holder lookups applied
    [18:08:42] [main/INFO] [FML]: Applying holder lookups
    [18:08:42] [main/INFO] [FML]: Holder lookups applied
    [18:08:42] [main/INFO] [FML]: Injecting itemstacks
    [18:08:42] [main/INFO] [FML]: Itemstack injection complete
    [18:08:42] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Found status: UP_TO_DATE Target: null
    [18:09:04] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Starting up SoundSystem…
    [18:09:04] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: Initializing LWJGL OpenAL
    [18:09:04] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
    [18:09:05] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: OpenAL initialized.
    [18:09:05] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Sound engine started
    [18:09:13] [main/ERROR] [FML]: Could not load vanilla model parent 'mt:block/copper_slab' for 'net.minecraft.client.renderer.block.model.ModelBlock@8d902f
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:block/copper_slab with loader VanillaLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModelOrLogError(ModelLoaderRegistry.java:203) [ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader$VanillaModelWrapper.getTextures(ModelLoader.java:405) [ModelLoader$VanillaModelWrapper.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:163) [ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:314) [ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) [ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:164) [ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.io.FileNotFoundException: mt:models/block/copper_slab.json
    at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:130) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:880) ~[ModelLoader$VanillaLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 23 more
    [18:09:13] [main/INFO] [FML]: Max texture size: 16384
    [18:09:13] [main/INFO] [net.minecraft.client.renderer.texture.TextureMap]: Created: 512x512 textures-atlas
    [18:09:14] [main/ERROR] [FML]: Exception loading model for variant mt:diamond_button#facing=east,powered=true for blockstate "mt:diamond_button[facing=east,powered=true]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:diamond_button#facing=east,powered=true with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:09:14] [main/ERROR] [FML]: Exception loading blockstate for the variant mt:diamond_button#facing=east,powered=true:
    java.lang.Exception: Could not load model definition for variant mt:diamond_button
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model mt:blockstates/diamond_button.json
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:228) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    Caused by: java.io.FileNotFoundException: mt:blockstates/diamond_button.json
    at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:104) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:79) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:221) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    [18:09:14] [main/ERROR] [FML]: Exception loading model for variant mt:emerald_button#facing=down,powered=true for blockstate "mt:emerald_button[facing=down,powered=true]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:emerald_button#facing=down,powered=true with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:09:14] [main/ERROR] [FML]: Exception loading blockstate for the variant mt:emerald_button#facing=down,powered=true:
    java.lang.Exception: Could not load model definition for variant mt:emerald_button
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model mt:blockstates/emerald_button.json
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:228) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    Caused by: java.io.FileNotFoundException: mt:blockstates/emerald_button.json
    at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:104) ~[FallbackResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:79) ~[SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:221) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    … 20 more
    [18:09:14] [main/ERROR] [FML]: Exception loading model for variant mt:diamond_button#facing=north,powered=true for blockstate "mt:diamond_button[facing=north,powered=true]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:diamond_button#facing=north,powered=true with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 21 more
    [18:09:14] [main/ERROR] [FML]: Exception loading model for variant mt:copper_slab#inventory for item "mt:copper_slab", normal location exception:
    java.lang.IllegalStateException: vanilla model 'net.minecraft.client.renderer.block.model.ModelBlock@8d902f' can't have non-vanilla parent
    at net.minecraftforge.client.model.ModelLoader$VanillaModelWrapper.getTextures(ModelLoader.java:412) ~[ModelLoader$VanillaModelWrapper.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:163) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:314) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:164) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    [18:09:14] [main/ERROR] [FML]: Exception loading model for variant mt:copper_slab#inventory for item "mt:copper_slab", blockstate location exception:
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mt:copper_slab#inventory with loader VariantLoader.INSTANCE, skipping
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:322) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:164) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    … 20 more
    [18:09:14] [main/FATAL] [FML]: Suppressed additional 87 model loading errors for domain mt
    [18:09:15] [main/INFO] [FML]: Applying holder lookups
    [18:09:15] [main/INFO] [FML]: Holder lookups applied
    [18:09:15] [main/INFO] [FML]: Injecting itemstacks
    [18:09:15] [main/INFO] [FML]: Itemstack injection complete
    [18:09:16] [main/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods
    [18:09:16] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: lastServer:
    [18:09:16] [main/INFO] [com.mojang.text2speech.NarratorWindows]: Narrator library for x64 successfully loaded
    [18:09:20] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Starting integrated minecraft server version 1.12.2
    [18:09:20] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Generating keypair
    [18:09:20] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
    [18:09:20] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world mt:mtdouble_copper_slab
    [18:09:20] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world mt:tin_slab
    [18:09:20] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world mt:mthalf_copper_slab
    [18:09:20] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world mt:half_copper_slab
    [18:09:20] [Server thread/INFO] [FML]: Applying holder lookups
    [18:09:20] [Server thread/INFO] [FML]: Holder lookups applied
    [18:09:20] [Server thread/INFO] [FML]: Loading dimension 0 (Test mod) (net.minecraft.server.integrated.IntegratedServer@796323b5)
    [18:09:21] [Server thread/INFO] [net.minecraft.advancements.AdvancementList]: Loaded 506 advancements
    [18:09:21] [Server thread/INFO] [FML]: Loading dimension 1 (Test mod) (net.minecraft.server.integrated.IntegratedServer@796323b5)
    [18:09:21] [Server thread/INFO] [FML]: Loading dimension -1 (Test mod) (net.minecraft.server.integrated.IntegratedServer@796323b5)
    [18:09:21] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing start region for level 0
    [18:09:23] [Server thread/INFO] [FML]: Unloading dimension -1
    [18:09:23] [Server thread/INFO] [FML]: Unloading dimension 1
    [18:09:23] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Changing view distance to 16, from 10
    [18:09:24] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
    [18:09:24] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
    [18:09:24] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 5 mods : minecraft@1.12.2,FML@8.0.99.99,forge@14.23.3.2655,mt@0.0.0.1,mcp@9.42
    [18:09:25] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
    [18:09:25] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
    [18:09:25] [Server thread/INFO] [net.minecraft.server.management.PlayerList]: huggets[local:E:1194d715] logged in with entity id 33 at (673.2385805430417, 52.0, 1485.1026096805515)
    [18:09:25] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: huggets a rejoint la partie
    [18:09:26] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Saving and pausing game…
    [18:09:26] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'Test mod'/overworld
    [18:09:27] [main/INFO] [net.minecraft.advancements.AdvancementList]: Loaded 45 advancements
    [18:09:29] [Server thread/FATAL] [net.minecraft.server.MinecraftServer]: Error executing task
    java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot set property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=mt:double_copper_slab, properties=[seamless, variant]}
    at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_161]
    at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.util.Util.runTask(Util.java:54) [Util.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:796) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
    Caused by: java.lang.IllegalArgumentException: Cannot set property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=mt:double_copper_slab, properties=[seamless, variant]}
    at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:221) ~[BlockStateContainer$StateImplementation.class:?]
    at net.minecraft.block.BlockSlab.getStateForPlacement(BlockSlab.java:117) ~[BlockSlab.class:?]
    at net.minecraft.block.Block.getStateForPlacement(Block.java:2481) ~[Block.class:?]
    at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:55) ~[ItemBlock.class:?]
    at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:875) ~[ForgeHooks.class:?]
    at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:200) ~[ItemStack.class:?]
    at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:504) ~[PlayerInteractionManager.class:?]
    at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:767) ~[NetHandlerPlayServer.class:?]
    at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) ~[CPacketPlayerTryUseItemOnBlock.class:?]
    at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) ~[CPacketPlayerTryUseItemOnBlock.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) ~[PacketThreadUtil$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_161]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.util.Util.runTask(Util.java:53) ~[Util.class:?]
    … 5 more
    [18:09:29] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Stopping server
    [18:09:29] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving players
    [18:09:29] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving worlds
    [18:09:29] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'Test mod'/overworld
    [18:09:29] [Server thread/INFO] [FML]: Unloading dimension 0
    [18:09:29] [Server thread/INFO] [FML]: Applying holder lookups
    [18:09:29] [Server thread/INFO] [FML]: Holder lookups applied
    [18:09:30] [main/FATAL] [net.minecraft.client.Minecraft]: Unreported exception thrown!
    java.lang.IllegalArgumentException: Cannot set property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=mt:double_copper_slab, properties=[seamless, variant]}
    at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:221) ~[BlockStateContainer$StateImplementation.class:?]
    at net.minecraft.block.BlockSlab.getStateForPlacement(BlockSlab.java:117) ~[BlockSlab.class:?]
    at net.minecraft.block.Block.getStateForPlacement(Block.java:2481) ~[Block.class:?]
    at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:55) ~[ItemBlock.class:?]
    at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:201) ~[ItemStack.class:?]
    at net.minecraft.client.multiplayer.PlayerControllerMP.processRightClickBlock(PlayerControllerMP.java:499) ~[PlayerControllerMP.class:?]
    at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1692) ~[Minecraft.class:?]
    at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:2379) ~[Minecraft.class:?]
    at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2145) ~[Minecraft.class:?]
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:1933) ~[Minecraft.class:?]
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1186) ~[Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:441) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
    [18:09:30] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: –-- Minecraft Crash Report ----
    // I'm sorry, Dave.
    
    Time: 5/9/18 6:09 PM
    Description: Unexpected error
    
    java.lang.IllegalArgumentException: Cannot set property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=mt:double_copper_slab, properties=[seamless, variant]}
    at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:221)
    at net.minecraft.block.BlockSlab.getStateForPlacement(BlockSlab.java:117)
    at net.minecraft.block.Block.getStateForPlacement(Block.java:2481)
    at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:55)
    at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:201)
    at net.minecraft.client.multiplayer.PlayerControllerMP.processRightClickBlock(PlayerControllerMP.java:499)
    at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1692)
    at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:2379)
    at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2145)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:1933)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1186)
    at net.minecraft.client.Minecraft.run(Minecraft.java:441)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:25)
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    –-------------------------------------------------------------------------------------
    
    -- Head --
    Thread: Client thread
    Stacktrace:
    at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:221)
    at net.minecraft.block.BlockSlab.getStateForPlacement(BlockSlab.java:117)
    at net.minecraft.block.Block.getStateForPlacement(Block.java:2481)
    at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:55)
    at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:201)
    at net.minecraft.client.multiplayer.PlayerControllerMP.processRightClickBlock(PlayerControllerMP.java:499)
    at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1692)
    at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:2379)
    at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2145)
    
    -- Affected level --
    Details:
    Level name: MpServer
    All players: 1 total; [EntityPlayerSP['huggets'/33, l='MpServer', x=673.24, y=52.00, z=1485.10]]
    Chunk stats: MultiplayerChunkCache: 1084, 1084
    Level seed: 0
    Level generator: ID 01 - flat, ver 0\. Features enabled: false
    Level generator options:
    Level spawn location: World: (659,4,1474), Chunk: (at 3,0,2 in 41,92; contains blocks 656,0,1472 to 671,255,1487), Region: (1,2; contains chunks 32,64 to 63,95, blocks 512,0,1024 to 1023,255,1535)
    Level time: 94665 game time, 1240 day time
    Level dimension: 0
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Forced entities: 5 total; [EntityPig['Cochon'/1, l='MpServer', x=626.43, y=52.00, z=1424.91], EntityPig['Cochon'/2, l='MpServer', x=633.27, y=52.00, z=1426.37], EntityPig['Cochon'/3, l='MpServer', x=629.68, y=52.00, z=1446.19], EntityPig['Cochon'/8, l='MpServer', x=662.71, y=52.00, z=1408.39], EntityPlayerSP['huggets'/33, l='MpServer', x=673.24, y=52.00, z=1485.10]]
    Retry entities: 0 total; []
    Server brand: fml,forge
    Server type: Integrated singleplayer server
    Stacktrace:
    at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:461)
    at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2885)
    at net.minecraft.client.Minecraft.run(Minecraft.java:470)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:25)
    
    – System Details --
    Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_161, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 137851232 bytes (131 MB) / 869793792 bytes (829 MB) up to 1892155392 bytes (1804 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.42 Powered by Forge 14.23.3.2655 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 |
    |:--------- |:--------- |:------------ |:-------------------------------- |:--------- |
    | UCHIJAAAA | minecraft | 1.12.2       | minecraft.jar                    | None      |
    | UCHIJAAAA | mcp       | 9.42         | minecraft.jar                    | None      |
    | UCHIJAAAA | FML       | 8.0.99.99    | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
    | UCHIJAAAA | forge     | 14.23.3.2655 | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
    | UCHIJAAAA | mt        | 0.0.0.1      | bin                              | None      |
    
    Loaded coremods (and transformers):
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.31' Renderer: 'GeForce GTX 950M/PCIe/SSE2'
    Launched Version: 1.12.2
    LWJGL: 2.9.4
    OpenGL: GeForce GTX 950M/PCIe/SSE2 GL version 4.6.0 NVIDIA 397.31, 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: Français (France)
    Profiler Position: N/A (disabled)
    CPU: 4x Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
    [18:09:30] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\hujal\Documents\Minecraft\modding\MORETHINGS-refait\forge-1.12.2-14.23.3.2655-mdk\run\.\crash-reports\crash-2018-05-09_18.09.30-client.txt
    AL lib: (EE) alc_cleanup: 1 device not closed
    
    

    J'ai encore un problème avec cette erreur :

    java.lang.IllegalArgumentException: Cannot set property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=mt:double_copper_slab, properties=[seamless, variant]}
    

    J'ai essayer de modifier la méthode createBlockState() mais je ne sais pas comment faire…
    Voici le code source de ma classe CopperSlab :

    package com.huggets.mt.blocks;
    
    import com.huggets.mt.MoreThings;
    import com.huggets.mt.material.MoreThingsMapColor;
    
    import net.minecraft.block.BlockSlab;
    import net.minecraft.block.material.Material;
    import net.minecraft.block.properties.IProperty;
    import net.minecraft.block.properties.PropertyBool;
    import net.minecraft.block.properties.PropertyEnum;
    import net.minecraft.block.state.BlockStateContainer;
    import net.minecraft.block.state.IBlockState;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.IStringSerializable;
    
    public abstract class CopperSlab extends BlockSlab
    {
        public static final PropertyBool SEAMLESS = PropertyBool.create("seamless");
        public static final PropertyEnum <copperslab.enumtype>VARIANT = PropertyEnum.<copperslab.enumtype>create("variant", CopperSlab.EnumType.class);
    
        public CopperSlab()
        {
            super(Material.IRON);
            IBlockState iblockstate = this.blockState.getBaseState();
    
            if (this.isDouble())
            {
                iblockstate = iblockstate.withProperty(SEAMLESS, Boolean.valueOf(false));
            } else
            {
                iblockstate = iblockstate.withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM);
            }
    
            this.setDefaultState(iblockstate.withProperty(VARIANT, CopperSlab.EnumType.COPPER));
            setCreativeTab(MoreThings.MORETHINGSCREATIVETABS);
        }
    
        @Override
        public String getUnlocalizedName(int meta)
        {
            return super.getUnlocalizedName() + "." + CopperSlab.EnumType.byMetadata(meta).getUnlocalizedName();
        }
    
        @Override
        public IProperty getVariantProperty()
        {
            return VARIANT;
        }
    
        @Override
        public Comparable getTypeForItem(ItemStack stack)
        {
            return CopperSlab.EnumType.byMetadata(stack.getMetadata() & 7);
        }
    
        protected BlockStateContainer createBlockState()
        {
            return this.isDouble() ? new BlockStateContainer(this, new IProperty[]{ SEAMLESS, VARIANT }) : new BlockStateContainer(this, new IProperty[]{ HALF, VARIANT });
        }
    
        public static enum EnumType implements IStringSerializable
        {
            COPPER(0, MoreThingsMapColor.COPPER, "copper_block");
    
            private static final EnumType[] META_LOOKUP = new CopperSlab.EnumType[values().length];
            private final int meta;
            private final MoreThingsMapColor mapColor;
            private final String name;
            private final String unlocalizedName;
    
            private EnumType(int meta, MoreThingsMapColor mapColor, String name)
            {
                this(meta, mapColor, name, name);
            }
    
            private EnumType(int meta, MoreThingsMapColor mapColor, String name, String unlocalizedName)
            {
                this.meta = meta;
                this.mapColor = mapColor;
                this.name = name;
                this.unlocalizedName = unlocalizedName;
            }
    
            public int getMetadata()
            {
                return this.meta;
            }
    
            public MoreThingsMapColor getMapColor()
            {
                return this.mapColor;
            }
    
            public String toString()
            {
                return this.name;
            }
    
            public static CopperSlab.EnumType byMetadata(int meta)
            {
                if (meta < 0 || meta >= META_LOOKUP.length)
                {
                    meta = 0;
                }
    
                return META_LOOKUP[meta];
            }
    
            public String getName()
            {
                return this.name;
            }
    
            public String getUnlocalizedName()
            {
                return this.unlocalizedName;
            }
    
            static
            {
                for (CopperSlab.EnumType copperslab$enumtype : values())
                {
                    META_LOOKUP[copperslab$enumtype.getMetadata()] = copperslab$enumtype;
                }
            }
    
        }
    
        /**
         * Convert the given metadata into a BlockState for this Block
         */
        @Override
        public IBlockState getStateFromMeta(int meta)
        {
            IBlockState iblockstate = this.getDefaultState().withProperty(VARIANT, CopperSlab.EnumType.byMetadata(meta & 7));
    
            if (this.isDouble())
            {
                iblockstate = iblockstate.withProperty(SEAMLESS, Boolean.valueOf((meta & 8) != 0));
            } else
            {
                iblockstate = iblockstate.withProperty(HALF, (meta & 8) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP);
            }
    
            return iblockstate;
        }
    
        /**
         * Convert the BlockState into the correct metadata value
         */
        @Override
        public int getMetaFromState(IBlockState state)
        {
            int i = 0;
            i = i | ((CopperSlab.EnumType) state.getValue(VARIANT)).getMetadata();
    
            if (this.isDouble())
            {
                if (((Boolean) state.getValue(SEAMLESS)).booleanValue())
                {
                    i |= 8;
                }
            } else if (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP)
            {
                i |= 8;
            }
    
            return i;
        }
    }
    
    

    En espérant que ce soit la dernière erreur compliquée que j'aurais</copperslab.enumtype></copperslab.enumtype>


  • Administrateurs

    Visiblement il tente d'appliquer la propriété EnumBlockHalf sur la double dalle, alors que cette propriété n'existe que sur la dalle simple.
    Ce qui m'étonne puisque le code me semble bon.



  • @'robin4002':

    Visiblement il tente d'appliquer la propriété EnumBlockHalf sur la double dalle, alors que cette propriété n'existe que sur la dalle simple.
    Ce qui m'étonne puisque le code me semble bon.

    Je ne suis pas sur mon ordi mais dans la classe DoubleCopperSlab, j'ai juste mis un setRegistry("double_copper_slab") et un setUnlocalizedName("mt.copper_slab") dans le constructeur avec bien sûr l'instruction super().
    Ensuite j'ai changé la méthode isDouble() en return = true et copié la methode *setBlockFaceShape() *ou quelque chose comme ça qui était mise dans la classe BlockDoubleStoneSlab

    J'enverrai le code demain.



  • Voici le code source de la classe mais ça m'étonnerai que ça viennent de là :

    package com.huggets.mt.blocks;
    
    import com.huggets.mt.MoreThings;
    
    import net.minecraft.block.state.BlockFaceShape;
    import net.minecraft.block.state.IBlockState;
    import net.minecraft.util.EnumFacing;
    import net.minecraft.util.math.BlockPos;
    import net.minecraft.world.IBlockAccess;
    
    public class DoubleCopperSlab extends CopperSlab
    {
        public DoubleCopperSlab()
        {
            super();
            this.setRegistryName(MoreThings.MODID, "double_copper_slab");
            this.setUnlocalizedName("mt.copper_slab");
        }
        public boolean isDouble()
        {
            return true;
        }
    
        /**
         * Get the geometry of the queried face at the given position and state. This is used to decide whether things like
         * buttons are allowed to be placed on the face, or how glass panes connect to the face, among other things.
         *
    
         * Common values are {@code SOLID}, which is the default, and {@code UNDEFINED}, which represents something that
         * does not fit the other descriptions and will generally cause other things not to connect to the face.
         *
         * @return an approximation of the form of the given face
         */
        public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face)
        {
            return BlockFaceShape.SOLID;
        }
    
    }
    

Log in to reply