title: Minecraft doesn't find blockstate's state
body: <p>I'm making a mod and I created a cabin. It's a tile entity with inventory and gui. I made a custom render, too. Then I wanted to make it turn to the direction the player is facing. The code for Cabin.java looks like this:</p>
  
  <pre><code>package aidas.morestuff.blocks;
  
  import java.util.Iterator;
  
  import net.minecraft.block.Block;
  import net.minecraft.block.BlockContainer;
  import net.minecraft.block.material.Material;
  import net.minecraft.block.properties.PropertyDirection;
  import net.minecraft.block.state.IBlockState;
  import net.minecraft.entity.EntityLivingBase;
  import net.minecraft.entity.player.EntityPlayer;
  import net.minecraft.inventory.InventoryHelper;
  import net.minecraft.item.ItemStack;
  import net.minecraft.tileentity.TileEntity;
  import net.minecraft.tileentity.TileEntityChest;
  import net.minecraft.util.BlockPos;
  import net.minecraft.util.EnumFacing;
  import net.minecraft.util.MathHelper;
  import net.minecraft.world.IBlockAccess;
  import net.minecraft.world.World;
  import aidas.morestuff.Main;
  import aidas.morestuff.network.MGuiHandler;
  import aidas.morestuff.tileentity.CabinTileEntity;
  
  public class Cabin extends BlockContainer
  {
  
      public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
  
      public Cabin(String uName)
      {
          super(Material.iron);
          this.setUnlocalizedName(uName);
          this.setHardness(2.0f);
          this.setResistance(6.0f);
          this.setHarvestLevel("pickaxe", 2);
      }
  
      @Override
      public TileEntity createNewTileEntity(World worldIn, int meta)
      {
          return new CabinTileEntity();
      }
  
      @Override
      public int getRenderType()
      {
          return 2;
      }
  
      @Override
      public void breakBlock(World world, BlockPos pos, IBlockState blockstate) {
          CabinTileEntity te = (CabinTileEntity) world.getTileEntity(pos);
          InventoryHelper.dropInventoryItems(world, pos, te);
          super.breakBlock(world, pos, blockstate);
      }
  
      @Override
      public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ) {
          if (!world.isRemote) {
              player.openGui(Main.instance, MGuiHandler.MOD_TILE_ENTITY_GUI, world, pos.getX(), pos.getY(), pos.getZ());
          }
          return true;
      }
  
      public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
      {
         return this.getDefaultState().withProperty(FACING, placer.getHorizontalFacing());
      }
  
      public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
      {
          EnumFacing enumfacing = EnumFacing.getHorizontal(MathHelper.floor_double((double)(placer.rotationYaw * 4.0F / 360.0F) + 0.5D) &amp; 3).getOpposite();
          state = state.withProperty(FACING, enumfacing);
          BlockPos blockpos1 = pos.north();
          BlockPos blockpos2 = pos.south();
          BlockPos blockpos3 = pos.west();
          BlockPos blockpos4 = pos.east();
          boolean flag = this == worldIn.getBlockState(blockpos1).getBlock();
          boolean flag1 = this == worldIn.getBlockState(blockpos2).getBlock();
          boolean flag2 = this == worldIn.getBlockState(blockpos3).getBlock();
          boolean flag3 = this == worldIn.getBlockState(blockpos4).getBlock();
  
          if (!flag &amp;&amp; !flag1 &amp;&amp; !flag2 &amp;&amp; !flag3)
          {
              worldIn.setBlockState(pos, state, 3);
          }
          else if (enumfacing.getAxis() == EnumFacing.Axis.X &amp;&amp; (flag || flag1))
          {
              if (flag)
              {
                  worldIn.setBlockState(blockpos1, state, 3);
              }
              else
              {
                  worldIn.setBlockState(blockpos2, state, 3);
              }
  
              worldIn.setBlockState(pos, state, 3);
          }
          else if (enumfacing.getAxis() == EnumFacing.Axis.Z &amp;&amp; (flag2 || flag3))
          {
              if (flag2)
              {
                  worldIn.setBlockState(blockpos3, state, 3);
              }
              else
              {
                  worldIn.setBlockState(blockpos4, state, 3);
              }
  
              worldIn.setBlockState(pos, state, 3);
          }
  
          if (stack.hasDisplayName())
          {
              TileEntity tileentity = worldIn.getTileEntity(pos);
  
              if (tileentity instanceof TileEntityChest)
              {
                  ((TileEntityChest)tileentity).setCustomName(stack.getDisplayName());
              }
          }
      }
  
      public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos)
      {
          if (worldIn.getBlockState(pos.north()).getBlock() == this)
          {
              this.setBlockBounds(0.0625F, 0.0F, 0.0F, 0.9375F, 0.875F, 0.9375F);
          }
          else if (worldIn.getBlockState(pos.south()).getBlock() == this)
          {
              this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 1.0F);
          }
          else if (worldIn.getBlockState(pos.west()).getBlock() == this)
          {
              this.setBlockBounds(0.0F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F);
          }
          else if (worldIn.getBlockState(pos.east()).getBlock() == this)
          {
              this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 1.0F, 0.875F, 0.9375F);
          }
          else
          {
              this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F);
          }
      }
  
      public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
      {
          Iterator iterator = EnumFacing.Plane.HORIZONTAL.iterator();
  
          while (iterator.hasNext())
          {
              EnumFacing enumfacing = (EnumFacing)iterator.next();
              BlockPos blockpos1 = pos.offset(enumfacing);
              IBlockState iblockstate1 = worldIn.getBlockState(blockpos1);
          }
      }
  
      public IBlockState checkForSurroundingChests(World worldIn, BlockPos pos, IBlockState state)
      {
          if (worldIn.isRemote)
          {
              return state;
          }
          else
          {
              IBlockState iblockstate1 = worldIn.getBlockState(pos.north());
              IBlockState iblockstate2 = worldIn.getBlockState(pos.south());
              IBlockState iblockstate3 = worldIn.getBlockState(pos.west());
              IBlockState iblockstate4 = worldIn.getBlockState(pos.east());
              EnumFacing enumfacing = (EnumFacing)state.getValue(FACING);
              Block block = iblockstate1.getBlock();
              Block block1 = iblockstate2.getBlock();
              Block block2 = iblockstate3.getBlock();
              Block block3 = iblockstate4.getBlock();
  
              if (block != this &amp;&amp; block1 != this)
              {
                  boolean flag = block.isFullBlock();
                  boolean flag1 = block1.isFullBlock();
  
                  if (block2 == this || block3 == this)
                  {
                      BlockPos blockpos2 = block2 == this ? pos.west() : pos.east();
                      IBlockState iblockstate7 = worldIn.getBlockState(blockpos2.north());
                      IBlockState iblockstate8 = worldIn.getBlockState(blockpos2.south());
                      enumfacing = EnumFacing.SOUTH;
                      EnumFacing enumfacing2;
  
                      if (block2 == this)
                      {
                          enumfacing2 = (EnumFacing)iblockstate3.getValue(FACING);
                      }
                      else
                      {
                          enumfacing2 = (EnumFacing)iblockstate4.getValue(FACING);
                      }
  
                      if (enumfacing2 == EnumFacing.NORTH)
                      {
                          enumfacing = EnumFacing.NORTH;
                      }
  
                      Block block6 = iblockstate7.getBlock();
                      Block block7 = iblockstate8.getBlock();
  
                      if ((flag || block6.isFullBlock()) &amp;&amp; !flag1 &amp;&amp; !block7.isFullBlock())
                      {
                          enumfacing = EnumFacing.SOUTH;
                      }
  
                      if ((flag1 || block7.isFullBlock()) &amp;&amp; !flag &amp;&amp; !block6.isFullBlock())
                      {
                          enumfacing = EnumFacing.NORTH;
                      }
                  }
              }
              else
              {
                  BlockPos blockpos1 = block == this ? pos.north() : pos.south();
                  IBlockState iblockstate5 = worldIn.getBlockState(blockpos1.west());
                  IBlockState iblockstate6 = worldIn.getBlockState(blockpos1.east());
                  enumfacing = EnumFacing.EAST;
                  EnumFacing enumfacing1;
  
                  if (block == this)
                  {
                      enumfacing1 = (EnumFacing)iblockstate1.getValue(FACING);
                  }
                  else
                  {
                      enumfacing1 = (EnumFacing)iblockstate2.getValue(FACING);
                  }
  
                  if (enumfacing1 == EnumFacing.WEST)
                  {
                      enumfacing = EnumFacing.WEST;
                  }
  
                  Block block4 = iblockstate5.getBlock();
                  Block block5 = iblockstate6.getBlock();
  
                  if ((block2.isFullBlock() || block4.isFullBlock()) &amp;&amp; !block3.isFullBlock() &amp;&amp; !block5.isFullBlock())
                  {
                      enumfacing = EnumFacing.EAST;
                  }
  
                  if ((block3.isFullBlock() || block5.isFullBlock()) &amp;&amp; !block2.isFullBlock() &amp;&amp; !block4.isFullBlock())
                  {
                      enumfacing = EnumFacing.WEST;
                  }
              }
  
              state = state.withProperty(FACING, enumfacing);
              worldIn.setBlockState(pos, state, 3);
              return state;
          }
      }
  
      public IBlockState correctFacing(World worldIn, BlockPos pos, IBlockState state)
      {
          EnumFacing enumfacing = null;
          Iterator iterator = EnumFacing.Plane.HORIZONTAL.iterator();
  
          while (iterator.hasNext())
          {
              EnumFacing enumfacing1 = (EnumFacing)iterator.next();
              IBlockState iblockstate1 = worldIn.getBlockState(pos.offset(enumfacing1));
  
              if (iblockstate1.getBlock() == this)
              {
                  return state;
              }
  
              if (iblockstate1.getBlock().isFullBlock())
              {
                  if (enumfacing != null)
                  {
                      enumfacing = null;
                      break;
                  }
  
                  enumfacing = enumfacing1;
              }
          }
  
          if (enumfacing != null)
          {
              return state.withProperty(FACING, enumfacing.getOpposite());
          }
          else
          {
              EnumFacing enumfacing2 = (EnumFacing)state.getValue(FACING);
  
              if (worldIn.getBlockState(pos.offset(enumfacing2)).getBlock().isFullBlock())
              {
                  enumfacing2 = enumfacing2.getOpposite();
              }
  
              if (worldIn.getBlockState(pos.offset(enumfacing2)).getBlock().isFullBlock())
              {
                  enumfacing2 = enumfacing2.rotateY();
              }
  
              if (worldIn.getBlockState(pos.offset(enumfacing2)).getBlock().isFullBlock())
              {
                  enumfacing2 = enumfacing2.getOpposite();
              }
  
              return state.withProperty(FACING, enumfacing2);
          }
      }
  }
  </code></pre>
  
  <p>When I place the cabin down the game crashes.</p>
  
  <p>That's the crash report:</p>
  
  <pre><code>---- Minecraft Crash Report ----
  // I just don't know what went wrong :(
  
  Time: 1/8/16 2:12 PM
  Description: Unexpected error
  
  java.lang.IllegalArgumentException: Cannot set property PropertyDirection{name=facing, clazz=class net.minecraft.util.EnumFacing, values=[north, south, west, east]} as it does not exist in BlockState{block=ms:cabin, properties=[]}
      at net.minecraft.block.state.BlockState$StateImplementation.withProperty(BlockState.java:189)
      at aidas.morestuff.blocks.Cabin.onBlockPlaced(Cabin.java:68)
      at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:73)
      at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:147)
      at net.minecraft.client.multiplayer.PlayerControllerMP.func_178890_a(PlayerControllerMP.java:442)
      at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1571)
      at net.minecraft.client.Minecraft.runTick(Minecraft.java:2131)
      at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087)
      at net.minecraft.client.Minecraft.run(Minecraft.java:376)
      at net.minecraft.client.main.Main.main(Main.java:117)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
      at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
      at GradleStart.main(Unknown Source)
  
  
  A detailed walkthrough of the error, its code path and all known details is as follows:
  ---------------------------------------------------------------------------------------
  
  -- Head --
  Stacktrace:
      at net.minecraft.block.state.BlockState$StateImplementation.withProperty(BlockState.java:189)
      at aidas.morestuff.blocks.Cabin.onBlockPlaced(Cabin.java:68)
      at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:73)
      at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:147)
      at net.minecraft.client.multiplayer.PlayerControllerMP.func_178890_a(PlayerControllerMP.java:442)
      at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1571)
  
  -- Affected level --
  Details:
      Level name: MpServer
      All players: 1 total; [EntityPlayerSP['Player688'/351, l='MpServer', x=187.67, y=63.00, z=289.42]]
      Chunk stats: MultiplayerChunkCache: 624, 624
      Level seed: 0
      Level generator: ID 00 - default, ver 1. Features enabled: false
      Level generator options: 
      Level spawn location: 164.00,64.00,256.00 - World: (164,64,256), Chunk: (at 4,4,0 in 10,16; contains blocks 160,0,256 to 175,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
      Level time: 40812 game time, 32306 day time
      Level dimension: 0
      Level storage version: 0x00000 - Unknown?
      Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
      Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
      Forced entities: 111 total; [EntityCreeper['Creeper'/262, l='MpServer', x=230.31, y=22.00, z=213.78], EntitySheep['Sheep'/263, l='MpServer', x=225.94, y=65.00, z=216.97], EntitySkeleton['Skeleton'/264, l='MpServer', x=224.16, y=41.00, z=231.28], EntitySkeleton['Skeleton'/265, l='MpServer', x=227.69, y=42.00, z=234.75], EntityZombie['Zombie'/266, l='MpServer', x=224.25, y=42.00, z=228.19], EntitySquid['Squid'/267, l='MpServer', x=241.50, y=54.91, z=241.78], EntitySquid['Squid'/268, l='MpServer', x=234.31, y=56.84, z=256.06], EntityCreeper['Creeper'/269, l='MpServer', x=227.50, y=46.00, z=284.50], EntityBat['Bat'/270, l='MpServer', x=235.11, y=34.07, z=290.06], EntityZombie['Zombie'/271, l='MpServer', x=234.69, y=34.35, z=289.28], EntitySquid['Squid'/272, l='MpServer', x=238.31, y=57.97, z=294.47], EntityBat['Bat'/273, l='MpServer', x=231.22, y=37.02, z=310.35], EntityBat['Bat'/279, l='MpServer', x=248.45, y=26.03, z=221.48], EntityCreeper['Creeper'/280, l='MpServer', x=249.50, y=26.15, z=221.60], EntityZombie['Zombie'/281, l='MpServer', x=244.53, y=27.00, z=220.94], EntityZombie['Zombie'/282, l='MpServer', x=250.47, y=28.00, z=221.94], EntitySkeleton['Skeleton'/283, l='MpServer', x=252.50, y=29.00, z=211.50], EntityBat['Bat'/284, l='MpServer', x=244.64, y=27.72, z=220.45], EntityCreeper['Creeper'/285, l='MpServer', x=251.31, y=28.00, z=235.69], EntityBat['Bat'/286, l='MpServer', x=249.47, y=29.25, z=237.53], EntityZombie['Zombie'/287, l='MpServer', x=247.50, y=27.00, z=245.06], EntitySquid['Squid'/288, l='MpServer', x=246.06, y=53.50, z=247.75], EntityZombie['Zombie'/289, l='MpServer', x=240.41, y=37.00, z=283.03], EntityZombie['Zombie'/290, l='MpServer', x=244.94, y=28.00, z=299.47], EntityBat['Bat'/291, l='MpServer', x=247.63, y=33.10, z=302.75], EntityCreeper['Creeper'/292, l='MpServer', x=246.91, y=19.00, z=349.63], EntitySpider['Spider'/293, l='MpServer', x=247.28, y=24.00, z=362.28], EntityZombie['Zombie'/302, l='MpServer', x=254.59, y=31.00, z=344.00], EntityRabbit['Rabbit'/105, l='MpServer', x=111.38, y=70.00, z=287.16], EntitySheep['Sheep'/113, l='MpServer', x=109.69, y=67.00, z=329.75], EntityRabbit['Rabbit'/114, l='MpServer', x=114.52, y=67.27, z=331.05], EntityPlayerSP['Player688'/351, l='MpServer', x=187.67, y=63.00, z=289.42], EntitySheep['Sheep'/124, l='MpServer', x=123.84, y=67.00, z=242.03], EntitySheep['Sheep'/125, l='MpServer', x=128.05, y=70.00, z=255.53], EntitySheep['Sheep'/126, l='MpServer', x=114.72, y=70.00, z=291.50], EntitySheep['Sheep'/127, l='MpServer', x=114.16, y=69.00, z=310.06], EntitySheep['Sheep'/128, l='MpServer', x=127.24, y=68.00, z=308.03], EntitySheep['Sheep'/129, l='MpServer', x=115.25, y=67.00, z=317.63], EntitySheep['Sheep'/130, l='MpServer', x=112.08, y=67.00, z=326.00], EntitySheep['Sheep'/131, l='MpServer', x=127.13, y=67.00, z=320.13], EntitySheep['Sheep'/132, l='MpServer', x=118.94, y=67.00, z=330.97], EntityRabbit['Rabbit'/133, l='MpServer', x=116.06, y=68.00, z=333.94], EntitySheep['Sheep'/134, l='MpServer', x=121.81, y=63.00, z=350.69], EntitySheep['Sheep'/135, l='MpServer', x=114.88, y=69.00, z=355.44], EntitySheep['Sheep'/146, l='MpServer', x=130.84, y=65.00, z=218.81], EntitySheep['Sheep'/147, l='MpServer', x=135.06, y=65.00, z=218.66], EntityZombie['Zombie'/148, l='MpServer', x=135.50, y=47.00, z=231.50], EntityCreeper['Creeper'/149, l='MpServer', x=134.50, y=47.00, z=233.50], EntityCreeper['Creeper'/150, l='MpServer', x=134.50, y=47.00, z=232.50], EntitySheep['Sheep'/151, l='MpServer', x=139.34, y=71.00, z=279.19], EntitySheep['Sheep'/152, l='MpServer', x=129.50, y=72.00, z=285.84], EntitySheep['Sheep'/153, l='MpServer', x=141.88, y=70.00, z=281.19], EntitySheep['Sheep'/154, l='MpServer', x=131.53, y=71.00, z=303.63], EntityRabbit['Rabbit'/155, l='MpServer', x=136.88, y=71.00, z=315.38], EntityRabbit['Rabbit'/156, l='MpServer', x=139.84, y=70.00, z=327.44], EntitySheep['Sheep'/157, l='MpServer', x=137.25, y=68.00, z=320.47], EntityZombie['Zombie'/165, l='MpServer', x=150.13, y=13.00, z=226.41], EntityZombie['Zombie'/166, l='MpServer', x=156.03, y=12.00, z=247.53], EntityBat['Bat'/167, l='MpServer', x=148.88, y=15.10, z=256.59], EntitySheep['Sheep'/168, l='MpServer', x=147.81, y=68.00, z=292.63], EntityRabbit['Rabbit'/169, l='MpServer', x=151.59, y=67.00, z=314.66], EntityRabbit['Rabbit'/170, l='MpServer', x=149.56, y=66.00, z=306.00], EntityRabbit['Rabbit'/171, l='MpServer', x=160.28, y=63.00, z=324.53], EntitySheep['Sheep'/172, l='MpServer', x=143.44, y=69.57, z=303.57], EntityZombie['Zombie'/178, l='MpServer', x=172.59, y=13.00, z=229.56], EntityZombie['Zombie'/179, l='MpServer', x=175.63, y=26.00, z=237.59], EntityZombie['Zombie'/180, l='MpServer', x=175.50, y=27.00, z=229.50], EntityZombie['Zombie'/181, l='MpServer', x=160.69, y=13.00, z=240.28], EntityEnderman['Enderman'/182, l='MpServer', x=174.81, y=13.00, z=282.28], EntityZombie['Zombie'/183, l='MpServer', x=173.44, y=15.00, z=279.03], EntityZombie['Zombie'/184, l='MpServer', x=157.56, y=19.00, z=313.77], EntitySpider['Spider'/185, l='MpServer', x=174.69, y=23.00, z=320.28], EntityRabbit['Rabbit'/186, l='MpServer', x=161.47, y=67.00, z=324.00], EntityZombie['Zombie'/194, l='MpServer', x=183.56, y=12.00, z=217.56], EntitySkeleton['Skeleton'/195, l='MpServer', x=175.64, y=12.37, z=282.53], EntityZombie['Zombie'/196, l='MpServer', x=189.19, y=11.00, z=296.19], EntityZombie['Zombie'/209, l='MpServer', x=195.93, y=34.00, z=230.28], EntityBat['Bat'/210, l='MpServer', x=205.47, y=34.10, z=232.16], EntityBat['Bat'/211, l='MpServer', x=204.53, y=35.10, z=228.25], EntityZombie['Zombie'/212, l='MpServer', x=196.53, y=34.00, z=232.25], EntitySkeleton['Skeleton'/213, l='MpServer', x=203.50, y=34.00, z=233.09], EntitySpider['Spider'/214, l='MpServer', x=199.69, y=37.97, z=231.41], EntitySkeleton['Skeleton'/215, l='MpServer', x=195.06, y=34.00, z=229.53], EntitySkeleton['Skeleton'/216, l='MpServer', x=196.41, y=34.00, z=233.06], EntityZombie['Zombie'/217, l='MpServer', x=199.28, y=37.47, z=230.16], EntityBat['Bat'/218, l='MpServer', x=200.38, y=35.10, z=231.25], EntitySkeleton['Skeleton'/219, l='MpServer', x=192.41, y=34.00, z=230.09], EntitySkeleton['Skeleton'/220, l='MpServer', x=205.88, y=34.00, z=246.50], EntityZombie['Zombie'/221, l='MpServer', x=199.88, y=30.00, z=275.53], EntityBat['Bat'/222, l='MpServer', x=206.54, y=47.80, z=272.52], EntityCreeper['Creeper'/223, l='MpServer', x=205.47, y=47.85, z=277.59], EntitySkeleton['Skeleton'/224, l='MpServer', x=193.50, y=13.00, z=309.09], EntityCreeper['Creeper'/225, l='MpServer', x=194.47, y=11.00, z=310.15], EntitySkeleton['Skeleton'/226, l='MpServer', x=194.28, y=12.00, z=306.72], EntityCreeper['Creeper'/227, l='MpServer', x=197.81, y=20.00, z=339.13], EntityCreeper['Creeper'/228, l='MpServer', x=200.72, y=20.00, z=334.00], EntitySheep['Sheep'/236, l='MpServer', x=223.81, y=64.00, z=220.84], EntityCreeper['Creeper'/237, l='MpServer', x=203.90, y=33.00, z=231.40], EntityCreeper['Creeper'/238, l='MpServer', x=214.53, y=32.00, z=231.94], EntityZombie['Zombie'/239, l='MpServer', x=209.75, y=32.00, z=230.69], EntityZombie['Zombie'/240, l='MpServer', x=210.28, y=32.00, z=231.69], EntityBat['Bat'/241, l='MpServer', x=215.09, y=34.10, z=238.44], EntityCreeper['Creeper'/242, l='MpServer', x=223.28, y=41.00, z=231.75], EntityRabbit['Rabbit'/243, l='MpServer', x=217.78, y=63.00, z=228.47], EntityZombie['Zombie'/244, l='MpServer', x=216.59, y=31.00, z=249.00], EntityBat['Bat'/245, l='MpServer', x=225.14, y=34.91, z=269.63], EntityBat['Bat'/246, l='MpServer', x=212.33, y=31.00, z=273.23], EntityBat['Bat'/247, l='MpServer', x=216.79, y=31.91, z=272.25], EntityCreeper['Creeper'/248, l='MpServer', x=219.50, y=47.00, z=289.50], EntityBat['Bat'/249, l='MpServer', x=221.83, y=23.30, z=354.41], EntityZombie['Zombie'/250, l='MpServer', x=220.50, y=20.02, z=359.63]]
      Retry entities: 0 total; []
      Server brand: fml,forge
      Server type: Integrated singleplayer server
  Stacktrace:
      at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392)
      at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614)
      at net.minecraft.client.Minecraft.run(Minecraft.java:405)
      at net.minecraft.client.main.Main.main(Main.java:117)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
      at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
      at GradleStart.main(Unknown Source)
  
  -- System Details --
  Details:
      Minecraft Version: 1.8
      Operating System: Windows 7 (amd64) version 6.1
      Java Version: 1.8.0_31, Oracle Corporation
      Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
      Memory: 719890400 bytes (686 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
      JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
      IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
      FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.4.1563 4 mods loaded, 4 mods active
      States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
      UCHIJAAAA   mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
      UCHIJAAAA   FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.4.1563.jar) 
      UCHIJAAAA   Forge{11.14.4.1563} [Minecraft Forge] (forgeSrc-1.8-11.14.4.1563.jar) 
      UCHIJAAAA   ms{1.0} [More Stuff] (bin) 
      Loaded coremods (and transformers): 
      GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 358.91' Renderer: 'GeForce GTX 560 Ti/PCIe/SSE2'
      Launched Version: 1.8
      LWJGL: 2.9.1
      OpenGL: GeForce GTX 560 Ti/PCIe/SSE2 GL version 4.5.0 NVIDIA 358.91, NVIDIA Corporation
      GL Caps: Using GL 1.3 multitexturing.
  Using GL 1.3 texture combiners.
  Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
  Shaders are available because OpenGL 2.1 is supported.
  VBOs are available because OpenGL 1.5 is supported.
  
      Using VBOs: No
      Is Modded: Definitely; Client brand changed to 'fml,forge'
      Type: Client (map_client.txt)
      Resource Packs: []
      Current Language: English (US)
      Profiler Position: N/A (disabled)
  </code></pre>
  
  <p>I know minecraft searches for the blockstates of cabin. I created the blockstates minecraft wants in cabin.json:</p>
  
  <pre><code>{
      "variants": {
          "facing=east": { "model": "ms:cabin" },
          "facing=south": { "model": "ms:cabin", "y": 90 },
          "facing=west": { "model": "ms:cabin", "y": 180 },
          "facing=north": { "model": "ms:cabin", "y": 270 },
          "normal": { "model": "ms:cabin" }
      }
  }
  </code></pre>
  
  <p>The cabin.json blockstate is in assets/ms/blockstates.</p>
  
  <p>What did I do wrong?</p>