MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Comment créer de nouvelles dalles

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.12.x
    39 Messages 6 Publieurs 5.8k Vues 1 Abonné
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

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

      1 réponse Dernière réponse Répondre Citer 0
      • huggetsH Hors-ligne
        huggets
        dernière édition par

        @‘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

        Sans la programmation nous ne pourrions pas être réuni sur ce forum, ni ailleurs sur internet :)

        J'ai et je suis content d'avoir 39.71 points [u…

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par

          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 ?

          1 réponse Dernière réponse Répondre Citer 0
          • huggetsH Hors-ligne
            huggets
            dernière édition par

            @‘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>

            Sans la programmation nous ne pourrions pas être réuni sur ce forum, ni ailleurs sur internet :)

            J'ai et je suis content d'avoir 39.71 points [u…

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              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.

              1 réponse Dernière réponse Répondre Citer 0
              • huggetsH Hors-ligne
                huggets
                dernière édition par

                @‘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 ?

                Sans la programmation nous ne pourrions pas être réuni sur ce forum, ni ailleurs sur internet :)

                J'ai et je suis content d'avoir 39.71 points [u…

                1 réponse Dernière réponse Répondre Citer 0
                • robin4002R Hors-ligne
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                  dernière édition par

                  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.

                  1 réponse Dernière réponse Répondre Citer 0
                  • huggetsH Hors-ligne
                    huggets
                    dernière édition par

                    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>

                    Sans la programmation nous ne pourrions pas être réuni sur ce forum, ni ailleurs sur internet :)

                    J'ai et je suis content d'avoir 39.71 points [u…

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      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.

                      1 réponse Dernière réponse Répondre Citer 0
                      • huggetsH Hors-ligne
                        huggets
                        dernière édition par

                        @‘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.

                        Sans la programmation nous ne pourrions pas être réuni sur ce forum, ni ailleurs sur internet :)

                        J'ai et je suis content d'avoir 39.71 points [u…

                        1 réponse Dernière réponse Répondre Citer 0
                        • huggetsH Hors-ligne
                          huggets
                          dernière édition par

                          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;
                              }
                          
                          }
                          

                          Sans la programmation nous ne pourrions pas être réuni sur ce forum, ni ailleurs sur internet :)

                          J'ai et je suis content d'avoir 39.71 points [u…

                          1 réponse Dernière réponse Répondre Citer 0
                          • 1
                          • 2
                          • 2 / 2
                          • Premier message
                            Dernier message
                          Design by Woryk
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB