Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Leviathan143

Forge Modder
  • Joined

  • Last visited

Posts posted by Leviathan143

  1. ·

    Edited by Leviathan143

    It doesn't need to. The logical server is part of the physical server process. The same goes for the client, the logical client is part of the physical client process.

    You seem confused about sides, I recommend you read this, even if you've read it already. It gives a pretty thorough explanation of logical and physical sides.

  2. 34 minutes ago, GooberGunter said:

    Hey! I'm trying to figure out if I have this packet done right. Essentially, whenever my custom HUD is drawn on the screen, the client sends a request packet to the server, which replies with server information based on data within the chunk (capability). What I wanna know is if it will work on a server with multiple people, but I can't think of a way to test it. Theoretically, the values in the HUD class are only set when requested by the HUD class, but because the method and storage variable are static, I'm pretty sure it will set the storage variable to that data on every client. 

     

    So I guess my question is, am I right about the value setting for all clients? More generalized: does every client have it's own instance of this gui class upon launch, meaning that static doesn't matter? Because if there are two clients, each with the jar file of this mod, then the fetched data from the packet (requested by one client) shouldn't set for both clients, right? I'm still a little unclear on the server/client relationship as well as multiple copies of the mod.

    The effects of the static modifier are restricted to a single JVM. The server and each client all run separate instances of Minecraft in separate JVMs. There is no synchronisation of instances or member values between separate JVMs by default. If any exists it is because it has been explicitly and deliberately programmed by Mojang, Forge or you. Neither Mojang or Forge autosynchronise static member values. Separate JVMs do not talk to each other at all, in any way, ever, unless explicitly and deliberately told to do so and how to do so.

  3. switch statements only work on primitive types, Strings, enums & the wrapper objects for primitive types(These are special cased). Since Block does not fall into any of those categories, you can't switch on a field/method return of type Block

     

    What are you actually trying to do here? Blocks have a method that is called when they are right-clicked.

  4. ·

    Edited by Leviathan143

    1 hour ago, jabelar said:

    So I've never contributed to Forge before, so figured I should give it a try. I forked and cloned forge, got the setupForge working, imported the projects and can see it all in Eclipse. However, what is the proper way to test it, and what do the various run configurations do exactly?

     

    In terms of actual testing, I would like to write some test mod to apply. Do I need to fully build everything, or can I test it all in Eclipse somehow?

    The setupForge task should have generated a client and a server run configuration for each project. The Clean project is the unmodified decompiled and deobfuscated vanilla code, the Forge project is the decompiled and deobfuscated vanilla code with Forge patches applied and Forge classes added.

     

    I tried the Forge Client run configuration, but got a lot of errors related to missing models (I didn't change anything related to that):

    
    2017-10-08 00:02:11,279 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
    2017-10-08 00:02:11,284 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
    [00:02:11] [main/INFO] [GradleStart]: Extra: []
    [00:02:11] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Aaron/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --accessToken{REDACTED}, --version, @@MCVERSION@@, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
    [00:02:11] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
    [00:02:11] [main/INFO] [FML]: Forge Mod Loader version 14.23.0.0 for Minecraft 1.12.2 loading
    [00:02:11] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_144, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_144
    [00:02:11] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
    [00:02:11] [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
    [00:02:11] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin
    [00:02:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
    [00:02:11] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
    [00:02:11] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
    [00:02:11] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [00:02:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    2017-10-08 00:02:12,388 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
    2017-10-08 00:02:12,406 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
    2017-10-08 00:02:12,407 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
    [00:02:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [00:02:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [00:02:28] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [00:02:28] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
    [00:02:28] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
    [00:02:28] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
    [00:02:30] [main/INFO]: Setting user: Player943
    [00:02:39] [main/INFO]: LWJGL Version: 2.9.4
    [00:02:42] [main/INFO] [FML]: Could not load splash.properties, will create a default one
    [00:02:42] [main/INFO] [FML]: -- System Details --
    Details:
    	Minecraft Version: 1.12.2
    	Operating System: Windows 10 (amd64) version 10.0
    	Java Version: 1.8.0_144, Oracle Corporation
    	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    	Memory: 125307952 bytes (119 MB) / 278921216 bytes (266 MB) up to 1895825408 bytes (1808 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.5.0 NVIDIA 384.76' Renderer: 'GeForce GTX 760/PCIe/SSE2'
    [00:02:42] [main/INFO] [FML]: MinecraftForge v14.23.0.0 Initialized
    [00:02:42] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
    [00:02:42] [main/INFO] [FML]: Replaced 1036 ore ingredients
    [00:02:43] [main/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
    [00:02:43] [main/INFO] [FML]: Searching F:\Forge Workspace\MinecraftForge\projects\run\mods for mods
    [00:02:44] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 70113143 nanos
    [00:02:51] [main/INFO] [recipetest]: Mod recipetest is missing the required element 'name'. Substituting recipetest
    [00:02:51] [main/INFO] [registry_override_test]: Mod registry_override_test is missing the required element 'name'. Substituting registry_override_test
    [00:02:51] [main/WARN] [transparent_fast_tesr_test]: Mod transparent_fast_tesr_test is missing the required element 'version' and no fallback can be found. Substituting '1.0'.
    [00:02:54] [main/INFO] [FML]: Forge Mod Loader has identified 83 mods to load
    [00:02:55] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, advancements_pagination, animal_tame_event_test, big_packet_test, ainodetypetest, block_place_event_test, forge_blockstate_retexture_test, bonemealeventtest, breedingtest, brewingreciperegistrytest, canapplyatenchantingtabletest, checkspawntest, chunkcapabilitypollutiontest, clientchateventtest, clientcommandtest, clientexceptiontest, command_tree_base_test, config_test, crafting_system_test, createfluidsourcetest, criticalhiteventtest, customentityselectortest, customspawndimensiontest, custom_sprite_test, debugsearchtab, decorateeventdebug, difficultychangeeventtest, dynbuckettest, enchantmentlevelsettest, entitytraveltodimensioneventtest, entityupdateblockedtest, enumplanttypetest, equipment_change_test, fluidhandlertest, forgedebugfluidplacement, fogcolorinsidematerialtest, forgeblockstatesloader, fovmodifiertest, furnacefuelburntimeeventtest, guicontainereventtest, is_book_enchantable_test, item_can_destroy_blocks_in_creative_test, itemfishtest, forgedebugitemlayermodel, forgedebugitemtile, loottable_load_event_test, loot_table_debug, mapdatatest, forgedebugmodelanimation, forgedebugmodelbakeevent, forgedebugmodelfluid, forgedebugmodelloaderregistry, forgemodnametooltip, forgedebugmultilayermodel, nbtsharetagitemtest, neighbornotifyeventtest, forgedebugnobedsleeping, nopotioneffect, objectholdertest, onitemusefirsttest, oredict_predicate, permission_test, playerdamagereworktest, playerinteracteventtest, playersetspawntest, potion_curative_item_debug, forgepotionregistry, recipetest, registry_override_test, shield_test, slipperiness_test, forge.testcapmod, forge_texture_dump, te_loading_test, transparent_fast_tesr_test, professiontest, worldperiodicrainchecktest, wrenchrotatedebug, wrnormal, forgenetworktest] at CLIENT
    [00:02:55] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, advancements_pagination, animal_tame_event_test, big_packet_test, ainodetypetest, block_place_event_test, forge_blockstate_retexture_test, bonemealeventtest, breedingtest, brewingreciperegistrytest, canapplyatenchantingtabletest, checkspawntest, chunkcapabilitypollutiontest, clientchateventtest, clientcommandtest, clientexceptiontest, command_tree_base_test, config_test, crafting_system_test, createfluidsourcetest, criticalhiteventtest, customentityselectortest, customspawndimensiontest, custom_sprite_test, debugsearchtab, decorateeventdebug, difficultychangeeventtest, dynbuckettest, enchantmentlevelsettest, entitytraveltodimensioneventtest, entityupdateblockedtest, enumplanttypetest, equipment_change_test, fluidhandlertest, forgedebugfluidplacement, fogcolorinsidematerialtest, forgeblockstatesloader, fovmodifiertest, furnacefuelburntimeeventtest, guicontainereventtest, is_book_enchantable_test, item_can_destroy_blocks_in_creative_test, itemfishtest, forgedebugitemlayermodel, forgedebugitemtile, loottable_load_event_test, loot_table_debug, mapdatatest, forgedebugmodelanimation, forgedebugmodelbakeevent, forgedebugmodelfluid, forgedebugmodelloaderregistry, forgemodnametooltip, forgedebugmultilayermodel, nbtsharetagitemtest, neighbornotifyeventtest, forgedebugnobedsleeping, nopotioneffect, objectholdertest, onitemusefirsttest, oredict_predicate, permission_test, playerdamagereworktest, playerinteracteventtest, playersetspawntest, potion_curative_item_debug, forgepotionregistry, recipetest, registry_override_test, shield_test, slipperiness_test, forge.testcapmod, forge_texture_dump, te_loading_test, transparent_fast_tesr_test, professiontest, worldperiodicrainchecktest, wrenchrotatedebug, wrnormal, forgenetworktest] at SERVER
    [00:02:56] [main/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Advancements Pagination test mod, FMLFileResourcePack:AnimalTameEvent test mod, FMLFileResourcePack:Big network message test mod, FMLFileResourcePack:AiNodeTypeTest, FMLFileResourcePack:BlockPlaceEvent test mod, FMLFileResourcePack:BlockstateRetextureTest, FMLFileResourcePack:Bonemeal Event Test, FMLFileResourcePack:BreedingTest, FMLFileResourcePack:BrewingRecipeRegistryTest, FMLFileResourcePack:CanApplyAtEnchantingTableTest, FMLFileResourcePack:CheckSpawnTest, FMLFileResourcePack:Chunk Capability Test, FMLFileResourcePack:Client Chat Event Test, FMLFileResourcePack:Client Command Test, FMLFileResourcePack:Client Exception Test, FMLFileResourcePack:CommandTreeBaseTest, FMLFileResourcePack:ConfigTest, FMLFileResourcePack:CraftingTestMod, FMLFileResourcePack:CreateFluidSourceTest, FMLFileResourcePack:CriticalHitEventTest, FMLFileResourcePack:Custom Entity Selector Test, FMLFileResourcePack:CustomSpawnDimensionTest, FMLFileResourcePack:Custom sprite test, FMLFileResourcePack:Debug Search Tab, FMLFileResourcePack:DecorateEventDebug, FMLFileResourcePack:DifficultyChangeEventTest, FMLFileResourcePack:DynBucketTest, FMLFileResourcePack:EnchantmentLevelSetTest, FMLFileResourcePack:EntityTravelToDimensionEventTest, FMLFileResourcePack:Entity Update Blocked Test, FMLFileResourcePack:EnumPlantTypeTest, FMLFileResourcePack:Equipment Change Test, FMLFileResourcePack:FluidHandlerTest, FMLFileResourcePack:ForgeDebugFluidPlacement, FMLFileResourcePack:FogColor inside material debug., FMLFileResourcePack:ForgeBlockStatesLoader, FMLFileResourcePack:FOV Modifier Test, FMLFileResourcePack:Test for FurnaceFuelBurnTimeEvent, FMLFileResourcePack:GuiContainer Event Tests!, FMLFileResourcePack:Test for isBookEnchantable, FMLFileResourcePack:Item.canDestroyBlockInCreative() Test, FMLFileResourcePack:ItemFishTest, FMLFileResourcePack:ForgeDebugItemLayerModel, FMLFileResourcePack:ForgeDebugItemTile, FMLFileResourcePack:LootTableLoadEventTest, FMLFileResourcePack:Loot Table Debug, FMLFileResourcePack:mapdatatest, FMLFileResourcePack:ForgeDebugModelAnimation, FMLFileResourcePack:ForgeDebugModelBakeEvent, FMLFileResourcePack:ForgeDebugModelFluid, FMLFileResourcePack:ForgeDebugModelLoaderRegistry, FMLFileResourcePack:ForgeModNameTooltip, FMLFileResourcePack:ForgeDebugMultiLayerModel, FMLFileResourcePack:NBTShareTag Item Test, FMLFileResourcePack:NeighborNotifyEventTest, FMLFileResourcePack:ForgeDebugNoBedSleeping, FMLFileResourcePack:No Potion Effect Render Test, FMLFileResourcePack:ObjectHolderTests, FMLFileResourcePack:OnItemUseFirstTest, FMLFileResourcePack:Oredict Item Predicate Test, FMLFileResourcePack:PermissionTest, FMLFileResourcePack:PlayerDamageReworkTest, FMLFileResourcePack:PlayerInteractEventTest, FMLFileResourcePack:Player Set Spawn Test, FMLFileResourcePack:Potion Curative Item Debug, FMLFileResourcePack:ForgePotionRegistry, FMLFileResourcePack:recipetest, FMLFileResourcePack:registry_override_test, FMLFileResourcePack:Shield Test, FMLFileResourcePack:Slipperiness Test, FMLFileResourcePack:Forge TestCapMod, FMLFileResourcePack:Forge Texture Atlas Dump, FMLFileResourcePack:TileEntity#onLoad() test mod, FMLFileResourcePack:TransparentFastTESRTest, FMLFileResourcePack:ProfessionTest2000, FMLFileResourcePack:World Periodic Rain Check Test, FMLFileResourcePack:Wrench Rotate Debug, FMLFileResourcePack:WRNormal, FMLFileResourcePack:forgenetworktest
    [00:02:57] [main/INFO] [FML]: Processing ObjectHolder annotations
    [00:02:57] [main/INFO] [FML]: Found 1215 ObjectHolder annotations
    [00:02:57] [main/INFO] [FML]: Identifying ItemStackHolder annotations
    [00:02:57] [main/INFO] [FML]: Found 0 ItemStackHolder annotations
    [00:02:57] [main/INFO] [FML]: Configured a dormant chunk cache size of 0
    [00:02:57] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
    [00:02:57] [main/INFO] [forge.testcapmod]: IExampleCapability was registered wheeeeee!
    [00:02:57] [main/WARN] [FML]: A mod has attempted to assign Block Block{null} to the Fluid 'water' but this Fluid has already been linked to the Block Block{minecraft:water}. You may have duplicate Fluid Blocks as a result. It *may* be possible to configure your mods to avoid this.
    [00:02:57] [main/WARN] [FML]: ****************************************
    [00:02:57] [main/WARN] [FML]: * Dangerous alternative prefix `minecraft` for name `bookshelf`, expected `registry_override_test` invalid registry invocation/invalid name?
    [00:02:57] [main/WARN] [FML]: *  at net.minecraftforge.registries.IForgeRegistryEntry$Impl.setRegistryName(IForgeRegistryEntry.java:85)
    [00:02:57] [main/WARN] [FML]: *  at net.minecraftforge.registries.IForgeRegistryEntry$Impl.setRegistryName(IForgeRegistryEntry.java:95)
    [00:02:57] [main/WARN] [FML]: *  at net.minecraftforge.debug.RegistryOverrideTest$BlockReplacement.<init>(RegistryOverrideTest.java:56)
    [00:02:57] [main/WARN] [FML]: *  at net.minecraftforge.debug.RegistryOverrideTest$BlockReplacement.<init>(RegistryOverrideTest.java:53)
    [00:02:57] [main/WARN] [FML]: *  at net.minecraftforge.debug.RegistryOverrideTest.registerBlocks(RegistryOverrideTest.java:46)
    [00:02:57] [main/WARN] [FML]: *  at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_61_RegistryOverrideTest_registerBlocks_Register.invoke(.dynamic)...
    [00:02:57] [main/WARN] [FML]: ****************************************
    [00:02:57] [main/INFO] [FML]: Applying holder lookups
    [00:02:57] [main/INFO] [FML]: Holder lookups applied
    [00:02:57] [main/INFO] [FML]: Applying holder lookups
    [00:02:57] [main/INFO] [FML]: Holder lookups applied
    [00:02:57] [main/INFO] [FML]: Applying holder lookups
    [00:02:57] [main/INFO] [FML]: Holder lookups applied
    [00:02:57] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: OUTDATED Target: 14.23.0.2491
    [00:02:57] [main/INFO] [FML]: Applying holder lookups
    [00:02:57] [main/INFO] [FML]: Holder lookups applied
    [00:02:57] [main/INFO] [FML]: Injecting itemstacks
    [00:02:57] [main/INFO] [FML]: Itemstack injection complete
    [00:03:06] [Sound Library Loader/INFO]: Starting up SoundSystem...
    [00:03:06] [Thread-5/INFO]: Initializing LWJGL OpenAL
    [00:03:06] [Thread-5/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
    [00:03:06] [Thread-5/INFO]: OpenAL initialized.
    [00:03:06] [Sound Library Loader/INFO]: Sound engine started
    [00:03:21] [main/INFO] [FML]: Max texture size: 16384
    [00:03:22] [main/INFO]: Created: 512x512 textures-atlas
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant transparent_fast_tesr_test:fluid-tesr-block#fluid=15 for blockstate "transparent_fast_tesr_test:fluid-tesr-block[fluid=15]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model transparent_fast_tesr_test:fluid-tesr-block#fluid=15 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading blockstate for the variant transparent_fast_tesr_test:fluid-tesr-block#fluid=15: 
    java.lang.Exception: Could not load model definition for variant transparent_fast_tesr_test:fluid-tesr-block
    	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:266) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model transparent_fast_tesr_test:blockstates/fluid-tesr-block.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:262) ~[ModelLoader.class:?]
    	... 20 more
    Caused by: java.io.FileNotFoundException: transparent_fast_tesr_test:blockstates/fluid-tesr-block.json
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:83) ~[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:262) ~[ModelLoader.class:?]
    	... 20 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant transparent_fast_tesr_test:fluid-tesr-block#fluid=14 for blockstate "transparent_fast_tesr_test:fluid-tesr-block[fluid=14]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model transparent_fast_tesr_test:fluid-tesr-block#fluid=14 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant transparent_fast_tesr_test:fluid-tesr-block#fluid=13 for blockstate "transparent_fast_tesr_test:fluid-tesr-block[fluid=13]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model transparent_fast_tesr_test:fluid-tesr-block#fluid=13 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant transparent_fast_tesr_test:fluid-tesr-block#fluid=12 for blockstate "transparent_fast_tesr_test:fluid-tesr-block[fluid=12]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model transparent_fast_tesr_test:fluid-tesr-block#fluid=12 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant forgeblockstatesloader:custom_wall#east=false,north=false,south=false,up=false,variant=cobblestone,west=false for blockstate "forgeblockstatesloader:custom_wall[east=false,north=false,south=false,up=false,variant=cobblestone,west=false]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model forgeblockstatesloader:custom_wall#east=false,north=false,south=false,up=false,variant=cobblestone,west=false 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading blockstate for the variant forgeblockstatesloader:custom_wall#east=false,north=false,south=false,up=false,variant=cobblestone,west=false: 
    java.lang.Exception: Could not load model definition for variant forgeblockstatesloader:custom_wall
    	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:266) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model forgeblockstatesloader:blockstates/custom_wall.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:262) ~[ModelLoader.class:?]
    	... 20 more
    Caused by: java.io.FileNotFoundException: forgeblockstatesloader:blockstates/custom_wall.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:262) ~[ModelLoader.class:?]
    	... 20 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant forgeblockstatesloader:custom_wall#east=false,north=true,south=true,up=true,variant=mossy_cobblestone,west=false for blockstate "forgeblockstatesloader:custom_wall[east=false,north=true,south=true,up=true,variant=mossy_cobblestone,west=false]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model forgeblockstatesloader:custom_wall#east=false,north=true,south=true,up=true,variant=mossy_cobblestone,west=false 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant forgeblockstatesloader:custom_wall#east=false,north=true,south=true,up=false,variant=mossy_cobblestone,west=false for blockstate "forgeblockstatesloader:custom_wall[east=false,north=true,south=true,up=false,variant=mossy_cobblestone,west=false]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model forgeblockstatesloader:custom_wall#east=false,north=true,south=true,up=false,variant=mossy_cobblestone,west=false 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant forgeblockstatesloader:custom_wall#east=true,north=true,south=true,up=true,variant=mossy_cobblestone,west=false for blockstate "forgeblockstatesloader:custom_wall[east=true,north=true,south=true,up=true,variant=mossy_cobblestone,west=false]"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model forgeblockstatesloader:custom_wall#east=true,north=true,south=true,up=true,variant=mossy_cobblestone,west=false 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant slipperiness_test:boat_blaster#normal for blockstate "slipperiness_test:boat_blaster"
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model slipperiness_test:boat_blaster#normal 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:233) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 21 more
    [00:03:24] [main/ERROR] [FML]: Exception loading blockstate for the variant slipperiness_test:boat_blaster#normal: 
    java.lang.Exception: Could not load model definition for variant slipperiness_test:boat_blaster
    	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:266) ~[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:221) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model slipperiness_test:blockstates/boat_blaster.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:262) ~[ModelLoader.class:?]
    	... 20 more
    Caused by: java.io.FileNotFoundException: slipperiness_test:blockstates/boat_blaster.json
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:83) ~[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:262) ~[ModelLoader.class:?]
    	... 20 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant slipperiness_test:boat_blaster#inventory for item "slipperiness_test:boat_blaster", normal location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model slipperiness_test:item/boat_blaster with loader VanillaLoader.INSTANCE, skipping
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:297) ~[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:160) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    Caused by: java.io.FileNotFoundException: slipperiness_test:models/item/boat_blaster.json
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:69) ~[SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.access$8(ModelLoader.java:1) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:933) ~[ModelLoader$VanillaLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant slipperiness_test:boat_blaster#inventory for item "slipperiness_test:boat_blaster", blockstate location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model slipperiness_test:boat_blaster#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:305) ~[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:160) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant mapdatatest:custom_map#inventory for item "mapdatatest:custom_map", normal location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mapdatatest:item/custom_map with loader VanillaLoader.INSTANCE, skipping
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
    	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:297) ~[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:160) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    Caused by: java.io.FileNotFoundException: mapdatatest:models/item/custom_map.json
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:69) ~[SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.access$8(ModelLoader.java:1) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:933) ~[ModelLoader$VanillaLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [00:03:24] [main/ERROR] [FML]: Exception loading model for variant mapdatatest:custom_map#inventory for item "mapdatatest:custom_map", blockstate location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mapdatatest:custom_map#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:305) ~[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:160) ~[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:512) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    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:1242) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [00:03:24] [main/FATAL] [FML]: Suppressed additional 60 model loading errors for domain forgeblockstatesloader
    [00:03:24] [main/FATAL] [FML]: Suppressed additional 12 model loading errors for domain transparent_fast_tesr_test
    [00:03:24] [main/ERROR] [FML]: Parsing error loading recipe crafting_system_test:conditions_property_not_array
    com.google.gson.JsonSyntaxException: Expected conditions to be a JsonArray, was an object ({"no...y"})
    	at net.minecraft.util.JsonUtils.getJsonArray(JsonUtils.java:255) ~[JsonUtils.class:?]
    	at net.minecraft.util.JsonUtils.getJsonArray(JsonUtils.java:263) ~[JsonUtils.class:?]
    	at net.minecraftforge.common.crafting.CraftingHelper.lambda$27(CraftingHelper.java:709) ~[CraftingHelper.class:?]
    	at net.minecraftforge.common.crafting.CraftingHelper.findFiles(CraftingHelper.java:822) ~[CraftingHelper.class:?]
    	at net.minecraftforge.common.crafting.CraftingHelper.loadRecipes(CraftingHelper.java:668) ~[CraftingHelper.class:?]
    	at java.util.ArrayList.forEach(Unknown Source) [?:1.8.0_144]
    	at net.minecraftforge.common.crafting.CraftingHelper.loadRecipes(CraftingHelper.java:620) [CraftingHelper.class:?]
    	at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:717) [Loader.class:?]
    	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:348) [FMLClientHandler.class:?]
    	at net.minecraft.client.Minecraft.init(Minecraft.java:534) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:377) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	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_144]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [bin/:?]
    	at GradleStart.main(GradleStart.java:26) [bin/:?]
    [00:03:24] [main/INFO] [FML]: Registering Test Recipes:
    [00:03:24] [main/INFO] [FML]: Applying holder lookups
    [00:03:24] [main/INFO] [FML]: Holder lookups applied
    [00:03:24] [main/INFO] [FML]: Injecting itemstacks
    [00:03:24] [main/INFO] [FML]: Itemstack injection complete
    [00:03:25] [main/INFO] [FML]: Forge Mod Loader has successfully loaded 83 mods
    [00:03:25] [main/INFO]: Narrator library for x64 successfully loaded
    [00:03:26] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id

    Don't worry about those errors. They're caused by other test mods. They really should all be disabled* by default, but many of them don't have the code to do that. It annoys me too, maybe I'll make a PR to fix that sometime.

     

    Anyway, I'd like to understand the proper way to run Forge, and also how to apply some test mod code to the project.

     

    Thanks.

     

    53 minutes ago, jabelar said:

    Regarding the test code, I do see that there are a bunch of files in the debug and test folders and many in the debug folders are annotated as mods which also show up when I do the Forge Client or Forge Server run configurations. So I'm guessing that we're supposed to put our test mod code into a single file which we put into the debug folder? That seems a bit limiting as I wanted to do some pull requests related to fluids but would need a fair number of classes and such -- would I still try to put that all into a single file?

    Yes, each test mod is supposed to be in a single file to my knowledge. You can have as many classes as you like in one file with nested classes though. If you have more than a few classes it isn't the prettiest thing, but test mods are for testing PRs, they don't need to be pretty.

     

    Also, with all those test mods loading, isn't there potential for trouble? I don't want the test mods interfering with my testing ...

    It's unlikely, the test mods are generally quite specific and the test mods that do modify gameplay(e.g make dropped apples explosive) are disabled* by default.

    *Some of the test mods have a constant which is false by default. Unless this constant is changed to true, they still load but do absolutely nothing. I recommend you do this with your test mod, as it makes things cleaner, makes load times shorter and reduces the likelihood of test mods interfering with each other. 

  5. The qualified names you're giving as the proxy locations don't match the qualified names of the proxy classes. For example, you tell Forge your client proxy is com.absithiumgamer.learningmod.proxy.ClientProxy, but it is really Com.absithiumgamer.learningmod.proxy.ClientProxy. On another note, your package names do not follow java convention. Java naming conventions say that package names should be lowercase, you start your package names with an uppercase letter. Your class names are fine, they are PascalCase, as they should be.

  6. Two things. One, "NEED HELP" is a terrible thread title. It tells me nothing about your problem, you wouldn't be posting here if you didn't need help. A thread title should give some idea of the problem.

    Two, you have not supplied the relevant code, making it less likely that someone can help you.

     

    As for your problem, it looks like your proxy isn't where you've told Forge it is.

  7. Your property won't work because the fish hook doesn't include the looted entity in the LootContext it uses to generate fishing loot. It doesn't include the player either, so you can't check the biome of either entity. I'm working on a Forge PR to include the player, looted entity, damage source & player luck in all the loot contexts that they are applicable to and available to.

     

    There are also two other issues with your property.

    Firstly, a separate property for every class is completely unnecessary, you have complete control over the serialisation and deserialisation of your property. If you need info for your property, just figure out how to express it in string form, then you can specify it in the .json and deserialise it into whatever format you need. 

    Secondly, you shouldn't be using the minecraft domain as your property is not part of vanilla Minecraft. Use your mod's mod ID as the domain.

  8. ·

    Edited by Leviathan143
    Remove doubled ==.

    Your pseudocode is on the right track. To get the string id of the entity, you can pass it into EntityList.getEntityString(). You should also be using Object#equals() to check string equality, rather than ==. == checks identity, it returns true if the two objects are the same object, i.e they are located at the same memory address. Object#equals() returns true if the two objects can be considered equivalent, the definition of equivalence depends on the object. For a String, two Strings are equal if they have the same characters at the same positions.

  9. ·

    Edited by Leviathan143
    Correct typo. Compound tags are maps

    23 hours ago, oldcheese said:

    I'm wondering what the exact benefit would be over using a taglist? Also, my taglist doesn't seem to work. 

     

    Right now I'm using the following code to try and Write to the NBT: 

    
        @Override
        public NBTBase writeNBT(Capability<IAdventurerHandler> capability, IAdventurerHandler instance, EnumFacing side) {
            final NBTTagCompound tag = new NBTTagCompound();
            boolean[] list = instance.getAllLevels();
            int[] intlist = instance.getAllHotkeys();
            NBTTagCompound tagappendbool = new NBTTagCompound();
            NBTTagList taglist = new NBTTagList();
            NBTTagList tagHot = new NBTTagList();
            for(int i = 0; i < list.length; i++){
                Boolean s = list[i];
                System.out.println(list[i]);
                    tag.setBoolean("Boolean", s);
                    taglist.appendTag(tagappendbool);
    
            }
            tag.setTag("BooleanList", taglist);
            for(int i = 0; i < intlist.length; i++)
            {
                int k = intlist[i];
                System.out.println(intlist[i]);
                NBTTagCompound tag3 = new NBTTagCompound();
                tag3.setInteger("Int", k);
                tagHot.appendTag(tag3);
            }
    
            tag.setTag("hotlist", tagHot);
            tag.setInteger("level", instance.getLevel());
            tag.setInteger("xp", instance.getXP());
            tag.setInteger("power", instance.getPower());
            return tag;

     

    but it seems to me I could just have my for loop run

    
    tag.setInteger("Int" + i, k);

     

    instead of first adding them to a taglist and then appending said taglist.

     

    Is there any benefit to adding arrays to taglists over just looping through the array?

    Your question is analogous to asking 'Is there any benefit to using java.util.List over using java.util.Map for indexed data storage?` as NBTTagCompound and NBTTagList are internally backed by a Map and a List respectively. The answer to the question is yes. java.util.List is designed for indexed data storage, java.util.Map is not. Consequently, using java.util.Map for indexed data storage is a terrible idea as it was not designed with that purpose in mind. If you have a problem, use a class that is meant to solve that problem rather than abusing another to do the job. The latter may be functional, but the former is both functional and more efficient. 

    So please use NBTTagList, not NBTTagCompound for your purpose.

  10. 4 hours ago, Plgue said:

    Never mind, this is what i'm currently using

    entity.world.playSound(null, entity.chunkCoordX, entity.chunkCoordY, entity.chunkCoordZ, ModSounds.BATTLE_MUSIC, SoundCategory.MUSIC, 100, 1);

    But it still does not work

    It's not working because you are passing chunk coordinates into a method that takes world coordinates. You want Entity#posXEntity#posY & Entity#posZ.

  11. 5 minutes ago, jeffryfisher said:

    I haven't seen this command before. Did Forge stop using setupDecompWorkspace?

     

    If you're getting so many missing classes, then the deobfuscation didn't happen. Install again.

    Silly511 is setting up a Forge development workspace in order to submit a PR to Forge, not a Forge mod development workspace. The setup process for the former is quite different from the latter.

  12. A better approach would be to iterate over IChatComponent#getSiblings() until the chat component you want to change the style of is found. You can get the style of a chat component with IChatComponent#getChatStyle() and then the colour with ChatStyle#getColor(). From there you can change the ChatStyle retrieved with IChatComponent#getChatStyle() however you like using the methods it provides.

  13. ·

    Edited by Leviathan143

    12 minutes ago, fuzzybat23 said:

    You have to forgive me, I'm kinda learning this as I go, crash course ;D  Crash being the keyword here.  Heh, anyway.. local variables,  So I'd need to declare final static Field f; in my main class, then?

     

    
    public class whatever {
    	final static Field f;
    
    
    	private static float getBlockDamage()
    	{
    		    try
        		{
        			f = RenderGlobal.class.getDeclaredField("damagedBlocks");
        		}
        		catch (NoSuchFieldException e)
        		{
        			f = RenderGlobal.class.getDeclaredField("field_72738_E");
        		}
    	}
    }

     

    Learning as you go is a very bad idea. I know, I did it, it was not enjoyable. 

     

    Go learn Java properly. Start with Hello World and build up from there. You will find this much easier once you've done that.

    Oracle has some excellent tutorials here and here.

  14. ·

    Edited by Leviathan143
    Mention finally block

    38 minutes ago, fuzzybat23 said:

    Nope, adding static and final to Field just threw a bunch of errors in my face.

    
    static final Field f;  <--  Illegal modifier for the variable f; only final is permitted
    
    final Field f;
        		try
        		{
        			f = RenderGlobal.class.getDeclaredField("damagedBlocks");
        		}
        		catch (NoSuchFieldException e)
        		{
        			f = RenderGlobal.class.getDeclaredField("field_72738_E");  <--  The final local variable f may already have been assigned
        		}

    Though.. with a try, you can't load both the first value and the exception value, right?  It's a one or the other, like an If else clause.

    Local variables cannot be static. You need to use a member variable instead. Reflection is expensive, so you want to reflect efficiently. Method, Field, Class, etc objects obtained via reflection only need to be obtained once for a class and its children. So you should only obtain them once and then store them.

     

    Also, you should be using ReflectionHelper to get the Field objects. It allows you to deal with obfuscation much more easily as all its methods take an array of names for the field/class/whatever, if it can't find the thing under one name it tries the next one.

     

    You may be interested in knowing about the try statement's finally block.

  15. 12 minutes ago, IceMetalPunk said:

    Thank you! This fixed it!

    However, I now noticed something that may have been a problem before, but I didn't realize until now. The block-breaking particles from the trapped shulker boxes are the purple-and-black "no texture" image. Without a block model, how do I define the particle texture?

    You might like to know that you can replace TrappedShulkerStateMapper with an anonymous class. This allows you to avoid having to create a new class that you will only ever instantiate and use once. Since you are using 1.12 where Java 8 is required, you can also use a lambda expression instead. A lambda would be even shorter than the anonymous class. Which to use, or the choice to not use either at all is up to you. I just thought I'd inform you of some of Java's features that could make this easier.

  16. ·

    Edited by Leviathan143

    15 hours ago, JTK222 said:

    Ok found a solution, only one problem left D:

     

    I cant figure out in which format the Keys for the variants in ModelBlockDefinition are.
    The variable is private and the only getter method for this returns it's values. Does anybody maybe know the format?
    Or tell me how to figure it out by myself? (I guess that would be possible with reflections even though I don't have much experience with that)

    The keys look to be the variant names. To clarify, they are the strings you put before a variant to specify the conditions that should cause that variant to be used. Examples of variant names include "facing=up", "snowy=true", "facing=top, part=top", etc.

     

    I figured this out by creating exit breakpoints on both of the constructors of ModelBlockDefinition. Then I launched in debug mode; when execution suspended due to one of the breakpoints, I hovered over mapVariants in the source and looked at the string representation of it in the lower popup. I'm using Eclipse, but IDEA should have something similar.

     

  17. ·

    Edited by Leviathan143

    15 minutes ago, TheASTRO said:

    By the way: I`ve just tested it on 1.8 and have same problem. What may course it?

    There's nothing wrong here. Gradle does not generate the eclipse folder, it's only found in the MDK. The eclipse folder is completely unnecessary and in my opinion it is not a good way to manage a project. It only allows for one project in an Eclipse workspace and requires downloading/copying the MDK to create a new project. I would recommend using a multiproject workspace instead. Lex has made a video tutorial on this, it can be found here. He recommends using setupDevWorkspace, however I would strongly recommend setupDecompWorkspace as it allows you to look at the decompiled MC source.

     

    Additionally, I would not recommend targeting 1.8, target 1.9.4 at the very least, preferably 1.10.2 or 1.11.2. 1.8 had a lot of issues due the the massive changes to the rendering system, these issues were mostly remedied by Forge for MC 1.9.4.

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.