@Override public @Nonnull TileEntity createTileEntity(@Nonnull World world, @Nonnull IBlockState state) { if (teClass != null) { try { T te = teClass.newInstance(); te.setWorldCreate(world); te.init(); return te; } catch (Exception e) { throw new RuntimeException("Could not create tile entity for block " + getLocalizedName() + " for class " + teClass, e); } } throw new RuntimeException( "Cannot create a TileEntity for a block that doesn't have a TileEntity. This is not a problem with EnderCore, this is caused by the caller."); }