Jump to content

Recommended Posts

Posted (edited)

So I'm fairly new to coding, and I got stuck on blockstates. Everyt2017-04-25_23_48_39.thumb.png.0179bf153719af22b84e93bf4bf15546.pnghing

seems to be working, except for this one...small thing.

I'm trying to make planks for several different types of wood. Except for a few of the fruit trees, the item just has the black-and-purple texture. The fruit trees, on the other hand, are displaying the actual fruit item textures.2017-04-25_23_48_52.thumb.png.8c5003f2d155c523bf1e0f8306c735bd.png

 

I have quadruple checked the json and texture files, so I'm fairly sure it's an issue with my woodPlanks class. The code is below:

 

 

package com.olivia.torahai;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class BlockWoodPlanks1 extends Block
{
    public static final PropertyEnum<BlockWoodPlanks1.EnumType> VARIANT = PropertyEnum.<BlockWoodPlanks1.EnumType>create("variant", BlockWoodPlanks1.EnumType.class);
    String name = "woodPlanks1";
   
    public BlockWoodPlanks1()
    {
        super(Material.wood);
        GameRegistry.registerBlock(this, ItemWoodPlanks1Block.class, name);
  setUnlocalizedName(TorahaiMod.MODID + "_" + name);
  setHardness(2F);
  setResistance(10F);
  setStepSound(soundTypeWood);
  setHarvestLevel("axe", 0);
  setCreativeTab(TorahaiMod.torahaiBlocks);
    }
    /**
     * Gets the metadata of the item this Block can drop. This method is called when the block gets destroyed. It
     * returns the metadata of the dropped item based on the old metadata of the block.
     */
    public int damageDropped(IBlockState state)
    {
        return ((BlockWoodPlanks1.EnumType)state.getValue(VARIANT)).getMetadata();
    }
    /**
     * returns a list of blocks with the same ID, but different meta (eg: wood returns 16 blocks)
     */
    @SideOnly(Side.CLIENT)
    public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list)
    {
        for (BlockWoodPlanks1.EnumType blockplanks$enumtype : BlockWoodPlanks1.EnumType.values())
        {
            list.add(new ItemStack(itemIn, 1, blockplanks$enumtype.getMetadata()));
        }
    }
    /**
     * Convert the given metadata into a BlockState for this Block
     */
    public IBlockState getStateFromMeta(int meta)
    {
        return this.getDefaultState().withProperty(VARIANT, BlockWoodPlanks1.EnumType.byMetadata(meta));
    }
    /**
     * Convert the BlockState into the correct metadata value
     */
    public int getMetaFromState(IBlockState state)
    {
        return ((BlockWoodPlanks1.EnumType)state.getValue(VARIANT)).getMetadata();
    }
    protected BlockState createBlockState()
    {
        return new BlockState(this, new IProperty[] {VARIANT});
    }
    public static enum EnumType implements IStringSerializable
    {
        FIR(0, "fir", MapColor.woodColor),
        GREATFIR(1, "greatfir", MapColor.woodColor),
        REDCEDAR(2, "redcedar", MapColor.woodColor),
        CLOUDCEDAR(3, "cloudcedar", MapColor.woodColor),
        MANGROVE(4, "mangrove", MapColor.woodColor),
        HEMLOCK(5, "hemlock", MapColor.woodColor),
     PINE(6, "pine", MapColor.woodColor),
     MAPLE(7, "maple", MapColor.woodColor),
     APPLE(8, "apple", MapColor.woodColor),
     PEAR(9, "pear", MapColor.woodColor),
     CHERRY(10, "cherry", MapColor.woodColor),
     ORANGE(11, "orange", MapColor.woodColor),
     LEMON(12, "lemon", MapColor.woodColor),
     LIME(13, "lime", MapColor.woodColor),
     ALMOND(14, "almond", MapColor.woodColor),
     OLIVE(15, "olive", MapColor.woodColor);
        private static final BlockWoodPlanks1.EnumType[] META_LOOKUP = new BlockWoodPlanks1.EnumType[values().length];
        private final int meta;
        private final String name;
        private final String unlocalizedName;
        private final MapColor field_181071_k;
        private EnumType(int p_i46388_3_, String p_i46388_4_, MapColor p_i46388_5_)
        {
            this(p_i46388_3_, p_i46388_4_, p_i46388_4_, p_i46388_5_);
        }
        private EnumType(int p_i46389_3_, String p_i46389_4_, String p_i46389_5_, MapColor p_i46389_6_)
        {
            this.meta = p_i46389_3_;
            this.name = p_i46389_4_;
            this.unlocalizedName = p_i46389_5_;
            this.field_181071_k = p_i46389_6_;
        }
        public int getMetadata()
        {
            return this.meta;
        }
        public MapColor func_181070_c()
        {
            return this.field_181071_k;
        }
        public String toString()
        {
            return this.name;
        }
        public static BlockWoodPlanks1.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 (BlockWoodPlanks1.EnumType blockplanks$enumtype : values())
            {
                META_LOOKUP[blockplanks$enumtype.getMetadata()] = blockplanks$enumtype;
            }
           
  }
        private String getResourceLocation()
  {
   return TorahaiMod.MODID + ":" + name;
  }
  public static void registerVariants()
  {
   String[] variants = new String[values().length];
   for (int i = 0; i < values().length; i++)
   {
    variants = values().getResourceLocation();
   }
   ModelBakery.addVariantName(Item.getItemFromBlock(TorahaiMod.woodPlanks1), variants);
  }
  public static void registerRenders()
  {
   RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
   for (int i = 0; i < values().length; i++)
   {
    renderItem.getItemModelMesher().register(Item.getItemFromBlock(TorahaiMod.woodPlanks1), i, new ModelResourceLocation(values().getResourceLocation(), "inventory"));
   }
  }
 }
}
Edited by StormDragon28
My pictures were huge and made the post look horrible XD
Posted

It's very likely to be a json problem. Please post your blockstates, block and model files, and the full console log - and use the code tags (<> button) - it makes it much easier to read.

Posted

A few notes:

  • In EnumType:
    • Field meta is obsolete, use the autogenerated enum method Enum#ordinal() instead. Returns the index of the enum in the declared order starting from 0.
    • Static field META_LOOKUP is obsolete, just do Enum#values()[index] on demand. The compiler generates a VALUES array, which is then directly returned by Enum#values()
    • The field name is obsolete, every enum stores its declaration name as a field, which can be accessed with Enum#name(). It returns the exact field name (often uppercase), so you have to toLowerCase() it before using it in this case. The getName() method can thus be overridden to return name().toLowerCase();
    • Also note the Enum#valueOf(String) method, which looks up an enum by its field name (often uppercase).

    • It might be worth your time disassembling a simple enum with a few fields to see what the compiler does to it (you can also use the ASM plugin for idea/eclipse to see the bytecode):

      • user@machine:~$ javac TestEnum.java; javap -l -p -c -s -constants TestEnum.class

  • Instead of you private getResourceLocation(), use getRegistryName().toString(). Same result, but avoids the code duplication.
  • Set the registry name in the constructor with setRegistryName(new ResourceLocation(MODID, name)). I'm surprised Forge didn't scream at you for not doing it.
  • Unlocalized names are per convention in the form MODID:NAME. Although other things will work, they don't follow convention.
    • Set your registry name first and then set your unlocalized name with setUnlocalizedName(getRegistryName().toString()). This follows the convention and makes sure your registry name is symmetric with the unlocalized name, which makes things more organised.
  • Like 1
Posted
  On 4/26/2017 at 9:52 AM, Jay Avery said:

It's very likely to be a json problem. Please post your blockstates, block and model files, and the full console log - and use the code tags (<> button) - it makes it much easier to read.

Expand  

Blockstate json:

{
    "variants": {
        "variant=fir": { "model": "olivia_torahai:firPlanks" },
        "variant=greatfir": { "model": "olivia_torahai:greatFirPlanks" },
        "variant=redcedar": { "model": "olivia_torahai:redCedarPlanks" },
        "variant=cloudcedar": { "model": "olivia_torahai:cloudCedarPlanks" },
        "variant=mangrove": { "model": "olivia_torahai:mangrovePlanks" },
        "variant=hemlock": { "model": "olivia_torahai:hemlockPlanks" },
        "variant=pine": { "model": "olivia_torahai:pinePlanks" },
        "variant=maple": { "model": "olivia_torahai:maplePlanks" },
        "variant=apple": { "model": "olivia_torahai:applePlanks" },
        "variant=pear": { "model": "olivia_torahai:pearPlanks" },
        "variant=cherry": { "model": "olivia_torahai:cherryPlanks" },
        "variant=orange": { "model": "olivia_torahai:orangePlanks" },
        "variant=lemon": { "model": "olivia_torahai:lemonPlanks" },
        "variant=lime": { "model": "olivia_torahai:limePlanks" },
        "variant=almond": { "model": "olivia_torahai:almondPlanks" },
        "variant=olive": { "model": "olivia_torahai:olivePlanks" }
    }
}

 

Models/block json (for almond planks)

{
    "parent": "block/cube_all",
    "textures": {
        "all": "olivia_torahai:blocks/almondPlanks"
    }
}

 

Models/item json (also for almond planks)

{
    "parent": "olivia_torahai:block/almondPlanks",
    "display": {
        "thirdperson": {
            "rotation": [ 10, -45, 170 ],
            "translation": [ 0, 1.5, -2.75 ],
            "scale": [ 0.375, 0.375, 0.375 ]
        }
    }
}

 

Console:

2017-04-26 10:39:26,626 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2017-04-26 10:39:26,629 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[10:39:26] [main/INFO] [GradleStart]: Extra: []
[10:39:26] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/olivi/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken{REDACTED}, --version, 1.8.9, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[10:39:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[10:39:26] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[10:39:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[10:39:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[10:39:26] [main/INFO] [FML]: Forge Mod Loader version 11.15.1.1722 for Minecraft 1.8.9 loading
[10:39:26] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_121, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_121
[10:39:26] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[10:39:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[10:39:26] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[10:39:26] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[10:39:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[10:39:27] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[10:39:27] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[10:39:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[10:39:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[10:39:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[10:39:27] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[10:39:29] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[10:39:29] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[10:39:29] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[10:39:31] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[10:39:31] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[10:39:31] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[10:39:31] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
2017-04-26 10:39:33,209 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2017-04-26 10:39:33,318 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2017-04-26 10:39:33,339 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[10:39:34] [Client thread/INFO]: Setting user: Player489
[10:39:44] [Client thread/INFO]: LWJGL Version: 2.9.4
[10:39:46] [Client thread/WARN] [FML]: =============================================================
[10:39:46] [Client thread/WARN] [FML]: MOD HAS DIRECT REFERENCE System.exit() THIS IS NOT ALLOWED REROUTING TO FML!
[10:39:46] [Client thread/WARN] [FML]: Offendor: com/sun/jna/Native.main([Ljava/lang/String;)V
[10:39:46] [Client thread/WARN] [FML]: Use FMLCommonHandler.exitJava instead
[10:39:46] [Client thread/WARN] [FML]: =============================================================
[10:39:47] [Client thread/INFO] [STDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:246]: ---- Minecraft Crash Report ----
// Oops.

Time: 4/26/17 10:39 AM
Description: Loading screen debug info

This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR


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

-- System Details --
Details:
	Minecraft Version: 1.8.9
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_121, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 769796432 bytes (734 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: 
	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'Intel' Version: '4.4.0 - Build 21.20.16.4542' Renderer: 'Intel(R) HD Graphics 520'
[10:39:48] [Client thread/INFO] [FML]: MinecraftForge v11.15.1.1722 Initialized
[10:39:48] [Client thread/INFO] [FML]: Replaced 204 ore recipies
[10:39:48] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[10:39:48] [Client thread/INFO] [FML]: Searching C:\Users\olivi\Desktop\Programming\forge\run\mods for mods
[10:39:52] [Client thread/INFO] [olivia_torahai]: Mod olivia_torahai is missing the required element 'name'. Substituting olivia_torahai
[10:39:53] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[10:39:54] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, olivia_torahai] at CLIENT
[10:39:54] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, olivia_torahai] at SERVER
[10:39:55] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:olivia_torahai
[10:39:55] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[10:39:55] [Client thread/INFO] [FML]: Found 384 ObjectHolder annotations
[10:39:55] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[10:39:55] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[10:39:55] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[10:39:55] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[10:39:56] [Client thread/INFO] [FML]: Applying holder lookups
[10:39:56] [Client thread/INFO] [FML]: Holder lookups applied
[10:39:56] [Client thread/INFO] [FML]: Injecting itemstacks
[10:39:56] [Client thread/INFO] [FML]: Itemstack injection complete
[10:39:56] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Found status: UP_TO_DATE Target: null
[10:39:57] [Sound Library Loader/INFO]: Starting up SoundSystem...
[10:39:57] [Thread-9/INFO]: Initializing LWJGL OpenAL
[10:39:57] [Thread-9/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[10:39:57] [Thread-9/INFO]: OpenAL initialized.
[10:39:57] [Sound Library Loader/INFO]: Sound engine started
[10:40:22] [Client thread/ERROR] [FML]: Exception loading model olivia_torahai:block/hyrsaur with loader instance, skipping
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 5 column 3
	at com.google.gson.internal.Streams.parse(Streams.java:56) ~[Streams.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:741) ~[Gson.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:43) ~[ModelBlock.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadModel(ModelBakery.java:250) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1100(ModelLoader.java:89) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:871) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:129) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:381) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:362) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.resolveDependencies(ModelLoader.java:408) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:382) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:362) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:243) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) [ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:120) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:515) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 5 column 3
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:480) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:403) ~[JsonReader.class:?]
	at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:666) ~[TypeAdapters$25.class:?]
	at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[TypeAdapters$25.class:?]
	at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:642) ~[TypeAdapters$25.class:?]
	at com.google.gson.internal.Streams.parse(Streams.java:44) ~[Streams.class:?]
	... 32 more
[10:40:23] [Client thread/ERROR] [FML]: Exception loading model olivia_torahai:item/tomatoPlant with loader instance, skipping
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Not a JSON Object: "parent"
	at com.google.gson.Gson.fromJson(Gson.java:815) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:741) ~[Gson.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:43) ~[ModelBlock.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadModel(ModelBakery.java:250) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1100(ModelLoader.java:89) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:871) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:129) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:381) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:362) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:243) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) [ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:120) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:515) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.IllegalStateException: Not a JSON Object: "parent"
	at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90) ~[JsonElement.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:224) ~[ModelBlock$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:219) ~[ModelBlock$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	... 27 more
[10:40:23] [Client thread/INFO] [FML]: Max texture size: 16384
[10:40:23] [Client thread/INFO]: Created: 16x16 textures-atlas
[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:thatchDoubleSlab#variant=birch
java.lang.Exception: Could not load model definition for variant olivia_torahai:thatchDoubleSlab#variant=birch
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadVariants(ModelBakery.java:109) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:174) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:119) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:120) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:515) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'olivia_torahai:thatchDoubleSlab#variant=birch' from: 'olivia_torahai:blockstates/thatchDoubleSlab.json' in resourcepack: 'FMLFileResourcePack:olivia_torahai'
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:155) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 20 more
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.Gson.fromJson(Gson.java:818) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 20 more
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:480) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.skipValue(JsonReader.java:1209) ~[JsonReader.class:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:170) ~[ReflectiveTypeAdapterFactory$Adapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 20 more
[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:thatchDoubleSlab#variant=oak
java.lang.Exception: Could not load model definition for variant olivia_torahai:thatchDoubleSlab#variant=oak
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadVariants(ModelBakery.java:109) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:174) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:119) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:120) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:515) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'olivia_torahai:thatchDoubleSlab#variant=oak' from: 'olivia_torahai:blockstates/thatchDoubleSlab.json' in resourcepack: 'FMLFileResourcePack:olivia_torahai'
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:155) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 20 more
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.Gson.fromJson(Gson.java:818) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 20 more
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:480) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.skipValue(JsonReader.java:1209) ~[JsonReader.class:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:170) ~[ReflectiveTypeAdapterFactory$Adapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 20 more
[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:olive#inventory
java.lang.Exception: Could not load model definition for variant olivia_torahai:olive#inventory
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:256) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:120) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:515) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model olivia_torahai:blockstates/olive.json
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:165) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 19 more
Caused by: java.io.FileNotFoundException: olivia_torahai:blockstates/olive.json
	at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:93) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:78) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:143) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 19 more
[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:pine#inventory
java.lang.Exception: Could not load model definition for variant olivia_torahai:pine#inventory
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:256) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:120) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:515) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model olivia_torahai:blockstates/pine.json
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:165) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 19 more
Caused by: java.io.FileNotFoundException: olivia_torahai:blockstates/pine.json
	at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:93) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:78) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:143) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 19 more
[10:40:24] [Client thread/ERROR] [FML]: Supressed additional 55 model loading errors for domain olivia_torahai
[10:40:25] [Client thread/INFO] [FML]: Injecting itemstacks
[10:40:25] [Client thread/INFO] [FML]: Itemstack injection complete
[10:40:25] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
[10:40:25] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:olivia_torahai
[10:40:25] [Client thread/INFO]: SoundSystem shutting down...
[10:40:26] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[10:40:26] [Sound Library Loader/INFO]: Starting up SoundSystem...
[10:40:26] [Thread-11/INFO]: Initializing LWJGL OpenAL
[10:40:26] [Thread-11/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[10:40:26] [Thread-11/INFO]: OpenAL initialized.
[10:40:26] [Sound Library Loader/INFO]: Sound engine started
[10:40:44] [Client thread/ERROR] [FML]: Exception loading model olivia_torahai:block/hyrsaur with loader instance, skipping
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 5 column 3
	at com.google.gson.internal.Streams.parse(Streams.java:56) ~[Streams.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:741) ~[Gson.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:43) ~[ModelBlock.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadModel(ModelBakery.java:250) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1100(ModelLoader.java:89) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:871) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:129) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:381) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:362) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.resolveDependencies(ModelLoader.java:408) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:382) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:362) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:243) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) [ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:111) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:772) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:326) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 5 column 3
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:480) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:403) ~[JsonReader.class:?]
	at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:666) ~[TypeAdapters$25.class:?]
	at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[TypeAdapters$25.class:?]
	at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:642) ~[TypeAdapters$25.class:?]
	at com.google.gson.internal.Streams.parse(Streams.java:44) ~[Streams.class:?]
	... 35 more
[10:40:44] [Client thread/ERROR] [FML]: Exception loading model olivia_torahai:item/tomatoPlant with loader instance, skipping
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Not a JSON Object: "parent"
	at com.google.gson.Gson.fromJson(Gson.java:815) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:741) ~[Gson.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:43) ~[ModelBlock.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadModel(ModelBakery.java:250) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1100(ModelLoader.java:89) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:871) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:129) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:381) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:362) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:243) [ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) [ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:111) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:772) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:326) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.IllegalStateException: Not a JSON Object: "parent"
	at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90) ~[JsonElement.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:224) ~[ModelBlock$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:219) ~[ModelBlock$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	... 30 more
[10:40:44] [Client thread/INFO] [FML]: Max texture size: 16384
[10:40:46] [Client thread/INFO]: Created: 512x512 textures-atlas
[10:40:46] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:thatchDoubleSlab#variant=birch
java.lang.Exception: Could not load model definition for variant olivia_torahai:thatchDoubleSlab#variant=birch
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadVariants(ModelBakery.java:109) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:174) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:119) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:111) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:772) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:326) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'olivia_torahai:thatchDoubleSlab#variant=birch' from: 'olivia_torahai:blockstates/thatchDoubleSlab.json' in resourcepack: 'FMLFileResourcePack:olivia_torahai'
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:155) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 23 more
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.Gson.fromJson(Gson.java:818) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 23 more
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:480) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.skipValue(JsonReader.java:1209) ~[JsonReader.class:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:170) ~[ReflectiveTypeAdapterFactory$Adapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 23 more
[10:40:46] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:thatchDoubleSlab#variant=oak
java.lang.Exception: Could not load model definition for variant olivia_torahai:thatchDoubleSlab#variant=oak
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelBakery.loadVariants(ModelBakery.java:109) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:174) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:119) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:111) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:772) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:326) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'olivia_torahai:thatchDoubleSlab#variant=oak' from: 'olivia_torahai:blockstates/thatchDoubleSlab.json' in resourcepack: 'FMLFileResourcePack:olivia_torahai'
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:155) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 23 more
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.Gson.fromJson(Gson.java:818) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 23 more
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:480) ~[JsonReader.class:?]
	at com.google.gson.stream.JsonReader.skipValue(JsonReader.java:1209) ~[JsonReader.class:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:170) ~[ReflectiveTypeAdapterFactory$Adapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:52) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:32) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:150) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 23 more
[10:40:46] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:olive#inventory
java.lang.Exception: Could not load model definition for variant olivia_torahai:olive#inventory
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:256) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:111) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:772) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:326) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model olivia_torahai:blockstates/olive.json
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:165) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 22 more
Caused by: java.io.FileNotFoundException: olivia_torahai:blockstates/olive.json
	at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:93) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:78) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:143) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 22 more
[10:40:46] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:pine#inventory
java.lang.Exception: Could not load model definition for variant olivia_torahai:pine#inventory
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:219) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItems(ModelLoader.java:256) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:120) ~[ModelLoader.class:?]
	at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:111) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:772) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:326) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:360) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model olivia_torahai:blockstates/pine.json
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:165) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 22 more
Caused by: java.io.FileNotFoundException: olivia_torahai:blockstates/pine.json
	at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:93) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:78) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:143) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]
	... 22 more

 

Posted
  On 4/26/2017 at 3:49 PM, HashtagShell said:

A few notes:

  • In EnumType:
    • Field meta is obsolete, use the autogenerated enum method Enum#ordinal() instead. Returns the index of the enum in the declared order starting from 0.
    • Static field META_LOOKUP is obsolete, just do Enum#values()[index] on demand. The compiler generates a VALUES array, which is then directly returned by Enum#values()
    • The field name is obsolete, every enum stores its declaration name as a field, which can be accessed with Enum#name(). It returns the exact field name (often uppercase), so you have to toLowerCase() it before using it in this case. The getName() method can thus be overridden to return name().toLowerCase();
    • Also note the Enum#valueOf(String) method, which looks up an enum by its field name (often uppercase).

    • It might be worth your time disassembling a simple enum with a few fields to see what the compiler does to it (you can also use the ASM plugin for idea/eclipse to see the bytecode):

      • user@machine:~$ javac TestEnum.java; javap -l -p -c -s -constants TestEnum.class

  • Instead of you private getResourceLocation(), use getRegistryName().toString(). Same result, but avoids the code duplication.
  • Set the registry name in the constructor with setRegistryName(new ResourceLocation(MODID, name)). I'm surprised Forge didn't scream at you for not doing it.
  • Unlocalized names are per convention in the form MODID:NAME. Although other things will work, they don't follow convention.
    • Set your registry name first and then set your unlocalized name with setUnlocalizedName(getRegistryName().toString()). This follows the convention and makes sure your registry name is symmetric with the unlocalized name, which makes things more organised.
Expand  

Hm ok. This was mostly copied and pasted from somewhere else, and I didn't know what all was important. Thanks!

Posted
  On 4/26/2017 at 5:48 PM, StormDragon28 said:

This was mostly copied and pasted from somewhere else

Expand  
 
 

Tip 1: Try avoiding copy&paste.

Tip 2: If you do have to copy&paste, make sure to read through and understand what the code is doing. Avoid "blind" copy&pasting.

Tip 3: Refactor and optimise the code to your liking and your style of coding.

 

Example:

When I had to copy the elytra motion logic, I went through it and analysed every statement, commented it with what it did, and, in this concrete example, removed all the Mojang derps.

(https://gitlab.com/snippets/1657880)

 

If I may ask, where was this specifically copied from? If it was vanilla minecraft, then the decompiler might have been confused by how enums work in Java, producing this mess.

Posted
  On 4/26/2017 at 6:34 PM, HashtagShell said:

Tip 1: Try avoiding copy&paste.

Tip 2: If you do have to copy&paste, make sure to read through and understand what the code is doing. Avoid "blind" copy&pasting.

Tip 3: Refactor and optimise the code to your liking and your style of coding.

 

Example:

When I had to copy the elytra motion logic, I went through it and analysed every statement, commented it with what it did, and, in this concrete example, removed all the Mojang derps.

(https://gitlab.com/snippets/1657880)

 

If I may ask, where was this specifically copied from? If it was vanilla minecraft, then the decompiler might have been confused by how enums work in Java, producing this mess.

Expand  

It was from Vanilla. I would totally make all kinds of adjustments, but I have no idea what I'm doing xD

  • Like 1
Posted
  On 4/26/2017 at 5:43 PM, StormDragon28 said:

firPlanks

Expand  

Resources must be all lower case, files and code references.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted
  Quote

[10:40:22] [Client thread/ERROR] [FML]: Exception loading model olivia_torahai:block/hyrsaur with loader instance, skipping
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 5 column 3

 

...


[10:40:23] [Client thread/ERROR] [FML]: Exception loading model olivia_torahai:item/tomatoPlant with loader instance, skipping
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Not a JSON Object: "parent"

 

...


[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:thatchDoubleSlab#variant=birch
java.lang.Exception: Could not load model definition for variant olivia_torahai:thatchDoubleSlab#variant=birch

...
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'olivia_torahai:thatchDoubleSlab#variant=birch' from: 'olivia_torahai:blockstates/thatchDoubleSlab.json' in resourcepack: 'FMLFileResourcePack:olivia_torahai'

...
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 3 column 25


...


[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:thatchDoubleSlab#variant=oak
java.lang.Exception: Could not load model definition for variant olivia_torahai:thatchDoubleSlab#variant=oak

 

...


[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:olive#inventory
java.lang.Exception: Could not load model definition for variant olivia_torahai:olive#inventory
...
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model olivia_torahai:blockstates/olive.json

...

Caused by: java.io.FileNotFoundException: olivia_torahai:blockstates/olive.json

 

...

 

[10:40:24] [Client thread/ERROR] [FML]: Exception loading model for variant olivia_torahai:pine#inventory
java.lang.Exception: Could not load model definition for variant olivia_torahai:pine#inventory
...
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model olivia_torahai:blockstates/pine.json
...
Caused by: java.io.FileNotFoundException: olivia_torahai:blockstates/pine.json


...

 

[10:40:24] [Client thread/ERROR] [FML]: Supressed additional 55 model loading errors for domain olivia_torahai

Expand  

 

You have a lot of syntax errors in your JSON files. Fix some of these and you'll start to see the additional 55 errors that FML suppressed.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted
  On 4/27/2017 at 6:22 AM, StormDragon28 said:

...Could you tell me what the errors are?

Expand  

 

I quoted the relevant errors in my previous post.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted (edited)
  On 4/27/2017 at 6:37 AM, Choonster said:

 

I quoted the relevant errors in my previous post.

Expand  

Perhaps I misunderstood, but to my uneducated eyes all the information you quoted from the console said was that problems existed, not how to fix them.

 

Edit: Wait, I think I see what you were saying. Sorry about that!

Edited by StormDragon28
Posted
  On 4/27/2017 at 6:44 AM, StormDragon28 said:

Perhaps I misunderstood, but to my uneducated eyes all the information you quoted from the console said was that problems existed, not how to fix them.

Expand  

 

It tells you where and what the errors are. The syntax errors should be relatively easy to fix with this information.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Yes,. TEMU   offers    $100     off Coupon  code {[acw088088] Or [acw088088]} for  First Time User  You can get a    $100     bonus plus       $100    % off any purchase at TEMU   with the    $100     Coupon  Bundle if you sign up with the referral code [[acw088088] Or [acw088088]] and make a first purchase of    $100     or more. Verified user can get a    $100     TEMU   Coupon  code using the code ((“ {{[acw088088] Or [acw088088] }}”)). This TEMU      $100     code is specifically for new and  First Time User  both and can be redeemed to receive a    $100     Coupon on your purchase. Our exclusive TEMU   Coupon  code offers a flat    $100     your purchase, plus an additional       $100    % Coupon on top of that. You can slash prices by up to    $100     as a new TEMU   customer using code ((“ {{[acw088088] Or [acw088088] }}”)).  First Time User  can enjoy    $100     their next haul with this code. But that’s not all! With our TEMU   Coupon  codes for 2025, you can get up to     $100     Coupon on select items and clearance sales. Whether you’re a new customer or an existing shopper, our TEMU   codes provide extra Coupons tailored just for you. Save up to       $100    % with these current TEMU   Coupon s ["^" {{[acw088088] Or [acw088088] }} "^"] for May 2025. The latest TEMU   Coupon  codes at here. New users at TEMU   receive a    $100     Coupon on orders over    $100     Use the code ((“ {{[acw088088] Or [acw088088] }}”)) during checkout to get TEMU   Coupon     $100     For New Users. You can save    $100     your first order with the Coupon  code available for a limited time only. TEMU       $100     Off Coupon code ((“ {{[acw088088] Or [acw088088] }}”)) will save you    $100     on your order. To get a Coupon, click on the item to purchase and enter the code. Yes, TEMU   offers    $100     Coupon  code “ {{[acw088088] Or [acw088088] }}” for first time users. You can get a    $100     bonus plus    $100     any purchase at TEMU   with the    $100     Coupon  Bundle at TEMU   if you sign up with the referral code ((“ {{[acw088088] Or [acw088088] }}”)) and make a first purchase of    $100     or more. Free TEMU   codes    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon     $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon        $100    % off — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Memorial Day Sale    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code today — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   free gift code — ["^" {{[acw088088] Or [acw088088] }}"^"](Without inviting friends or family member) TEMU   Coupon  code for  USA -    $100    — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code  USA -    $100    — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code  USA -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code Japan -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code Mexico -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code Chile -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code  USA -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code Colombia -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code Malaysia -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code Philippines -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon  code South Korea -    $100     — ((“ {{[acw088088] Or [acw088088] }}”)) Redeem Free TEMU   Coupon  Code ["^" {{[acw088088] Or [acw088088] }}"^"] for  First Time User  Get a    $100     Coupon on your TEMU   order with the Coupon code " {{[acw088088] Or [acw088088] }}". You can get a Coupon by clicking on the item to purchase and entering this TEMU   Coupon  code    $100     ((“ {{[acw088088] Or [acw088088] }}”)). TEMU   New User Coupon  ((“ {{[acw088088] Or [acw088088] }})): Up To    $100     For  First Time User  Our TEMU   first-time user Coupon  codes are designed just for new customers, offering the biggest Coupons and the best deals currently available on TEMU   . To maximize your savings, download the TEMU   app and apply our TEMU   new user Coupon  during checkout. TEMU   Coupon  Codes For  First Time User  ((“ {{[acw088088] Or [acw088088] }}”)):    $100     Price Slash Have you been shopping on TEMU   for a while? Our TEMU   Coupon  for  First Time User  is here to reward you for your continued support, offering incredible Coupons on your favorite products. TEMU   Coupon  For    $100     ((“ {{[acw088088] Or [acw088088] }}”)): Get A Flat    $100     Coupon On Order Value Get ready to save big with our incredible TEMU   Coupon  for    $100    ! Our amazing TEMU      $100     Coupon  code will give you a flat    $100     Coupon on your order value, making your shopping experience even more rewarding. TEMU   Coupon  Code For    $100     ((“ {{[acw088088] Or [acw088088] }}”)): For Both New And  First Time User  Our incredible TEMU   Coupon  code for    $100     is here to help you save big on your purchases. Whether you’re a new user or an  First Time User , our    $100     code for TEMU   will give you an additional Coupon! TEMU   Coupon  Bundle ((“ {{[acw088088] Or [acw088088] }}”)): Flat    $100     + Up To    $100     Coupon Get ready for an unbelievable deal with our TEMU   Coupon  bundle for 2025! Our TEMU   Coupon  bundles will give you a flat    $100     Coupon and an additional    $100     on top of it. Free TEMU   Coupon s ((“ {{[acw088088] Or [acw088088] }}”)): Unlock Unlimited Savings! Get ready to unlock a world of savings with our free TEMU   Coupon s! We’ve got you covered with a wide range of TEMU   Coupon  code options that will help you maximize your shopping experience.       $100    % Off TEMU   Coupon s, Coupon Codes + 25% Cash Back ((“ {{[acw088088] Or [acw088088] }}”)) Redeem TEMU   Coupon  Code ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon     $100     ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon     $100     FOR  First Time User  ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon     $100     FIRST ORDER ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon     $100     REDDIT ((“ {{[acw088088] Or [acw088088] }}”)) TEMU   Coupon     $100     FOR  First Time User  REDDIT ((“ {{[acw088088] Or [acw088088] }}”)) TEMU      $100     CODE ((“ {{[acw088088] Or [acw088088] }}”)) TEMU         $100     OFF Coupon  2025 ((“ {{[acw088088] Or [acw088088] }}”)) DOMINOS       $100     RS OFF Coupon  CODE ((“ {{[acw088088] Or [acw088088] }}”)) WHAT IS A Coupon  RATE ((“ {{[acw088088] Or [acw088088] }}”)) TEMU      $100     FOR  First Time User  ((“ {{[acw088088] Or [acw088088] }}”)) TEMU      $100     FIRST ORDER ((“ {{[acw088088] Or [acw088088] }}”)) TEMU      $100     FREE SHIPPING ((“ {{[acw088088] Or [acw088088] }}”)) You can get an exclusive    $100     Coupon on your TEMU   purchase with the code [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}].This code is specially designed for new customers and offers a significant price cut on your shopping. Make your first purchase on TEMU   more rewarding by using this code to get    $100     instantly. TEMU   Coupon  Code For    $100     [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]: Get A Flat    $100     Coupon On Order Value Get ready to save big with our incredible TEMU   Coupon  for    $100    ! Our Coupon  code will give you a flat    $100     Coupon on your order value, making your shopping experience even more rewarding. Exclusive TEMU   Coupon Code [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]: Flat    $100     OFF for New and  First Time User  Using our TEMU   Coupon code you can get A£    $100     off your order and       $100    % off using our TEMU   Coupon code [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]. As a new TEMU   customer, you can save up to    $100     using this Coupon code. For returning users, our TEMU   Coupon code offers a    $100     price slash on your next shopping spree. This is our way of saying thank you for shopping with us! Best TEMU   Deals and Coupon s [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]: During 2025, TEMU   Coupon  codes offer Coupons of up to     $100     on select items, making it possible for both new and  First Time User  to get incredible deals. From    $100     deals to       $100    % Coupons, our TEMU   Coupon codes make shopping more affordable than ever. TEMU   Coupon  Code For     $100     Off [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]: For Both New And  First Time User  Free TEMU      $100     Code — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon        $100    % Off — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Memorial Day Sale -    $100     — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Free Gift Code — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU      $100    0 Off Code — [ {{[acw088088] Or [acw088088] }} ] Or [ {{[acw088088] Or [acw088088] }}] Best TEMU      $100     Off Code — [ {{[acw088088] Or [acw088088] }} ] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code first order — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code for New user — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code A   $100     — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code    $100     off — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code    $100     — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon Code 2025 — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code    $100     off — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code £   $100     — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Sign up Bonus Code — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] TEMU   Coupon  Code A£120 off — [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] Our exclusive TEMU   Coupon  code allows you to take a flat    $100     off your purchase with an added       $100    % Coupon on top. As a new TEMU   shopper, you can save up to    $100     using code [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]. Returning customers can also enjoy a    $100     Coupon on their next purchases with this code. TEMU   Coupon  Code for Your Country Sign-up Bonus TEMU      $100     Code  USA [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code  USA [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code  USA [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Japan [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Mexico [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Chile [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code  USA [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Colombia [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Malaysia [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Philippines [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code South Korea [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code  USA [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Pakistan [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Finland [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Saudi Arabia [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Qatar [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code France [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Germany [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code  USA [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off TEMU      $100     Code Israel [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}] -       $100    % off Get a    $100     Coupon on your TEMU   order with the Coupon code [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]. You can get a Coupon by clicking on the item to purchase and entering this TEMU   Coupon  code    $100     *[ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]*. TEMU   Coupon  Code [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]: Get Up To     $100     OFF In NOV 2025 Are you looking for the best TEMU   Coupon  codes to get amazing Coupons? Our TEMU   Coupon s are perfect for getting those extra savings you crave. We regularly test our Coupon  codes for TEMU   to ensure they work flawlessly, giving you a guaranteed Coupon every time. TEMU   New User Coupon  [ {{[acw088088] Or [acw088088] }}] Or [ {{[acw088088] Or [acw088088] }}]: Up To    $100     For  First Time User  Our TEMU   first-time user Coupon  codes are designed just for new customers, offering the biggest Coupons and the best deals currently available on TEMU   . To maximize your savings, download the TEMU   app and apply our TEMU   new user Coupon  during checkout. New users at TEMU   receive a    $100     Off Coupon on orders over    $100     Off Use the code [[acw088088] Or [acw088088]] during checkout to get TEMU   Coupon    $100     Off off For New Users. You n save    $100     Off off your first order with the Coupon Code available for a limited time only. Extra    $100    off for new and  First Time User  + Up to £    $100     Off % off & more. TEMU   Coupon Codes for New users- [[acw088088] Or [acw088088]] TEMU   Coupon code for New customers- [[acw088088] Or [acw088088]] TEMU   £    $100     Off Coupon Code- [[acw088088] Or [acw088088]] what are TEMU   codes- acw088088            does TEMU   give you £    $100     Off - [acw088088] Yes Verified TEMU   Coupon Code January/February 2025- {acw088088           } TEMU   New customer offer {acw088088           } TEMU   Coupon code 2025 {[acw088088] Or [acw088088]}       $100     off Coupon Code TEMU   {acw088088           } TEMU         $100    % off any order {acw088088           }       $100     dollar off TEMU   code {acw088088           } TEMU   Coupon  £    $100     Off off for New customers There are a number of Coupons and deals shoppers n take advantage of with the Teemu Coupon  Bundle [[acw088088] Or [acw088088]]. TEMU   Coupon  £    $100     Off off for New customers [[acw088088] Or [acw088088]] will save you £    $100     Off on your order. To get a Coupon, click on the item to purchase and enter the code. You n think of it as a supercharged savings pack for all your shopping needs TEMU   Coupon Code 80% off – [acw088088] Free TEMU   codes       $100    % off – [acw088088] TEMU   Coupon  £    $100     Off off – [acw088088] TEMU   buy to get ₱39 – [acw088088] TEMU   129 Coupon  bundle – [acw088088] TEMU   buy 3 to get €99 – [acw088088] Exclusive £    $100     Off Off TEMU   Coupon  Code TEMU   £    $100     Off Off Coupon Code : ([acw088088] Or [acw088088]) TEMU   Coupon  Code £    $100     Off Bundle (acw088088           ) acw088088            TEMU   £    $100     Off off Coupon Code for Exsting users : (acw088088           ) TEMU   Coupon Code £    $100     Off off Use the Coupon  code "[[acw088088] Or [acw088088]]" or "[acw088088]" to get the    $100     Coupon  bundle. On your next purchase, you will also receive a       $100    % Coupon. If you use TEMU   for your shipping, you can save some money by taking advantage of this offer. The TEMU      $100     Off Coupon  code ([acw088088] Or [acw088088]) will save you    $100     on your order. To get a Coupon, click on the item to purchase and enter the code. TEMU   offers    $100     Off Coupon  Code “[acw088088] Or [acw088088]” for  First Time User  With the    $100     Off Coupon  Bundle at TEMU  , you can get a    $100     bonus plus    $100    off any purchase if you sign up with the referral code [[acw088088] Or [acw088088]] and make a first purchase of £    $100     off or more. TEMU   Coupon Code       $100     off-{acw088088           } TEMU   Coupon Code -{acw088088           } TEMU   Coupon Code £    $100     Off off-{[acw088088] Or [acw088088]} kubonus code -{[acw088088] Or [acw088088]} Get ready to unlock a world of savings with our free TEMU   UK Coupon s! We’ve got you covered with a wide range of TEMU   UK Coupon  code options that will help you maximize your shopping experience.   $100    Off TEMU   UK Coupon s, Coupon Codes + 25% Cash Back [ acw088088           ] Yes, TEMU   offers    $100     off Coupon  code {[acw088088] Or [acw088088]} for  First Time User  You can get a    $100     bonus plus      $100     off any purchase at TEMU   with the    $100     Coupon  Bundle if you sign up with the referral code [[acw088088] Or [acw088088]] and make a first purchase of    $100     or more. If you are who wish to join TEMU  , then you should use this exclusive TEMU   Coupon  code    $100     off ([acw088088] Or [acw088088]) and get    $100     off on your purchase with TEMU  . You can get a    $100     Coupon with TEMU   Coupon  code {[acw088088] Or [acw088088]}. This exclusive offer is for  First Time User  and can be used for a    $100     reduction on your total purchase. Enter Coupon  code {[acw088088] Or [acw088088]} at checkout to avail of the Coupon. You can use the code {[acw088088] Or [acw088088]} to get a    $100     off TEMU   Coupon  as a new customer. Apply this TEMU   Coupon  code    $100     off (acw088088           ) to get a    $100     Coupon on your shopping with TEMU  . If you’re a first-time user and looking for a TEMU   Coupon  code    $100     first time user([acw088088] Or [acw088088]) then using this code will give you a flat    $100     Off and a     $100     Coupon on your TEMU   shopping. * [acw088088] Or [acw088088]: Enjoy flat      $100     off on your first TEMU   order. * acw088088           : Download the TEMU   app and get an additional      $100     off. * acw088088           : Celebrate spring with up to     $100     Coupon on selected items. * acw088088           : Score up to     $100     off on clearance items. * acw088088           : Beat the heat with hot summer savings of up to     $100     off. * [acw088088] Or [acw088088]: TEMU   UK Coupon  Code to      $100     off on Appliances at TEMU  . How to Apply TEMU   Coupon  Code? Using the TEMU   Coupon  code    $100     off is a breeze. All you need to do is follow these simple steps: 1 Visit the TEMU   website or app and browse through the vast collection of products. 2 Once you’ve added the items you wish to purchase to your cart, proceed to the checkout page. 3 During the checkout process, you’ll be prompted to enter a Coupon  code or Coupon code. 4 Type in the Coupon  code: [[acw088088] Or [acw088088]] and click “Apply.” 5 Voila! You’ll instantly see the    $100     Coupon reflected in your total purchase amount. TEMU   New User Coupon : Up To     $100     OFF For  First Time User  TEMU    First Time User ’s Coupon  codes are designed just for new customers, offering the biggest Coupons     $100     and the best deals currently available on TEMU  . To maximize your savings, download the TEMU   app and apply our TEMU   new user Coupon  during checkout. * [acw088088] Or [acw088088]: New users can get up to 80% extra off. * acw088088           : Get a massive      $100     off your first order! * acw088088           : Get 20% off on your first order; no minimum spending required. * acw088088           : Take an extra 15% off your first order on top of existing Coupons. * acw088088           : TEMU   UK Enjoy a      $100     Coupon on your entire first purchase. New users at TEMU   receive a    $100     Off Coupon on orders over    $100     Off Use the code [[acw088088] Or [acw088088]] during checkout to get TEMU   Coupon    $100     Off off For New Users. You n save    $100     Off off your first order with the Coupon Code available for a limited time only. Extra    $100    off for new and  First Time User  + Up to £    $100     Off % off & more. TEMU   Coupon Codes for New users- [[acw088088] Or [acw088088]] TEMU   Coupon code for New customers- [[acw088088] Or [acw088088]] TEMU   £    $100     Off Coupon Code- [[acw088088] Or [acw088088]] what are TEMU   codes- acw088088            does TEMU   give you £    $100     Off - [acw088088] Yes Verified TEMU   Coupon Code January/February 2025- {acw088088           } TEMU   New customer offer {acw088088           } TEMU   Coupon code 2025 {[acw088088] Or [acw088088]}       $100     off Coupon Code TEMU   {acw088088           } TEMU         $100    % off any order {acw088088           }       $100     dollar off TEMU   code {acw088088           } TEMU   Coupon  £    $100     Off off for New customers There are a number of Coupons and deals shoppers n take advantage of with the Teemu Coupon  Bundle [[acw088088] Or [acw088088]]. TEMU   Coupon  £    $100     Off off for New customers [[acw088088] Or [acw088088]] will save you £    $100     Off on your order. To get a Coupon, click on the item to purchase and enter the code. You n think of it as a supercharged savings pack for all your shopping needs TEMU   Coupon Code 80% off – [acw088088] Free TEMU   codes       $100    % off – [acw088088] TEMU   Coupon  £    $100     Off off – [acw088088] TEMU   buy to get ₱39 – [acw088088] TEMU   129 Coupon  bundle – [acw088088] TEMU   buy 3 to get €99 – [acw088088] Exclusive £    $100     Off Off TEMU   Coupon  Code TEMU   £    $100     Off Off Coupon Code : ([acw088088] Or [acw088088]) TEMU   Coupon  Code £    $100     Off Bundle (acw088088           ) acw088088            TEMU   £    $100     Off off Coupon Code for Exsting users : (acw088088           ) TEMU   Coupon Code £    $100     Off off TEMU      $100     Off OFF Coupon code ([acw088088] Or [acw088088]) will save you    $100     Off on your order. To get a Coupon, click on the item to purchase and enter the code. Yes, TEMU   offers    $100     Off Coupon  Code “[acw088088] Or [acw088088]” for  First Time User  You can get a    $100     Off bonus plus    $100    off any purchase at TEMU   with the    $100     Off Coupon  Bundle at TEMU   if you sign up with the referral code [[acw088088] Or [acw088088]] and make a first purchase of £    $100     Off or more. TEMU   Coupon Code       $100     off-{acw088088           } TEMU   Coupon Code -{acw088088           } TEMU   Coupon Code £    $100     Off off-{[acw088088] Or [acw088088]} kubonus code -{[acw088088] Or [acw088088]} Get ready to unlock a world of savings with our free TEMU   UK Coupon s! We’ve got you covered with a wide range of TEMU   UK Coupon  code options that will help you maximize your shopping experience.   $100    Off TEMU   UK Coupon s, Coupon Codes + 25% Cash Back [ acw088088           ] Yes, TEMU   offers    $100     off Coupon  code {[acw088088] Or [acw088088]} for  First Time User  You can get a    $100     bonus plus      $100     off any purchase at TEMU   with the    $100     Coupon  Bundle if you sign up with the referral code [[acw088088] Or [acw088088]] and make a first purchase of    $100     or more. If you are who wish to join TEMU  , then you should use this exclusive TEMU   Coupon  code    $100     off ([acw088088] Or [acw088088]) and get    $100     off on your purchase with TEMU  . You can get a    $100     Coupon with TEMU   Coupon  code {[acw088088] Or [acw088088]}. This exclusive offer is for  First Time User  and can be used for a    $100     reduction on your total purchase. Enter Coupon  code {[acw088088] Or [acw088088]} at checkout to avail of the Coupon. You can use the code {[acw088088] Or [acw088088]} to get a    $100     off TEMU   Coupon  as a new customer. Apply this TEMU   Coupon  code    $100     off (acw088088           ) to get a    $100     Coupon on your shopping with TEMU  . If you’re a first-time user and looking for a TEMU   Coupon  code    $100     first time user([acw088088] Or [acw088088]) then using this code will give you a flat    $100     Off and a     $100     Coupon on your TEMU   shopping. • [acw088088] Or [acw088088]: Enjoy flat      $100     off on your first TEMU   order. • [acw088088] Or [acw088088]: Download the TEMU   app and get an additional      $100     off. • [acw088088] Or [acw088088]: Celebrate spring with up to     $100     Coupon on selected items. • [acw088088] Or [acw088088]: Score up to     $100     off on clearance items. • [acw088088] Or [acw088088]: Beat the heat with hot summer savings of up to     $100     off. • [acw088088] Or [acw088088]: TEMU   UK Coupon  Code to      $100     off on Appliances at TEMU  . How to Apply TEMU   Coupon  Code? Using the TEMU   Coupon  code    $100     off is a breeze. All you need to do is follow these simple steps: 1 Visit the TEMU   website or app and browse through the vast collection of products. 2 Once you’ve added the items you wish to purchase to your cart, proceed to the checkout page. 3 During the checkout process, you’ll be prompted to enter a Coupon  code or Coupon code. 4 Type in the Coupon  code: [[acw088088] Or [acw088088]] and click “Apply.” 5 Voila! You’ll instantly see the    $100     Coupon reflected in your total purchase amount. TEMU   New User Coupon : Up To     $100     OFF For  First Time User  TEMU    First Time User ’s Coupon  codes are designed just for new customers, offering the biggest Coupons     $100     and the best deals currently available on TEMU  . To maximize your savings, download the TEMU   app and apply our TEMU   new user Coupon  during checkout. • [acw088088] Or [acw088088]: New users can get up to 80% extra off. • [acw088088] Or [acw088088]: Get a massive      $100     off your first order! • acw088088           : Get 20% off on your first order; no minimum spending required. • [acw088088] Or [acw088088]: Take an extra 15% off your first order on top of existing Coupons. • acw088088           : TEMU   UK Enjoy a      $100     Coupon on your entire first purchase. Yes, TEMU   offers    $100     off Coupon  code {[acw088088] Or [acw088088]} for  First Time User  You can get a    $100     bonus plus      $100     off any purchase at TEMU   with the    $100     Coupon  Bundle if you sign up with the referral code [[acw088088] Or [acw088088]] and make a first purchase of    $100     or more. You can get a    $100     Coupon with TEMU   Coupon  code { acw088088           }. This exclusive offer is for  First Time User  and can be used for a    $100     reduction on your total purchase. Enter Coupon  code { acw088088           } at checkout to avail of the Coupon. You can use the code { acw088088           } to get a    $100     off TEMU   Coupon  as a new customer. Apply this TEMU   Coupon  code    $100     off ([acw088088] Or [acw088088]) to get a    $100     Coupon on your shopping with TEMU  . In this article, we'll dive into how you can get    $100     off +      $100     Coupon with a TEMU   Coupon  code. Get ready to unlock amazing savings and make the most out of your shopping experience in TEMU  . TEMU   Coupon  Code    $100     Off: Flat      $100     Off With Code If you're a first-time user and looking for a TEMU   Coupon  code    $100     first time user (acw088088           ) then using this code will give you a flat    $100     Off and a      $100     Coupon on your TEMU   shopping. Our TEMU   Coupon  code is completely safe and incredibly easy to use so that you can shop confidently. Check out these five fantastic TEMU   Coupon  codes for August and September 2025: [acw088088] Or [acw088088]: Enjoy flat      $100     off on your first TEMU   order. [acw088088] Or [acw088088]: Download the TEMU   app and get an additional      $100     off. acw088088           : Celebrate spring with up to     $100     Coupon on selected items. [acw088088] Or [acw088088]: Score up to     $100     off on clearance items. [acw088088] Or [acw088088]: Beat the heat with hot summer savings of up to     $100     off. [acw088088] Or [acw088088]: TEMU   UK Coupon  Code to      $100     off on Appliances at TEMU  . These TEMU   Coupon s are valid for both new and  First Time User  so that everyone can take advantage of these incredible deals. What is TEMU   and How TEMU   Coupon  Codes Work? TEMU   is a popular online marketplace where you can find great deals using Coupon  codes and special Coupontions. Save big on purchases and earn money through their affiliate program. With various Coupon offers like the Pop-Up Sale and Coupon  Wheels, TEMU   makes shopping affordable. How to Apply TEMU   Coupon  Code? Using the TEMU   Coupon  code    $100     off is a breeze. All you need to do is follow these simple steps: Visit the TEMU   website or app and browse through the vast collection of products. Once you've added the items you wish to purchase to your cart, proceed to the checkout page. During the checkout process, you'll be prompted to enter a Coupon  code or Coupon code. Type in the Coupon  code: [acw088088] and click "Apply." Voila! You'll instantly see the    $100     Coupon reflected in your total purchase amount. TEMU   New User Coupon : Up To 80% OFF For  First Time User  TEMU    First Time User 's Coupon  codes are designed just for new customers, offering the biggest Coupons and the best deals currently available on TEMU  . To maximize your savings, download the TEMU   app and apply our TEMU   new user Coupon  during checkout. [acw088088] Or [acw088088]: New users can get up to 80% extra off. [acw088088] Or [acw088088]: Get a massive      $100     off your first order! [acw088088] Or [acw088088]: Get 20% off on your first order; no minimum spending required. acw088088          : Take an extra 15% off your first order on top of existing Coupons. [acw088088] Or [acw088088]: TEMU   UK Enjoy a      $100     Coupon on your entire first purchase. We regularly test and verify these TEMU   first-time customer Coupon  codes to ensure they work perfectly for you. So, grab your favorite Coupon  code and start shopping today. TEMU   Coupon  Code    $100     Off For  First Time User  If you are who wish to join TEMU  , then you should use this exclusive TEMU   Coupon  code    $100     off ([acw088088] Or [acw088088]) and get    $100     off on your purchase with TEMU  . The    $100     off code for TEMU   is ([acw088088] Or [acw088088]). Remember to enter this code during the checkout process to enjoy the    $100     Coupon on your purchase. Verified TEMU   Coupon  Codes For August and September 2025 TEMU   Coupon  code    $100     off - ([acw088088] Or [acw088088])    $100     Off TEMU   Coupon  code - [acw088088] Or [acw088088]    $100    Off TEMU   Coupon  code - ([acw088088] Or [acw088088]) Flat     $100     Off TEMU   exclusive code - ([acw088088] Or [acw088088]) TEMU       $100     Coupon Code: ([acw088088] Or [acw088088]) TEMU   Coupon  Codes For  First Time User :      $100     Coupon Code To get the most out of your shopping experience, download the TEMU   app and apply our TEMU   Coupon  codes for  First Time User  at checkout. Check out these five fantastic TEMU   Coupon s for  First Time User : [acw088088] Or [acw088088]: Slash      $100     off your order as a token of our appreciation! [acw088088] Or [acw088088]: Enjoy a      $100     Coupon on your next purchase. [acw088088] Or [acw088088]: Get an extra 25% off on top of existing Coupons. [acw088088] Or [acw088088]: Loyal TEMU   shoppers from UAE can take      $100     off their entire order. Our TEMU   Coupon  code for  First Time User  in 2025 will also provide you with unbeatable savings on top of already amazing Coupons. What is The Best TEMU   Coupon  Code    $100     Off? The best TEMU   Coupon  code for    $100     off is ([acw088088] Or [acw088088]) which can effectively give you a    $100     TEMU   Coupon  bundle while shopping.
    • Hi everyone, I’m working on a custom rocket entity in Forge 1.20.1. During flight, I’m trying to spawn flame and smoke particles that trail behind the rocket, like in Ad Astra or Galacticraft. I’m using ServerLevel.sendParticles() with calculated Y-offsets far below the rocket's base (e.g., getY() - 2.5), so the particles should clearly appear under the rocket thruster. ❗The Problem: Even though I spawn the particles several blocks below the rocket, they still start rising and eventually collide with the rocket from below. It's like the particles are moving upward with the rocket, even though their Y position is set in absolute world coordinates (not relative to the rocket). This causes the trail to look broken, unrealistic, and eventually the flames just slam into the rocket's base, defeating the effect. 🔍 What I’ve Tried: Double-checked that I’m using server.sendParticles(...) with proper world coordinates. Increased vertical offset (up to -3 blocks or more). Spawned debug markers (armor stands) and verified their position is correctly placed far below. Tried spawning trail particles after calling move(MoverType.SELF, ...). Confirmed this only happens when the rocket is moving upwards — at rest, particles stay where they’re supposed to. 🔥 Code Snippet:   double rocketBottomY = this.getY() - 2.5; double trailSpacing = 0.12; for (int i = 0; i < 40; i++) {     double offsetX = (random.nextDouble() - 0.5) * 0.2;     double offsetZ = (random.nextDouble() - 0.5) * 0.2;     double flameY = rocketBottomY - (i * trailSpacing);     server.sendParticles(ParticleTypes.FLAME,             this.getX() + offsetX,             flameY,             this.getZ() + offsetZ,             3, 0.0, 0.0, 0.0, 0.01); }   No matter how far I place the flameY below, it still starts drifting upward with the rocket. I’m not applying velocity to the particles (0.0 on Y), so I have no idea what’s making them rise and then crash into the rock   ❓Question Has anyone dealt with this before? How do mods like Galacticraft or Ad Astra keep their flame trails pinned to the world while the rocket moves up? Is this a side-effect of how Forge or Minecraft queues particle updates for moving entities?
    • But can you load this schematic with worldedit? Or is it a nbt file?
  • Topics

×
×
  • Create New...

Important Information

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